Trends & Insights
[딥링크101] 마케터와 개발자를 위한 딥링크 시작하기
August 17, 2022
By
Minah Lee

‘링크’라고 하면, 아래 이미지와 같은 URL을 떠올리게 됩니다.

링크를 클릭하면 연결된 웹사이트로 이동하죠. 모바일에서 ‘딥링크'도 마찬가지입니다.

딥링크란 모바일 환경에 놓인 유저가 웹사이트 혹은 다른 앱에서 URL을 클릭했을 때, 앱을 실행시키고 특정 페이지로 이동하도록 돕는 기술입니다. 다시 말해, 유저가 광고를 클릭했을 때 앱을 열어 특정 페이지로 바로 도달하도록 만들어 줍니다. 유저가 하나의 링크를 클릭하는 것만으로도 앱 내부 콘텐츠를 바로 확인할 수 있죠. 이는 모바일 앱 마케팅을 할 때 반드시 필요한 기술로, 유저 경험을 최적화하여 전환율 및 리텐션을 높일 수 있습니다.

하지만, 딥링크 기술은 계속해서 변화하고 있으며, 유저가 딥링크를 호출하는 환경 및 방법에 따라 때때로 잘 구현되지 않는다는 문제가 발생하기도 합니다. 전환율 및 유저 리텐션에 중요한 영향을 미치는 딥링크, 어떻게 하면 문제없이 구현할 수 있을까요? 그 시작점으로서, 이번 포스트에서는 딥링크의 역할, 그리고 URI Scheme 딥링크 및 Universal Links / App Links에 대해 알아보겠습니다.

딥링크에 대한 더 자세한 내용이 궁금하시다면, <에어브릿지 핸드북 - 딥링크> 가이드를 확인해보세요.

딥링크가 필요한 이유

앱 마케팅을 하고 있다면, 딥링크의 중요성과 필요성에 대해 아무리 강조해도 모자라지 않습니다. 아래는 에어브릿지(Airbridge) 고객사인 펫프렌즈의 딥링크 사용 예시입니다.

  • 웹페이지(Safari)에서 ‘APP 설치하기’를 눌렀을 때 앱이 설치되어 있는 경우, 우측과 같이 바로 앱이 오픈되며,
  • 웹페이지(Safari)에서 ‘APP 설치하기’를 눌렀을 때 앱이 설치되어 있지 않은 경우, 좌측과 같이 앱 마켓(App Store)의 상세 페이지로 연결됩니다.
  • Youtube에서 딥링크를 눌렀을 때 앱이 설치되어 있는 경우, ‘펫프렌즈’(앱)에서 열겠습니까?라는 프롬프트(Prompt)가 뜬 후, ‘열기’를 누르면 앱으로 바로 연결됩니다.
  • Youtube에서 딥링크를 눌렀을 때 앱이 설치되어 있지 않은 경우, 앱 마켓(App Store)의 상세 페이지로 연결됩니다.

유저가 웹에서 딥링크를 클릭했을 때 앱이 이미 설치되어 있음에도 앱 마켓으로만 연결된다거나, 특정 상품 광고를 클릭하여 앱이 열렸을 때 상품 페이지가 아닌 메인 화면으로만 연결된다면 유저는 이탈해버릴 겁니다. 어렵게 획득한 유저를 붙잡기 위해서는 제대로 된 목적지로 보내주는 ‘딥링크’가 반드시 필요합니다. 딥링크는 매끄러운 유저 경험을 제공하여 전환율과 리텐션을 높여줄 수 있죠. 웹과 앱 간의 모든 파편화된 여정에 있어서 유저가 훨씬 쉽게 이동할 수 있도록 만들어 줍니다.

딥링크의 세 가지 유형

