소개
이 도움말은 구글 애널리틱스 (Google Analytics, GA)를 사용하는 광고주가 앱스플라이어에서 GA로 리치 모바일 어트리뷰션 데이터를 보내는 방법을 설명합니다. 이 기능은 iOS와 안드로이드 앱에 적용됩니다.
중요!
일부 미디어 소스는 타사와의 데이터 공유를 제한합니다. 앱스플라이어는 이러한 미디어 소스를 통해 획득한 사용자의 사용자 수준 데이터를 타사 플랫폼 또는 서비스와 공유할 수 없습니다. 이러한 미디어 소스의 인스톨은 오가닉으로 표시되어 전송됩니다.
자세한 내용 및 타사와의 데이터 공유를 제한하는 미디어 소스 목록을 보려면 여기를 클릭하십시오.
연동은 두 가지 방법으로 이루어질 수 있습니다.
UTM 관련 참고 사항
앱스플라이어는 어트리뷰션 링크에 수동으로 UTM 파라미터를 추가하는 것을 추천하지 않습니다.
그렇게 하는 것은 앱스플라이어가 사용자를 구글 플레이로 직접 보내는 경우에만 지원됩니다. 셀프 리포팅 네트워크(SRN)와 서버간 클릭을 사용하여 운영되는 애드 네트워크에서는 지원되지 않습니다. 예를 들어, 어떤 사용자가 SRN 에서 유입되었거나 또는 서버간 방식으로 앱스플라이어에 클릭을 보고하는 애드 네크워크에서 유입되어 구글 플레이로 보내졌다면, 앱스플라이어는 이 인스톨을 구글 애널리틱스로 보고할 수 없습니다.
또한 UTM을 통해서는, 앱스플라이어가 구글 애널리틱스로 인앱 이벤트는 보낼 수 없으며 인스톨 정보만 전달할 수 있습니다.
구글 애널리틱스로 데이터 보내기
각각의 새로운 인스톨 또는 인앱 이벤트에 대해, 다음 어트리뷰션 데이터와 함께 포스트백이 앱스플라이어에서 GA로 전송됩니다.
앱스플라이어 필드 | 구글 애널리틱스 항목 |
---|---|
미디어 소스 이름 (어트리뷰션 링크의 pid 파라미터) | Source (utm_source) |
캠페인 이름 (어트리뷰션 링크의 c 파라미터) | Campaign (utm_campaign) |
구글 검색 키워드 | Keyword (utm_term) |
국가 코드 (GEO) | Country ISO Code |
앱 ID (어트리뷰션 링크의 패키지 이름) | 앱 ID |
앱 이름 (어트리뷰션 링크의 패키지 이름) | App Name |
App Version | App Version |
CID (안드로이드 용 광고 ID 또는 iOS 용 IDFA) | Client Id - 구글 애널리틱스 잠재 고객(audience) 대시보드에 표시 |
Type | Event Category |
Event Name | Event Action / Event Label |
구글 애널리틱스 설정하기
앱의 대시보드로 이동하여 왼쪽 메뉴에서 파트너 연동 을 클릭합니다.
검색란에 "Google Analytics"를 입력하고 로고를 클릭하여 구글 애널리틱스 설정 창을 엽니다.
구글 애널리틱스 설정 창은 연동 탭만 사용합니다.
파트너 연동 설정 창의 상단 메뉴에 대한 자세한 설명은 여기를 클릭하십시오.
연동 탭
일반 설정
Account ID
구글 애널리틱스는 고유한 Account ID 를 통해 앱스플라이어와 연결됩니다. 아직 확인하지 않은 경우, 구글 애널리틱스에서 가져와서 연동을 계속해야합니다.
Account ID 확인하기
구글 애널리틱스 관리(Admin) 창에서 추적 ID (Tracking Id) 를 복사합니다.
해당 추적 ID를 Account_ID 란에 붙여넣습니다.
모바일 인스톨 데이터만 GA로 보내려면 저장을 클릭하여 완료합니다.
앱스플라이어 및 구글 애널리틱스 SDK
앱에 앱스플라이어와 GA SDK가 모두 연동된 경우, 반드시 두 SDK 간에 Client ID (CID) 파라미터 값이 일치하도록 설정해야만 합니다. GA의 SDK는 초기화시 고유한 CID를 생성하는 반면, 앱스플라이어의 경우 CID라고 전송되는 값은 고유한 디바이스 ID (안드로이드의 경우 GAID, iOS의 경우 IDFA)입니다. 이 값이 일치하지 않으면 GA 플랫폼의 데이터가 중복됩니다.
중복된 데이터 리포팅을 피하려면 다음을 진행하십시오.
- GA SDK의 CID 값을 신규 유저의 고유한 디바이스 ID (GAID 또는 IDFA)로 설정하십시오.
- Send CustomerUserID instead of advertising_id 토글을 끄십시오. (아래 이미지 참조).
앱에 앱스플라이어 SDK만 있는 경우 코드를 변경할 필요가 없습니다.
기본 포스트백
앱스플라이어는 사용자의 인스톨 후, 자동 포스트백을 구글 애널리틱스으로 보냅니다. 이 섹션을 사용하여 이러한 포스트백 전송을 정의합니다.
All media sources, including organic 을 선택하여 앱을 설치하는 모든 사용자에 대한 포스트백을 보낼 수 있습니다.인앱 이벤트 설정
인앱 이벤트 포스트백을 활성화하려면 Account ID 를 한번 더 입력합니다.
인앱 이벤트 포스트백
GA로 인앱 이벤트 포스트백 전송을 활성화하려면, 인앱 이벤트 포스트백 토글을 켭니다.
GA로 보내려는 이벤트를 선택하십시오.
중요!
과거에 기록된 적이 있는 이벤트만 선택할 수 있습니다. 만약 찾으시는 이벤트가 목록에 없으면, 해당 이벤트가 최소 한 번은 기록된 적 있는지 확인하십시오.
af_app_opened 이벤트를 전송하지 않기로 결정하셨다면, GA에서 세션 데이터 보기를 할 수 없습니다.
어트리뷰션 링크 탭
비용 연동 탭
구글 애널리틱스 연동에서 비용 데이터는 지원되지 않습니다.
광고 수익 연동 탭
구글 애널리틱스에서 광고 수익 연동은 지원되지 않습니다.
권한 탭
구글 애널리틱스에서 권한은 사용할 수 없습니다.
GA 보고서에서 앱스플라이어 데이터보기
앱스플라이어는 인스톨 및 인앱 이벤트를 이벤트로 GA에 보냅니다. GA의 이벤트 페이지에서 앱스플라이어가 전송한 데이터를 볼 수 있습니다.
GA 대시보드에서:
- 왼쪽 메뉴에서 행동(Behavior) 을 클릭합니다.
- 이벤트 (Events) 를 클릭합니다.
- 개요 (Overview) 를 클릭합니다.
위 스크린샷은 앱스플라이어가 GA에 보내는 이벤트 카테고리를 보여줍니다. 세 가지 유형의 이벤트가 있습니다.
- Organic - 오가닉으로 앱 설치한 사용자의 인스톨, 세션, 인앱 이벤트
- Regular - 미디어 소스로 어트리뷰션된 사용자의 인스톨, 세션, 인앱 이벤트
- Re-Attribution - 미디어 소스와 리타겟팅 캠페인으로 어트리뷰션된 사용자의 인스톨, 세션, 인앱 이벤트
현재, 리인게이지먼트에서 발생한 앱 오픈과 이벤트는 리포팅은 되고있지만, 리인게이지먼트 카테고리 아래는 아닙니다. 리인게이지먼트로부터 발생한 앱 오픈과 이벤트는, 리인게이지먼트 이전의 원래 인스톨 유형에 따라 구글 애널리틱스로 보고됩니다.
예를 들어, 사용자는 광고에 참여한 후 앱을 설치합니다. 논오가닉 인스톨이 구글 애널리틱스에 보고됩니다. 얼마 후, 해당 사용자는 리인게이지먼트 캠페인에 참여하고 몇 가지 인앱 이벤트를 수행합니다. 앱 오픈 및 후속 이벤트는 regular (논오가닉) 인스톨 카테고리로 보고됩니다. 따라서 이벤트는 regular-in-app event 카테고리 아래에 나타납니다.
인스톨 데이터 보기
- 개요 (Overview) 페이지에서, regular-install 을 클릭합니다.
- 다음 화면에서, 보조 측정기준 (Secondary dimension) 을 클릭합니다.
- 보려는 측정기준(dimension)의 이름을 입력하십시오. 예시: campaign 또는 source / medium
- 보조 측정기준(secondary dimension)을 선택하십시오.
도표에 각 설치에 대한 캠페인 이름이 표시됩니다.
인앱 이벤트 데이터 보기
- 개요 (Overview) 페이지에서, regular-in-app-event 를 클릭합니다.
- 이벤트를 클릭하십시오.
- 다음 화면에서, 보조 측정기준 (Secondary dimension) 을 클릭합니다.
- 보려는 측정기준(dimension)의 이름을 입력하십시오. 예시: campaign 또는 source / medium
- 보조 측정기준(secondary dimension)을 선택하십시오.
도표에 각 인앱 이벤트에 대한 캠페인 이름 (선택한 보조 측정 기준)을 보여줍니다.
세션 데이터 보기
사용자가 앱을 열 때마다 앱스플라이어는 이벤트를 GA에 보냅니다. 이벤트는 af_app_opened 입니다. 이 이벤트는 앱스플라이어에서 세션과 동일합니다.
중요!
앱스플라이어와 구글 애널리틱스는 각각 세션을 계산하는 방법과 정의가 다릅니다. 더 자세히 알아보려면 여기를 참고하십시오.
GA는 세션 데이터를 두 곳에 표시합니다.
구글 애널리틱스의 맞춤 측정기준 (Custom dimensions)
앱스플라이어의 어트리뷰션 데이터를 구글 애널리틱스로 전송하는 또 다른 방법이 있는데, 이는 앱스플라이어의 대시보드가 아닌 GA에서 설정됩니다.
중요!
다음 이유로 인해 맞춤 측정기준은 권장되지 않습니다.
- 앱스플라이어 대시보드를 통한 구글 애널리틱스 연동은 간단하고 빠르며 쉽습니다.
- 맞춤 측정기준을 사용하여 구글 애널리틱스를 연동하는 것은 복잡하고 오류가 발생하기 쉽습니다.
- 맞춤 측정기준을 사용하려면 앱스플라이어 SDK와 구글 애널리틱스 SDK를 모두 사용해야만 합니다.
- 맞춤 측정기준을 사용하면 수치 차이가 발생할 가능성이 더 커집니다.
구글 애널리틱스와 새로운 연동 방식을 사용하는 광고주는 맞춤 측정기준의 방법을 사용할 필요가 없습니다.
맞춤 측정기준으로 구글 애널리틱스에 미디어 소스 설정하기
구글 애널리틱스에는 맞춤 측정기준이라는 사용자 수준 분류(user-leval segmentation)를 만드는 강력한 도구가 있습니다. 맞춤 측정기준 값은 모바일 기기에서 전송되며 구글 애널리틱스 대시보드에서의 측정기준에 따라 보고서가 생성됩니다.
1 단계: 구글 애널리틱스에서 정의하기
- GA 메뉴에서 앱을 선택합니다.
- GA 대시보드 상단 표시줄에서 관리 (Admin) 를 선택합니다.
- 속성 (PROPERTY) 열에서 맞춤 정의 (Custom Definition) 를 선택합니다.
- 맞춤 측정기준 (Custom Dimensions) 을 선택합니다.
- 새로운 측정기준(dimension)을 만듭니다. AppsFlyer Media Source 라고 이름붙이고 범위(scope)를 사용자 (User) 로 선택하십시오. 이렇게해야 데이터가 여러 세션에 걸쳐 저장됩니다.
각 측정기준은 인덱스 숫자를 가지고 있는데, 이것은 추후 앱의 GA API에서 사용하므로 반드시 기억해둬야 합니다. 여기 예시에서, 새로 만든 측정기준(AppsFlyer Media Source)의 인덱스는 10입니다.
이 단계를 반복하여 또다른 측정기준을 생성한 뒤 AppsFlyer Campaign 이라고 이름 붙입니다.
2 단계: 앱에서 데이터 설정 및 전송하기
먼저 앱스플라이어 SDK에서 미디어 소스 값을 가져와야 합니다. onConversionDataSuccess
메서드를 사용하여 이를 수행할 수 있습니다.
참고: SDK 버전 V5 부터, onConversionDataSuccess
는 전환 데이터를 가져 오는 메소드의 이름입니다. SDK 버전 5.0.0 보다 낮은 버전을 사용하는 경우, 메소드 이름은 안드로이드에서 onInstallConversionDataLoaded
이며, iOS에서는 onConversionDataReceived
입니다. SDK 5.0.0 이상으로 업그레이드 하는 것을 추천드립니다. 더 자세한 내용은 여기를 클릭하십시오.
이제 구글 애널리틱스 SDK를 사용하여 맞춤 측정기준으로 미디어 소스를 설정할 수 있습니다. 상세 방법은 다음 코드 샘플을 참조하십시오.
private static Tracker sTracker;
@Override
public void onConversionDataSuccess(Map<String, String> conversionData)
{
if (conversionData.get("af_status") == "Non-organic")
{
String mediaSource = conversionData.get("media_source");
String campaign = conversionData.get("campaign");
sTracker.set(Fields.customDimension(10), mediaSource);
sTracker.set(Fields.customDimension(1), campaign);
}
else if (conversionData.get("af_status") == "Organic")
{
sTracker.set(Fields.customDimension(10), "Organic");
}
}
-(void)onConversionDataSuccess:(NSDictionary*) installData {
id status = [installData objectForKey:@"af_status"];
if([status isEqualToString:@"Non-organic"]) {
id mediaSource = [installData objectForKey:@"media_source"];
id campaign = [installData objectForKey:@"campaign"];
[[[GAI sharedInstance] defaultTracker] set:[
GAIFields customDimensionForIndex:10
] value: mediaSource];
[[[GAI sharedInstance] defaultTracker] set:[
GAIFields customDimensionForIndex:1
]
value: campaign];
}
else if([status isEqualToString:@"Organic"]) {
[[[GAI sharedInstance] defaultTracker] set:[
GAIFields customDimensionForIndex:10
]
value: "Organic"];
}
}
3 단계: 구글 애널리틱스에서 결과보기
대부분의 GA 보고서에는 맞춤 측정기준 (Custom Dimensions) 이라는 드릴 다운 옵션이 있습니다. 측정기준을 AppsFlyer Media Source 또는 AppsFlyer Campaign (1 단계 참고) 으로 선택하여 어떤 미디어 소스와 캠페인이 앱을 설치하는 사용자를 유입시켰는지 확인할 수 있습니다.
앱스플라이어와 구글 애널리틱스 간의 데이터 수치 차이
앱스플라이어와 구글 애널리틱스 간의 데이터 수치 차이 가능성은 거의 없습니다. 왜냐하면 앱스플라이어가 유일한 데이터 소스이자 구글 애널리틱스에 보고하는 소스이기 때문입니다.
그러나 앱스플라이어와 구글 애널리틱스를 비교할 때 여전히 수치 차이가 발생할 수 있습니다. (특히, 재설치 수로 인해) 아래에 수치 차이를 일으킬 수 있는 몇가지 이유를 정리해두었습니다.
잘못된 추적 ID (tracking ID)
앱스플라이어와 연동할 때, 정확한 구글 애널리틱스 추적 ID를 지정하십시오. 잘못된 추적 ID를 설정하면, 데이터가 잘못된 대시보드에 보고되거나 전혀 보고되지 않을 수 있습니다.
예
구글 애널리틱스 추적 ID의 형식은 UA-123456789-1
입니다. 이것이 연동 탭에 입력해야하는 추적 ID입니다.
UA-123456789
, 123456789-1
와 123456789
는 잘못된 형식입니다.
Customer User ID
구글 애널리틱스는 Customer User ID 별로 이벤트를 연관짓습니다. 기본적으로 앱스플라이어가 보내는 Customer User ID는 GAID 또는 IDFA입니다.
따라서 구글 애널리틱스는 재설치 사용자(앱을 설치하고 삭제했다가 다시 설치한 사용자)를 동일한 사용자로 간주합니다.
예
어떤 사용자가 앱을 설치했다가 삭제합니다. 그런 다음, 해당 사용자가 리타겟팅 캠페인의 리어트리뷰션 윈도우 내에 앱을 다시 설치합니다.
구글 애널리틱스는 이 사용자를 동일한 사용자로 간주합니다. 구글 애널리틱스 사용자 탐색기(User Explorer)에서, 이 사용자는 다음 모든 항목 아래에 포함됩니다.
- regular-install
- regular-in-app-event
- reattribution-install
- reattribution-in-app-event
반면에 앱스플라이어는 이 사용자를 두 명의 다른 사용자로 간주합니다.
- 유저 획득 캠페인으로 유입된 사용자
- 리타겟팅 캠페인으로 유입된 사용자
시간대 차이
GA 대시보드의 시간대가 앱스플라이어에서의 앱 시간대와 다른 경우, 데이터가 제대로 정렬되지 않을 수 있습니다.
예
앱의 대시보드는 GMT +13으로, GA 대시보드는 GMT로 설정되어 있습니다. 이것은 앱 대시보드가 GA 대시보드보다 하루 앞서 있다는 것을 의미합니다.
따라서 GA 대시보드에서 3월 2일에 표시되는 데이터는, 앱 대시보드 날짜 범위(Date range) 필터에서 3월 3일을 선택했을 때에 나타납니다.
중복 이벤트
만약 이벤트들이 서로 너무 가까운 시간내에 발생하면, 앱스플라이어와 구글 애널리틱스 모두, 해당 이벤트를 중복된 이벤트로 간주하고 삭제할 수 있습니다. 앱스플라이어의 이벤트 중복 제거 메커니즘은 구글 애널리틱스에서 사용하는 것과 다릅니다.
앱스플라이어와 구글 애널리틱스가 서로 다른 방식으로 이벤트를 중복 제거하므로 이벤트 데이터에서 수치 차이가 발생할 수 있습니다.
세션 집계
앱스플라이어는 앱이 시작되거나 시스템 백그라운드에서 다시 전경 (foreground)로 돌아올 때마다 세션을 계산합니다. 구글 애널리틱스는 CID (customer user ID) 및 활동에 따라 세션을 계산합니다.
예
어떤 사용자가 앱을 시작하고 몇 가지 작업을 수행한 다음, 앱을 백그라운드로 보냅니다. 그런 다음, 해당 사용자는 이 과정을 4번 반복하고, 각각 시간 간격은 5분 정도입니다.
앱스플라이어는 5개의 별도 세션으로 집계합니다. 하지만 구글 애널리틱스는 이를 단일 세션으로 집계합니다.
앱스플라이어와 구글 애널리틱스가 세션을 계산하는 방법에 대해 자세히 알아 보려면 아래 자료를 참고하십시오.
구글 애널리틱스 보기(views) 및 필터
구글 애널리틱스는 서로 다른 보기(view)를 만들고 이들에게 다른 필터를 적용할 수 있습니다. 앱스플라이어와 구글 애널리틱스의 데이터를 비교할 때, 구글 애널리틱스의 모든 웹 사이트 데이터(All Web Site Data) 보기에서 데이터를 확인하십시오.