AppsFlyer Cohort API
개요
인터페이스 소개
| 인터페이스명 | 타입 | 세분화 | 어트리뷰션 | 비용 | 수익 | 노출 | 클릭 | 전환 |
|---|---|---|---|---|---|---|---|---|
| Cohort API | API | 집계 지표 | ✅ | ✅ | ✅ |
Cohort API 역시 집계 데이터 API입니다. 다른 집계 데이터 API와 비교하면, 데이터 지표의 형태가 AppsFlyer의 Cohort Dashboard 및 AE 시스템의 리텐션 분석 모델의 데이터 결과와 더 유사합니다. 즉, 신규 유저의 N일차(또는 누적 N일차) 지표입니다.
통합 절차
- AppsFlyer 백엔드에 로그인하여 V2.0 API Token과 App ID를 가져옵니다
- AE 백엔드에 로그인하여 서드파티 통합 모듈로 이동한 후 AppsFlyer Cohort API 계획을 추가하고 관련 설정을 완료합니다
- AE 시스템이 데이터를 정상적으로 수신했는지 확인하고 리포트를 구축합니다
1. API Token 및 App ID 가져오기
1.1 API Token 가져오기
Cohort API에 사용할 V2.0 API Token을 가져옵니다
1.2 App ID 가져오기
AppsFlyer 백엔드의 My Apps에서 앱의 App ID를 찾을 수 있습니다. Android는 com.으로 시작하며(예: com.demoapp.ta), iOS는 id로 시작합니다(예: id12345678)
2. 계획 설정
AppsFlyer의 API Token과 App ID를 가져온 후 AE 시스템에 로그인하여 서드파티 통합 모듈에서 새 계획을 설정할 수 있습니다. 다음은 AppsFlyer Cohort API의 설정 화면입니다. 이 장의 내용에 따라 계획을 생성하십시오:
2.1 인증 정보 설정
인증 정보 아래의 인증 정보 설정 버튼을 클릭하고, 팝업 창에 API Token과 App ID를 입력합니다
2.2 동기화
동기화 모듈에서 AE 시스템이 AppsFlyer Cohort API 데이터를 정기적으로 수집하는 전략을 설정할 수 있으며, 매일 특정 시각에 일정 기간의 데이터를 수집하도록 선택할 수 있고, 1회 최대 31일까지 수집할 수 있습니다. 수집한 데이터도 데이터량에 포함되므로 너무 긴 기간의 데이터를 정기적으로 수집하지 않는 것을 권장합니다
2.3 저장 설정
데이터를 이벤트 형태로 기록할지 제어할 수 있습니다. 끄면 데이터가 이벤트 테이블에 기록되지 않으므로 이 설정을 끄지 마십시오.
2.4 통합 설정
마지막으로 통합 설정 모듈에서 데이터 수집의 세부 설정을 제어할 수 있습니다. 여기에는 데이터 유형, 수집할 차원, 저장 후 이벤트 이름 등이 포함됩니다.
통합 설정의 내용은 JSON이며, 다음 내용에 따라 커스텀 설정할 수 있습니다:
| 모듈 | 이름 | 의미 |
|---|---|---|
| sink_event | event_name | 저장 후 이벤트 이름, 커스텀 가능 |
source | metrics | 데이터의 지표 차원, 리스트 타입. 커스터마이징할 수 있지만 하나만 입력할 수 있으며 비워 둘 수 없음 |
| group_by | 데이터의 그룹 차원, 리스트 타입, 커스텀 가능 | |
transfer | fields_whitelist | 필드 필터, 리스트 타입. 리스트가 비어 있지 않으면 AE 시스템은 리스트에 있는 필드만 저장하고, 리스트에 없는 필드는 버림 |
double_columns | 수치 타입 필드 정의. 여기에 입력한 필드는 수치 타입으로 저장되며, 저장 후 필드명을 입력해야 함 | |
| extra_params | aggregation_type | 누적 데이터 여부. 즉 반환되는 N일 데이터가 N일차 데이터인지 누적 N일차 데이터인지를 지정하며, 기본값은:, 선택 가능한 값은 cumulative, on_day |
| partial_data | 누락된 날짜의 데이터를 반환할지 여부. 기본값은 false로, 완전한 날의 데이터만 반환함. true로 설정하면 불완전한 날을 포함한 최대 180일의 데이터가 반환됨. aggregation_type이 cumulative인 경우에만 사용 가능 |
- 그룹 차원
Cohort API는 최대 7개의 분석 차원을 지원한다는 점에 유의하십시오. 다음은 기본 분석 차원입니다. 조정이 필요하면 source.group_by를 수정하되, 조정할 때는 필드명을 사용하십시오
| 필드 이름 | 저장명 | 기본값 |
|---|---|---|
| Ad | af_ad | ✓ |
| Ad ID | af_ad_id | |
| Campaign | c | ✓ |
| Campaign ID | af_c_id | |
| Channel | af_channel | ✓ |
| Media Source | pid | ✓ |
| Sub Param 1 | af_sub1 | |
| Keywords | af_keywords | |
| Agency | af_prt | |
| Conversion Type | cohort_type | |
| Site ID | site_id | |
| Attributed Touch Type | attributed_touch_type | |
| Adset | af_adset | ✓ |
| Adset ID | af_adset_id | |
| Country | geo | |
| Date | date | ✓ |
Facebook(Meta) 데이터를 수집해야 하는 경우 분석 차원에서 af_channel과 geo를 동시에 선택하지 마십시오. 동시에 선택하면 Facebook의 비용 데이터를 가져올 수 없습니다
- 지표 필드
Cohort API는 기본 지표 3개와 source.metrics에 입력한 지표 1개(기본값은 revenue)를 반환한다는 점에 유의하십시오. 다음은 기본 지표 필드입니다.
| 필드 이름 | 지표명 | 설명 | 기본값 |
|---|---|---|---|
| users(기본 지표) | users | 코호트 총유저 수(시간 범위와 무관) | ✓ |
| ecpi(기본 지표) | ecpi | 코호트 총 eCPI(시간 범위와 무관) | ✓ |
| cost(기본 지표) | cost | 코호트 총비용(시간 범위와 무관) | ✓ |
"event_name"(커스텀 이벤트 이름 사용) | "event_name"_unique_users_day_N | N일차 커스텀 이벤트 트리거 유저 수 | |
| "event_name"_count_day_N | N일차 커스텀 이벤트 완료 수 | ||
| "event_name"_rate_day_N | N일차 커스텀 이벤트 완료율 | ||
| "event_name"_sum_day_N | N일차 커스텀 이벤트로 발생한 수익 금액 | ||
revenue | revenue_count_day_N | N일차 수익 이벤트 트리거 수 | ✓ |
| revenue_sum_day_N | N일차 수익 금액 | ✓ | |
| roas | roas_rate_day_N | N일차 ROAS | |
| roi | roi_rate_day_N | N일차 ROI | |
sessions | sessions_unique_users_day_N | N일차 Session 트리거 유저 수(누적 지표인 경우 이 데이터는 반환되지 않음) | |
| sessions_count_day_N | N일차 Session 수 | ||
| sessions_rate_day_N | N일차 잔존율(Session 트리거 유저 수 / 코호트 총유저 수) | ||
| uninstalls | uninstalls_count_day_N | N일차 삭제 수 | |
| uninstalls_rate_day_N | N일차 삭제율 |
2.5 수집 지표 조정
Cohort API는 매우 많은 필드를 반환하므로 필드 저장을 제한하지 않으면 프로젝트의 속성이 과도하게 늘어나 정상적인 사용에 영향을 줄 수 있습니다. 따라서 수집할 지표를 조정하려면 다음과 같이 진행해야 합니다:
- source.metrics 조정: 수집할 지표의 필드명, 즉 이전 절 표의 첫 번째 열을 source.metrics에 입력합니다. source.metrics에는 지표를 하나만 입력할 수 있으며, 기본으로 수집되는 세 지표인 users, ecpi, cost는 source.metrics에 입력할 필요가 없습니다. 아래 그림과 같이 uninstalls 지표를 수집하려면 "uninstalls"를 source.metrics에 입력해야 합니다
- transfer.fields_whitelist 조정: 너무 많은 속성이 생성되지 않도록 transfer.fields_whitelist로 필드를 필터링하며, 여기에 입력한 필드만 저장됩니다. Cohort API가 반환하는 데이터는 리텐션 분석 모델과 유사하며, 기본적으로 지표 하나에 대해 0~30일, 60일, 90일, 180일 등의 데이터를 반환합니다(예: revenue_count_day_7, roi_rate_day_30 등). 기본 통합 설정에서는 그룹 필드, revenue_count_day_0, revenue_sum_day_0을 제외한 모든 필드를 필터링합니다. 지표를 조정하거나 더 많은 일수의 데이터를 저장하려면 저장할 지표의 지표명(이전 절 표 참고)을 transfer.fields_whitelist에 추가하십시오. 아래 그림과 같이 수집 지표를 uninstalls로 변경한 후에는 transfer.fields_whitelist에 "uninstalls_count_day_0", "uninstalls_rate_day_0" 등의 지표명을 추가해야 저장됩니다.
- transfer.double_columns에 지표명 추가: 마지막으로 지표 필드가 수치 타입으로 저장되도록 이전 단계에서 추가한 지표명을 transfer.double_columns에도 추가해야 합니다. 아래 그림과 같습니다:
2.6 데이터 저장 규칙
기본적으로 수집한 데이터는 이벤트 형태로 AE 프로젝트에 기록됩니다:
- 데이터의 date 필드, 즉 유저의 어트리뷰션/전환 시간을 이벤트의 #event_time으로 사용합니다
- 데이터 이벤트 이름은 appsflyer_cohort_api입니다
- 필터링을 거친 필드는 모두 저장되며, transfer.double_columns에 입력한 필드는 수치 타입으로, 그 밖의 필드는 텍스트 타입으로 저장됩니다
2.7 표준화 필드
다음 이벤트 속성은 표준화 처리됩니다:
| 원본 필드 | 표준화 필드 | 의미 |
|---|---|---|
| pid | te_ads_object.media_source | 미디어 채널 |
| c | te_ads_object.campaign_name | 캠페인 이름 |
| af_c_id | te_ads_object.campaign_id | 캠페인 ID |
| af_adset | te_ads_object.ad_group_name | 광고 그룹 이름 |
| af_adset_id | te_ads_object.ad_group_id | 광고 그룹 ID |
| af_ad | te_ads_object.ad_name | 광고 이름 |
| af_ad_id | te_ads_object.ad_id | 광고 ID |
| app_name | te_ads_object.app_name | 앱 이름 |
| app_id | te_ads_object.app_id | 앱 ID |
| platform | te_ads_object.platform | 플랫폼(Android, iOS 등) |
| currency | te_ads_object.currency | 비용 또는 수익의 통화 |
| geo | te_ads_object.country | 국가/지역 코드 |
| users | te_ads_object.installs | 전환 수(설치) |
| cost | te_ads_object.cost | 집행 비용 |