이처럼 앱 마케팅에서 중요한 역할을 하는 딥링크에는 URI Scheme, Universal Links, App Links의 세 가지 표준 기술 유형이 있습니다. 모두 유저를 앱 내 특정 페이지로 이동시키는 딥링크 기능을 수행하긴 하지만, 딥링크 설정 방식 및 개발 주체에 따라 구분하고 있습니다. 즉, 전통적인 딥링크 방식(URI Scheme), 그리고 이 방식의 한계를 보완하기 위해 iOS(Universal Links)Android(App Links) 각각에서 제시한 해결책입니다. 이처럼 다양한 유형의 딥링크로 인해 앱 개발자는 물론 딥링크를 사용하고 싶은 마케터들에게도 혼란을 불러일으키곤 합니다. 딥링크를 제대로 사용하려면 딥링크의 유형 및 작동 방식에 대해 먼저 이해하는 과정이 필요합니다.

1) URI Scheme(스킴 딥링크)란?

URI Scheme은 딥링크의 가장 초기 형태로, 가장 일반적으로 사용되는 딥링크 방식이라고 할 수 있습니다. 앱을 개발하는 주체가 각 앱 내 특정 페이지마다 고유한 주소(링크)를 자유롭게 설정하여, 해당 주소(링크)를 클릭하면 앱이 열리고 특정 페이지가 열리는 형태입니다. 인터넷에서 흔히 사용하는 URL 주소처럼 링크를 클릭하면 특정 웹사이트가 열린다고 생각하면 쉽습니다. 이때 URL은 대개 http:// 혹은 https:// 로 시작된다면, URI Scheme은 각 모바일 앱에서 지정한 Scheme 값으로 시작합니다.

[참고]

  • URI(Uniform Resource Identifier, 통합 자원 식별자): 리소스(resource, 자원)을 식별하는 문자열을 의미합니다. URI의 하위 개념으로 URN과 URL이 있습니다.
  • URL(Uniform Resource Locator): 인터넷에서 웹 페이지, 이미지, 비디오 등 리소스의 위치를 가리키는 문자열입니다.

더 이해를 돕고자, URI Scheme의 예시 링크를 통해 살펴보겠습니다.

여기서 airbridge:// 부분이 Scheme(혹은 프로토콜)입니다. 모바일 앱은 자신만의 Scheme 값을 등록할 수 있으며, 이를 통해 앱을 구분합니다. 앱 개발자가 우리 앱에 이 Scheme을 쓸 것이라고 결정하는 겁니다.

이어서, 특정 페이지에 도달하도록 만들기 위한 path인 page/ko, parameter(파라미터 / 쿼리스트링)인 ?product=1, 그리고 리소스 자체의 다른 부분을 가리키는 앵커(북마크)인 #content로 구성되어 있습니다. (MDN에서 URL 구문 더 알아보기)

  • Scheme 값: 앱 개발자가 정한 값으로 앱을 구분
  • Path: 앱 내 특정 페이지를 지정

URI Scheme의 한계와 Universal Links 및 App Links의 탄생

이러한 URI Scheme 방식의 딥링크는 앱 개발자가 쉽게 등록하고 설정할 수 있기 때문에 널리 사용되었습니다. 다만, 점차 앱의 수가 증가하면서 소유권을 증명할 수 없다는 문제로 인해, Scheme 값이 중복되는 경우가 발생하게 되었습니다. 앱 개발자가 자신만의 Scheme 값을 자유롭게 설정할 수 있기 때문에 고유(unique)한 URI를 점유하기 어려워진 겁니다. 예를 들어, 2개의 앱이 중복된 Scheme을 가질 경우, 둘 중 하나의 딥링크는 하이재킹되어 유실될 수 있습니다. path 등까지 모두 동일한 주소를 사용한다면, Android의 경우 딥링크로 오픈할 앱 선택창이 노출되고, iOS는 가장 마지막에 설치한 앱이 자동으로 열립니다.

