들어가기 전에

본 가이드는 자체적으로 안드로이드 설치를 트래킹하거나 설치 유입경로를 분석해보고 싶은 개발자들에게 좋은 가이드입니다.

현재 구글은 referrer 방식으로 모바일에서 구글 플레이스토어를 통해 이뤄진 앱 설치에 대해서 웹에서 앱으로 파라미터를 전달받을 수 있도록 하고 있습니다. referrer 방식의 트래킹은 다른 방식의 트래킹에 비해서 정확도가 높다라는 장점을 가지고 있습니다. (이론상은 100%) 특히 이러한 방법 자체를 제공하지 않는 iOS에 비해서 referrer 방식은 신뢰할 수 있는 앱 설치 트래킹 방법이라는 특징을 가지고 있습니다.

다만 데스크탑 PC와 모바일 웹사이트의 구글 플레이스토어를 통한 설치에 대해서는 referrer 방식이 제공되지 않음을 유의해주시기 바랍니다. 마찬가지로 구글 플레이스토어를 거치지 않은 다른 안드로이드 앱스토어(아마존 앱스토어 등)를 통한 설치헤도 해당 방식이 적용되지 않습니다. (오로지 모바일 구글 플레이스토어 앱을 거친 설치만 트래킹됩니다.)

이 가이드를 따라가면 아래의 결과물을 가질 수 있습니다.

  1. 모바일 앱 구글플레이를 통한 안드로이드 설치를 트래킹할 수 있다. (설치 트래킹)
  2. 어디서 설치가 이뤄졌는지 트래킹할 수 있다. (유입경로 분석)
  3. 유입경로를 처음부터 잘 설계하여 자체 마케팅 캠페인을 전개할 수 있다. (자체 캠페인별 트래킹)

준비사항

실습할 수 있는 안드로이드 앱이 필요합니다.

아래의 가이드는 https://play.google.com/store/apps/details?id=your.package.name?referrer=testkey=testvalue와 같이 구글 플레이스토어의 your.package.name으로 이어주는 링크가 있다고 가정하고, 여기 뒤에 "referrer" 쿼리스트링의 키가 있고 그 값으로 "testkey=testvalue"가 넣었져있다고 가정하겠습니다. 그런 조건 하에서 사용자가 이 링크로 모바일 구글 플레이스토어에서 앱을 설치 시 "testkey=testvalue"의 값을 파라미터로서 앱에서 전달받을 수 있도록 개발하는 내용입니다.

1단계 : INSTALL_REFERRER intent receiver를 manifest 파일에 넣습니다.

<receiver android:name="com.mytrackingcompany.InstallReferrerReceiver" android:exported="true">  
  <intent-filter>
    <action android:name="com.android.vending.INSTALL_REFERRER" />
  </intent-filter>
</receiver>  

2단계 : InstallReferrerReceiveronReceive 매소드를 오버라이드 해서 referrer의 값을 받아옵니다.

@Override
public void onReceive(Context context, Intent intent) {  
  String referrer = intent.getStringExtra("referrer");
  // 여기서 받아온 referrer의 값을 서버로 송신하거나, 클라이언트에서 활용할 수 있습니다.
}

이렇게 간단한 두 가지 스텝만으로도 구글 플레이스토어로 향하는 주소값 쿼리스트링의 키인 "referrer"에 해당하는 값을 받아올 수 있습니다. 주의할 점은 referrer의 수신이 비동기적으로 이뤄진다는 것입니다. 즉, referrer의 수신 이후 특정 Intent를 보낸다면 이미 사용자가 다른 Activity를 보고 있는 와중일 수도 있습니다.

3단계 : adb를 활용하여 작동여부 테스트를 할 수 있습니다.

adb(Android Debug Bridge)를 통해서 실제로 구글 플레이스토어에 앱을 올리지 않고서도 작동 여부에 대한 테스트를 해볼 수 있습니다. adb는 에뮬레이터 인스턴스나 연결된 안드로이드 기기와 통신할 수 있도록 도와주는 다용도 CLI 툴입니다.

1) 테스트 시 앱이 작동하고 있지 않아야 합니다.

2) 그 상태에서 터미널를 열어 아래와 같은 broadcast 명령어를 실행시킵니다.

$ cd <path_to_adb_tool>
$ shell am broadcast -a com.android.vending.INSTALL_REFERRER
                     -n your.package.name/path.to.receiver --es referrer
                     "utm_source=testSource&utm_medium=testMedium&utm_term=testTerm&utm_content=testContent&utm_campaign=testCampaign"

3) 만약 성공적으로 명령어가 구동되었다면 아래와 같은 결과가 반환될 것입니다.

Broadcasting: Intent { act=com.android.vending.INSTALL_REFERRER cmp=your.package.name/path.to.receiver (has extras) }  
Broadcast completed: result=0  

만약 이러한 메시지가 반환되지 않았다면, Intent가 제대로 broadcast되지 않은 것이므로 테스트에 실패한 것입니다.

4) 미리 onReceive 매소드 실행 시 로그를 출력시키거나, 서버로 정보를 보내는 방식을 통해 값들이 제대로 들어왔는지 확인할 수 있습니다.

4단계 : 마지막으로 "referrer"의 값에 파라미터를 넣어서 설치를 트래킹하거나 유입경로를 분석할 수 있습니다.

