앱 딥링크 vs 유니버설 링크, 실무에서 뭐가 다를까
- 딥링크는 앱이 없으면 에러 화면이 뜨지만 유니버설 링크는 웹페이지로 자동 전환됩니다
- iOS는 apple-app-site-association, 안드로이드는 assetlinks.json 파일로 도메인 소유권을 검증합니다
- 광고 클릭 후 앱 설치 유도 시에는 디퍼드 딥링크와 MMP 연동 설정이 함께 필요합니다
- 설정 파일 서빙 위치나 서명 해시가 하나만 틀려도 링크가 조용히 실패할 수 있습니다
딥링크와 유니버설 링크, 핵심 차이는 ‘실패했을 때의 동작’

앱 딥링크(Deep Link)와 유니버설 링크(Universal Link)는 둘 다 링크를 눌렀을 때 앱의 특정 화면으로 바로 이동시키는 기술이지만, 결정적인 차이는 대상 앱이 기기에 설치돼 있지 않을 때 무슨 일이 벌어지는가에 있습니다. 딥링크는 커스텀 스킴(예: myapp://product/123)을 쓰기 때문에 앱이 없으면 아무 반응이 없거나 ‘페이지를 열 수 없음’ 에러가 뜹니다. 반면 유니버설 링크(iOS)와 안드로이드의 앱 링크(App Link)는 일반 https 주소 형태라서 앱이 없으면 자동으로 같은 주소의 웹페이지로 넘어갑니다.
마케터·퍼포먼스 담당자 입장에서는 이 차이가 곧 광고 클릭률과 전환율의 차이로 이어집니다. 미설치 사용자에게 에러 화면을 보여주는 딥링크만 쓰면 광고비를 태운 클릭이 그대로 이탈로 끝나지만, 유니버설 링크·앱 링크는 앱이 없어도 웹에서 구매·가입을 이어갈 수 있는 폴백(fallback) 경로를 제공합니다.
딥링크(Deep Link)란 무엇인가
커스텀 URL 스킴 방식
전통적 딥링크는 myapp://처럼 앱이 직접 등록한 임의의 스킴을 사용합니다. 운영체제는 이 스킴을 어떤 앱이 처리할지 앱 설치 시점에 등록해두고, 사용자가 링크를 누르면 등록된 앱을 실행합니다. 구현이 간단하고 안드로이드·iOS 초기 버전부터 지원돼 지금도 앱 내부 화면 이동(푸시 알림 클릭, 인앱 이벤트)에 널리 쓰입니다.
딥링크의 한계
문제는 두 가지입니다. 첫째, 동일한 스킴을 여러 앱이 임의로 등록할 수 있어 스킴 충돌이 발생할 수 있습니다. 둘째, 웹 브라우저나 카카오톡 인앱 브라우저 등에서는 보안 정책상 커스텀 스킴 링크 실행 자체를 차단하는 경우가 있어, 실제 마케팅 채널(SNS, 메신저)에서 클릭률이 예상보다 낮게 나오는 원인이 되기도 합니다.
딥링크는 앱 미설치 시 별도 처리를 앱 개발자가 직접 넣지 않는 한 사용자가 그냥 에러 화면을 보게 됩니다 — 광고 랜딩용으로 단독 사용하면 미설치 사용자 이탈률이 높아집니다.
유니버설 링크·앱 링크란 무엇인가

iOS 유니버설 링크 – apple-app-site-association
iOS의 유니버설 링크는 실제 도메인(https://example.com/product/123)을 그대로 앱 딥링크 주소로 씁니다. 이게 가능한 이유는 해당 도메인 루트에 apple-app-site-association(AASA) 파일을 올려두고, 그 안에 앱의 Team ID와 Bundle ID를 명시해 “이 도메인은 이 앱의 것”이라는 소유권을 iOS가 서버 사이드에서 확인하기 때문입니다. 앱이 설치돼 있으면 앱으로, 없으면 그 주소의 웹페이지로 자연스럽게 열립니다.
안드로이드 앱 링크 – assetlinks.json
안드로이드는 같은 개념을 앱 링크(App Link)라고 부릅니다. 도메인의 /.well-known/assetlinks.json 경로에 앱 서명 인증서의 SHA-256 해시를 등록해두면, 안드로이드가 설치 시점에 이 파일을 확인해 도메인과 앱을 자동으로 연결합니다. 검증에 성공하면 해당 도메인 링크를 누를 때 크롬 등 브라우저를 거치지 않고 바로 앱이 열립니다.
iOS AASA 파일과 안드로이드 assetlinks.json은 반드시 HTTPS로, 리다이렉트 없이, 루트 도메인의 정해진 경로에 그대로 서빙돼야 합니다. 서명 해시나 Bundle ID 오타 하나만 있어도 검증이 조용히 실패하고 링크는 그냥 일반 웹링크처럼 동작합니다.
한눈에 보는 비교표
| 구분 | 딥링크 | 유니버설 링크 / 앱 링크 |
|---|---|---|
| 주소 형태 | 커스텀 스킴(myapp://) | 일반 https 주소 |
| 앱 미설치 시 | 에러 화면 또는 무반응 | 동일 주소의 웹페이지로 자동 폴백 |
| 설정 파일 | 불필요(앱 내부 등록만) | AASA(iOS) / assetlinks.json(안드로이드) |
| 도메인 소유권 검증 | 없음(스킴 충돌 가능) | 서버 사이드 검증으로 충돌 방지 |
| 인앱 브라우저 호환성 | 차단되는 경우 있음 | 일반 링크라 호환성 높음 |
마테크 실무에서 왜 중요한가

디퍼드 딥링크(Deferred Deep Link)
광고를 클릭한 사용자가 앱이 없어 스토어에서 설치한 뒤 처음 앱을 열었을 때도, 원래 보려던 상품 페이지로 바로 이동시키는 기술을 디퍼드 딥링크라고 합니다. 이는 링크 자체의 기능이 아니라 MMP(Mobile Measurement Partner, 모바일 측정 파트너 — 앱 설치·행동을 추적해 어느 광고에서 유입됐는지 매칭해주는 서드파티 솔루션)가 클릭 시점의 정보를 기기 지문이나 SDK 값으로 저장해뒀다가 설치 후 매칭해주는 방식으로 구현됩니다. 딥링크·유니버설 링크는 이 매칭이 끝난 뒤 실제 화면 이동을 담당하는 역할입니다.
MMP 연동 시 체크포인트
광고 캠페인에서 딥링크를 쓸 때는 아래 요소가 함께 맞아야 정상 동작합니다.
- MMP가 발급한 트래킹 링크가 유니버설 링크/앱 링크 도메인과 연결돼 있는지
- iOS·안드로이드 양쪽 설정 파일이 모두 최신 앱 버전의 서명 정보로 갱신됐는지
- 디퍼드 딥링크 파라미터(어떤 상품·화면으로 보낼지)가 광고 소재별로 정확히 매핑됐는지
- 웹 폴백 페이지가 실제로 구매·가입까지 이어지는 정상 페이지인지(단순 다운로드 유도 페이지로만 방치하지 않았는지)
구현 시 흔한 실수와 주의사항
실무에서 반복적으로 발생하는 문제는 대부분 링크 기술 자체가 아니라 설정 파일 배포와 갱신 과정에서 생깁니다.
- CDN이나 서버 설정에서 AASA·assetlinks.json 파일에 리다이렉트가 걸려 있으면 검증이 실패합니다.
- 앱 서명 키를 교체(키스토어 변경, 스토어 서명 전환 등)했는데 assetlinks.json의 해시값을 갱신하지 않으면 링크가 브라우저로만 열립니다.
- iOS는 앱을 재설치하거나 며칠 지나야 AASA 캐시가 갱신되는 경우가 있어, 설정을 바꾼 직후 테스트에서는 정상으로 보여도 실제 신규 사용자 환경과 다를 수 있습니다.
- 카카오톡·인스타그램 등 인앱 브라우저 환경은 플랫폼별로 유니버설 링크 처리 방식이 달라, 실제 소재 발행 전 각 채널에서 클릭 테스트를 별도로 해야 합니다.
결국 이런 실패는 대부분 링크 기술 자체가 아니라 설정 파일의 배포·갱신 과정에서 비롯되므로, 서명 키를 교체하거나 설정 파일을 수정할 때마다 iOS·안드로이드 양쪽에서 실제 신규 사용자 환경을 가정한 클릭 테스트를 거쳐 딥링크·유니버설 링크가 의도한 화면까지 정상적으로 연결되는지 확인하는 절차를 빼놓지 않아야 합니다.
자주 묻는 질문
Q. 유니버설 링크만 쓰면 딥링크는 아예 필요 없나요?
완전히 대체되진 않습니다. 앱 내부에서 화면 간 이동(푸시 알림 클릭, 딥링크 기반 인앱 라우팅)에는 여전히 커스텀 스킴 딥링크가 쓰이는 경우가 많고, 유니버설 링크는 주로 외부(광고, 문자, SNS)에서 앱으로 진입시키는 용도로 함께 운영됩니다.
Q. AASA 파일이나 assetlinks.json은 누가 관리하나요?
보통 서버·인프라 담당 개발자가 도메인에 파일을 배포하고, 앱 개발자가 Bundle ID·서명 해시 값을 제공합니다. 마케터 입장에서는 광고 트래킹 링크 도메인이 이 검증된 도메인과 일치하는지 확인하는 역할이 필요합니다.
Q. 링크가 웹으로만 열리고 앱으로 안 열릴 때 가장 먼저 확인할 것은?
설정 파일이 HTTPS로 리다이렉트 없이 정상 서빙되는지, 서명 해시나 Bundle ID가 최신 앱 버전과 일치하는지부터 확인하는 것이 순서입니다. 대부분의 실패 원인은 이 두 파일의 사소한 불일치입니다.
Q. 디퍼드 딥링크와 일반 유니버설 링크의 차이는 무엇인가요?
일반 유니버설 링크는 앱이 이미 설치된 사용자를 특정 화면으로 바로 보내는 기능이고, 디퍼드 딥링크는 앱이 없어서 스토어를 거쳐 새로 설치한 사용자에게도 원래 의도한 화면을 보여주는 기능입니다. 후자는 MMP SDK 연동이 있어야 동작합니다.
Q. 인앱 브라우저에서 유니버설 링크가 안 먹히는 경우도 있나요?
있습니다. 카카오톡, 일부 SNS 앱의 인앱 브라우저는 자체 정책으로 앱 전환을 제한하거나 별도 팝업을 띄우는 경우가 있어, 실제 광고 소재를 배포하기 전 각 채널에서 클릭 동작을 직접 테스트해보는 것이 안전합니다.