각 앱들이 Scheme 값을 공개적으로 드러내지 않기 때문에, 각 개발자들은 자신의 Scheme 값이 고유한지 확인할 수 있는 방법은 없는 상황입니다. 이러한 문제점에 대해, 애플과 구글 각각에서 해결 방안을 내놓은 것이 Universal Links(iOS 제공)와 App Links(Android 제공)입니다.

2) Universal Links(유니버셜 링크) & App Links(앱 링크)란?

Universal Links와 App Links는 각각 iOS와 Android에서 제공되는 딥링크 형태로, OS에 앱에 대한 도메인 주소를 등록함으로써 소유권을 증명하는 겁니다.

도메인(Domain)은 각 웹사이트마다 가지고 있는 고유한 인터넷 주소로, http://www.airbridge.io/ko 라는 주소가 있다면, 이 중, www.airbridge.io 부분이 도메인입니다. 특정 도메인은 유니크하고, 도메인 소유자만이 관리할 수 있기 때문에 소유권이 증명되며 보장됩니다.

앱 빌드 시 앱을 열 도메인을 등록하고, 보안을 위해 등록한 도메인의 특정 경로에 인증 텍스트를 심어 놓습니다. 그러면 앱이 설치된 후 OS 레벨에서 해당 도메인 경로의 인증 텍스트와 앱 빌드 시의 값이 동일한지 검증하여 소유권을 인지하게 됩니다. 일단 검증이 완료된 후에는 앱을 삭제하기 전까지 해당 검증은 유효합니다.

검증된 도메인으로 생성된 딥링크 클릭 시,

  • 앱이 설치된 경우에는 앱 및 특정 페이지가 바로 열리고
  • (앱이 설치되어 있지 않아) 딥링크 실패 시에는, 해당 도메인의 웹페이지로 이동합니다. 이때, 해당 도메인을 관리하는 개발자의 구현에 따라서 웹페이지에서 다양한 Fallback이 가능하기 때문에, 웹사이트 혹은 앱 마켓으로 보내는 것도 가능합니다.

Universal Links 및 App Links의 예시 링크는 아래와 같습니다.

Android 및 iOS 딥링크 설정 방법

세 가지 딥링크 유형에 대해 이해했다면, 다음은 OS별로, URI Scheme 및 App Links(Android), Universal Links(iOS)를 설정하는 방법을 알아보겠습니다.

Android에서 딥링크 설정하기

Androidmanifest.xml 파일 내에서 앱 내 각 Activity 마다 해당 Activity를 열 수 있는 딥링크를 설정합니다. 이때, 각각의 Activity를 설정하기보다는, 비어있는 하나의 Activity에서 여러 경로의 딥링크가 열리도록 구현해 놓은 후, 그 Activity의 화면에서 딥링크 URL 값에 따라 각각의 Activity로 이동시키도록 구현하는 경우가 많습니다.

Androidmanifest.xml 파일 내에는 앱 정보(패키지명, 버전 코드 등), 앱에서 사용할 권한, 앱에서 사용되는 컴포넌트(Activity, Service, BroadcastReceiver, ContentProvider)가 포함됩니다.

URI Scheme 및 App Links를 설정할 때는, 상단의 이미지와 같이, AndroidManifest.xml > activity > intent-filter 내에 해당 Activity를 열도록 허용할 Scheme 또는 Host 등을 등록합니다.

iOS에서 딥링크 설정하기

iOS에서는 하나의 화면으로 딥링크가 열리도록 설정하고, 이후 해당 화면에서 각각의 상세 페이지로 이동하도록 구현하는 방법만 지원합니다.

URI Scheme을 설정할 때는, 아래 이미지와 같이 Xcode > Project 파일 > Info > URL Types에서 iOS URI Scheme을 입력합니다.

Universal Links의 경우, 아래의 이미지와 같이, Xcode > Project 파일 > Signing & Capabilities 로 이동 후 + Capability 를 눌러 Associated Domains 에 Universal Links로 설정하고 싶은 도메인을 추가하면 됩니다.