1) 특정 상황의 설치 트래킹하기 예시 (Install Tracking)

  1. 앱에서 사람들이 카카오톡 등으로 설치 링크를 공유하여 설치가 얼마나 유도되는지를 알고자 한다고 가정해보겠습니다.
  2. "?referrer=appShare"을 구글 플레이스토어로 향하는 설치 링크에 쿼리스트링으로 붙여서 공유하게 할 수 있습니다.
  3. 만약 referrer로 appShare 스트링이 들어오면 서버로 관련 데이터를 송신하여 통계를 측정할 수 있습니다.

2) 유입경로 분석하기 예시 (Attribution Analytics)

  1. 예를 들어 100개의 네이버 블로그 글이 있다고 가정하고 모든 글에 각기 uuid를 매핑합니다.
  2. 그 uuid가 "referrer"의 값으로 실려있는 설치 링크("?referrer={corresponding-uuid}")를 숏링크화하여 해당되는 각 블로그 글마다 넣습니다.
  3. 만약 앱이 설치 후 첫 구동이 되고, onReceive 매소드에서 받아온 "referrer"의 값에 특정 uuid가 들어있다면 이 uuid값을 서버로 송신하여 어떤 네이버 블로그 글에서 설치가 촉발되었는지를 역추적할 수 있습니다.

결론

본 가이드를 통해서 간단히 referrer에 파라미터를 실어서 앱 설치 후 설치 트래킹과 유입경로 분석을 하는 방법을 알아보았습니다. 이 방식의 장점과 단점은 매우 뚜렷합니다.

  1. 장점 : 높은 정확도(이론상 100%)로 자체적으로 안드로이드 앱 설치를 트래킹하고, 유입경로를 분석할 수 있다.
  2. 단점 :
    2.1. 구글 플레이스토어의 데스크탑 PC와 모바일-웹사이트 버전을 통해 설치한 유저를 파악할 수 없다.
    2.2. 유입경로를 분석하더라도 여전히 설치 후 사용자의 행동 데이터를 통한 성과 분석을 구축하지 않는 이상 반쪽짜리 분석에 지나지 않는다. (설치 후 90일 내 앱 재방문율 평균 20% 미만으로 추락, 즉 설치를 해도 실제 사용하는 사용자는 적으므로 설치까지 분석하는 것은 부족함)

에어브릿지 심플링크는 마케팅 채널별 성과분석을 도와주는 원스톱 솔루션입니다. 에어브릿지는 위에서 제기된 솔루션의 단점을 아래와 같이 보완해줍니다.

  1. 데스크탑 PC 웹사이트 자동생성과 SMS 발송을 통해 데스크탑 PC에서도 설치를 유도할 수 있습니다.
  2. Probabilistic Matching 방식 등 여러 보완적인 방식을 통해서 referrer을 비켜간 설치(모바일-웹사이트 구글 플레이스토어)에 대해서도 트래킹해줍니다.
  3. 설치 수 사용자 행동데이터를 분석하여 실행, 목표달성, 잔존율 등의 성과 분석을 지원합니다. (이를 통해 정말 가치있는 유저가 어느 채널에서 들어오는지 역추적 가능)
  4. 안드로이드뿐만 아니라 iOS 설치 트래킹과 유입경로 분석을 지원합니다.

다양한 기능보다 더 중요하게는 에어브릿지는 "쉬움"을 핵심가치로 내세우고 있는 서비스입니다. 개발자들의 개발 공수를, 마케터들의 학습커브를 획기적으로 줄여줍니다. 그렇기 때문에 이름도 "심플링크"라고 지었지요. 위의 가이드의 기능, 직접 구현하지 말고 에어브릿지 심플링크통해 쉽게 구현하세요! (에어브릿지는 포스트백 시스템을 통한 Raw Data의 획득을 지원합니다.)

본 가이드를 읽어주셔서 감사드리며, 피드백은 아래의 Discus 댓글 혹은 contact@ab180.co를 통해서 주실 수 있습니다.


참고 1 : Third-Party Apps Conversion Tracking / Android Integration (써드파티의 referrer 방식 설치 트래킹 적용방법)

참고 2 : Testing Google Play Campaign Measurement (adb를 활용한 referrer 테스트)

참고 3 : Analytics for Android / Campaign Measurement (구글 애널리틱스에서도 URL Builder를 사용하여서 다양한 유입경로를 통한 설치를 트래킹할 수 있습니다. 관련 내용은 향후 다른 포스팅을 통해 다룰 예정입니다.)

참고 4 : 구글 애드워즈에서도 referrer 방식을 통해서 앱 설치를 트래킹합니다. 만약 써드파티 트래커가 구글 애드워즈의 캠페인 성과를 SDK를 통해 받고 싶을 경우 광고주가 우선 auto-tagging 기능이 작동하도록 설정해줘야 하며, 써드파티의 Redirection URI가 auto-tagging을 통해 부착된 구글의 쿼리스트링을 보존하여 Redirection 해줘야 합니다. 한편, 광고주는 광고 클릭과 관련된 네트워크명, 디바이스 정보 등 더 풍부한 데이터 획득을 위해 ValueTrack 설정을 해줄수도 있습니다.

참고 5 : 사용자가 구글 플레이 검색을 통해서 앱을 설치한 경우를 "referrer"의 utm-sourceutm-medium 값을 통하여 식별할 수 있습니다. 이 기능은 구글 플레이스토어에서 얼마나 설치가 유입되고 있는지를 분석하는 것에 유용합니다.

utm_source=google-play&utm_medium=organic  

쉬운 앱마케팅을 위한 무료 그로스해킹 툴, 에어브릿지

에어브릿지는 앱마케팅 캠페인의 실시간 성과 측정부터 유입경로까지 분석가능한 원스톱 앱마케팅 솔루션입니다. 모바일 앱마케팅 분석, 지금 바로 무료로 시작하세요!