딥링크를 앱 마케팅을 위해 사용할 때 유의해야 할 부분

이렇게 소유권이 보장된 딥링크라고 하더라도, 앱 마케터가 원하는 완전한 형태의 딥링크라고는 할 수 없습니다. 딥링크를 앱 마케팅을 위해 사용할 때는 URI Scheme 및 Universal Links, App Links를 앱 및 브라우저 별로 다르게 설정해두어야 한다는 점을 유의해야 합니다.

Universal Links 및 App Links의 경우, 각각의 OS에서 제공하는 딥링크 형태이기 때문에, 각 OS의 브라우저인 Safari(iOS) 및 Chrome(Android)에서는 딥링크가 잘 동작할 수 있도록 설정되어 있습니다. Safari의 경우, URI Scheme의 동작은 제한되어 있기도 합니다.

그리고 이외의 앱 및 브라우저는, URI Scheme 만 동작하는 경우도 있고 혹은 Universal Links 및 App Links가 동작하긴 하더라도 한계를 가진 경우도 있습니다. 이는 각 앱 및 브라우저의 개발자가 OS 레벨에서 지원하는 API를 통해 얼마나 적절하게 구현해 놓는가에 따라 달라지기 때문입니다. 세 유형의 딥링크들의 대표적인 앱 및 브라우저에서 상황에 따른 동작 여부는 아래의 표에서 간단하게 확인할 수 있습니다.

아래의 표는 Universal links 및 App Links(https://www.airbridge.io) 또는 URI scheme(airbridge://)을 사용하여 딥링크를 동작시켰다고 가정하고 우리나라에서 주로 사용하는 앱 또는 브라우저들에서 어떤 동작이 발생하는지 정리하였습니다. 이때, Universal Links 혹은 App Links를 사용함에도 웹으로 랜딩이 된다는 것은 제대로 딥링크 기능이 작동하지 않았다는 것을 의미합니다.

또한, Universal Links의 경우 아래와 같은 상황도 염두해야 합니다.

  • Universal Links는 주소 입력창에 링크를 직접 복사 붙여 넣기 할 경우 작동하지 않습니다.
  • Universal Links는 JavaScript로 트리거 될 경우 리다이렉트가 되지 않습니다.
  • Universal Links는 openUrl과 같이 앱 내에서 프로그래밍 방식으로 링크를 열 경우, 작동하지 않습니다.

이처럼 각 앱 및 브라우저마다 구현할 수 있는 딥링크의 유형 및 조건이 다르기 때문에, 각 유형별 딥링크가 앱을 열 수 있도록 각 앱 및 브라우저마다 다른 딥링크를 적용하도록 설정을 살펴보고 테스트 해야하는 번거로움이 발생합니다. 초기 형태의 딥링크 방식인 URI Scheme을 사용하고 싶지 않더라도, 각 앱 및 브라우저의 설정에 따라 반드시 사용해야 하는 경우가 발생할 수도 있죠.

이외에도, URI Scheme의 경우, 앱이 설치되어 있지 않을 때, 다른 곳으로 이동(Fallback)이 불가능하다는 점도 염두해야 합니다. 즉, 아무런 작동이 발생하지 않습니다.

👉 URI Scheme 딥링크를 매끄럽게 사용할 수 있는 방법은, [딥링크101] iOS Safari에서 딥링크 동작 시 경고 문구가 뜨는 이유가 무엇일까요? 포스트에서 확인해보세요!

앱 마케팅을 할 때는 앱 다운로드를 통한 유저의 유입 및 유저 획득이 중요한데, 웹사이트로 랜딩 된 유저 혹은 딥링크가 작동하지 않은 유저는 이탈할 가능성이 높아지게 됩니다.

앱 마케팅에 딥링크를 문제없이 사용할 수 있는 방법

그렇다면, 어떻게 하면 앱 마케팅에 딥링크를 문제 없이 사용할 수 있을까요?

우선, 세 가지 유형의 딥링크에 대한 이해를 바탕으로 딥링크를 제대로 설정하는 것부터 시작해야 합니다. 앱에 도착한 유저를 앱 내 특정 페이지로 랜딩시키는 것은 앱의 역할이기 때문에, 딥링크 자체는 앱에서 반드시 먼저 설정되어야 합니다.

그러고 나서, 앞서 언급한 딥링크를 활용할 때 유의해야할 점은 에어브릿지와 같은 어트리뷰션 툴/MMP의 트래킹 링크를 활용하여 해결하는 겁니다. 어트리뷰션을 위한 터치포인트 데이터를 수집하는 트래킹 링크에 딥링크를 설정하는 방식으로, 트래킹 링크를 고도화하여 사용할 수 있습니다.

구체적으로는 1) 유저가 어떤 환경 및 방법으로 딥링크를 호출하였는지 등에 따라서 작동 여부 및 흐름이 달라질 수 있다는 문제를 해결할 수 있습니다. 다양한 상황을 모두 테스트하거나 설정을 변경하는 등의 과정 없이, 유저를 앱까지 잘 도착하도록 만들 수 있습니다.

2) 또한, 앱이 설치되지 않았을 때 OS(Android, iOS) 및 Desktop에 따라 Fallback을 각각 다르게 설정하는 과정도 MMP의 대시보드 상에서 쉽게 가능합니다. URI Scheme만 사용할 경우엔 앱이 설치되지 않은 경우 다른 곳으로 이동(Fallback)이 불가하다는 문제도, 트래킹 링크를 통해 해결할 수 있습니다.

에어브릿지에서 트래킹 링크를 생성할 때 Fallback Path를 설정할 수 있는 화면

3) 게다가 앱이 설치되지 않은 유저가 앱을 설치한 후 앱을 실행할 때까지 딥링크를 지연시키는 디퍼드 딥링크(Deferred Deep Linking, 지연된 딥링크) 기술은 Android OS 레벨 및 MMP레벨에서만 지원하기 때문에 이 기능을 활용하기 위해서는 MMP가 필요하죠.

다만, 이때 앱에 도착한 유저를 앱 내 특정 페이지로 랜딩 시키는 것은 앱의 역할이라는 점은 반드시 염두 해야 합니다. 에어브릿지와 같은 MMP는 앱에 설정된 딥링크의 설정값을 받아서 실행하는 역할을 수행할 뿐이기 때문에, 딥링크 자체는 앱에서 반드시 먼저 설정되어야 합니다.

유저를 앱 내 특정 페이지로 부드럽게 연결시키는 딥링크 기술. 에어브릿지를 통해 유저 여정을 더 완벽하게 만들어보세요!

* 다른 딥링크101 시리즈 보러가기
👉[딥링크101] iOS Safari에서 딥링크 동작 시 경고 문구가 뜨는 이유가 무엇일까요?
👉[딥링크101] 디퍼드 딥링크로 앱을 설치하지 않은 유저도 앱 내 특정 페이지로 연결하기
전세계 마케터와 함께 하세요
에어브릿지가 전하는 최신 팁과 트렌드를 만나보세요.
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
Was the article about deep linking informative?
Check out our all-in-one package that fits every stage of your growth.
Minah Lee
Product Marketing Part Lead
프로덕트 마케팅 파트 리드로서 콘텐츠를 제작하고 다양한 마케팅 캠페인을 기획합니다. 팀, 고객 및 파트너의 성장을 위해 협력하고 있습니다.
전세계 마케터와 함께 하세요
에어브릿지가 전하는 최신 팁과 트렌드를 가장 먼저 만나보세요.
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

모바일 앱 성장의 시작

데이터 수집부터 광고 채널 성과 측정, 분석까지
에어브릿지에서 빠르고 정확하게
전세계 마케터 2만명과 함께하세요.
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.