본문으로 건너뛰기

AppsFlyer Pull Raw Data

최근 업데이트 2026. 10. 03.
팁

서드파티 데이터 통합으로 생성된 데이터는 클러스터의 소비 데이터양에 포함됩니다

개요​

인터페이스 소개​

인터페이스명타입세분화어트리뷰션비용수익노출클릭전환
Pull API Raw DataAPI유저 수준✅✅✅

Pull API Raw Data는 일정 기간의 유저 수준 데이터를 수집할 수 있습니다. 이 통합 방식은 실시간성이 요구되지 않는 상황에서 유저 상세 데이터를 가져올 수 있으며, 유저 단위의 과거 데이터를 수집하는 데도 매우 적합합니다.

통합 절차​

  1. AppsFlyer 클라이언트 SDK와 AE SDK를 연동하고, AF SDK에 AE의 유저 식별 ID를 설정합니다
  2. AppsFlyer 백엔드에 로그인하여 V2.0 API Token과 App ID를 가져옵니다
  3. AE 백엔드에 로그인하여 서드파티 통합 모듈로 이동한 후 AppsFlyer Pull Raw Data 통합 계획을 추가하고 관련 설정을 완료합니다
  4. AE 시스템이 데이터를 정상적으로 수신했는지 확인하고 리포트를 구축합니다

1. 클라이언트 SDK 설정​

AppsFlyer 데이터 통합의 첫 단계는 클라이언트에서 AE SDK와 AF SDK를 연결하여 AF SDK에 AE 시스템의 유저 식별 ID를 설정하는 것입니다

1.1 방안 1(자동 통합)​

// AE SDK 초기화
TDConfig config = TDConfig.getInstance(this, APPID, TE_SERVER_URL);
TDAnalytics.init(config);

// AppsFlyer id 연결 활성화
TDAnalytics.enableThirdPartySharing(TDThirdPartyShareType.TD_APPS_FLYER);

// AppsFlyer SDK 초기화
AppsFlyerLib.getInstance().init("appid", null, this);
AppsFlyerLib.getInstance().start(this);

// setcustomerUserId()로 게스트 ID를 한 번 더 설정할 것을 강력히 권장합니다
String distinctId = TDAnalytics.GetDistinctId();
AppsFlyerLib.getInstance().setcustomerUserId(distinctId);

// login을 호출하여 계정 ID를 설정한 후 데이터를 다시 동기화해야 합니다(선택 사항)
TDAnalytics.login("account_id");
TDAnalytics.enableThirdPartySharing(TDThirdPartyShareType.TD_APPS_FLYER);

AE SDK의 login() 메서드나 identify() 메서드를 호출한 경우 enableThirdPartySharing()을 다시 호출하여 데이터를 동기화해야 합니다.

참고: AppsFlyer SDK의 setAdditionalData() 메서드도 호출해야 하는 경우, 이 메서드를 여러 번 호출하면 이전 파라미터를 덮어쓰므로 파라미터를 AE SDK에 전달할 수 있습니다. AE SDK가 내부에서 파라미터를 병합합니다.

Map<String, Object> additionalData = new HashMap<>();
additionalData.put("af_test_key1", "test1");
additionalData.put("af_test_key2", "test2");
TDAnalytics.enableThirdPartySharing(
TDThirdPartyShareType.TD_APPS_FLYER,
additionalData
);

이 방안은 내부에서 AppsFlyer의 setAdditionalData() 메서드를 자동으로 호출하여 AE 프로젝트의 게스트 ID와 계정 ID를 전달하는 방식으로 동작합니다.

1.2 방안 2(수동 통합)​

수동 통합 방안에서는 AppsFlyer SDK에서 setAdditionalData로 AE 프로젝트의 게스트 ID와 계정 ID를 설정해야 합니다. 다음은 Java 코드 예시입니다:

// AE의 게스트 ID 가져오기, AE의 #distinct_id에 대응
String distinctId = TDAnalytics.GetDistinctId();
// 계정 ID(또는 캐릭터 ID), AE의 #account_id에 대응
String accountId = "your_account_id";

// 활성화 시 배포
HashMap<String,Object> CustomDataMap = new HashMap<>();
CustomDataMap.put("ta_distinct_id",distinctId);
AppsFlyerLib.getInstance().setAdditionalData(CustomDataMap);

// setcustomerUserId()로 게스트 ID를 한 번 더 설정할 것을 강력히 권장합니다
AppsFlyerLib.getInstance().setcustomerUserId(distinctId);
...

// 가입 시 배포
HashMap<String,Object> CustomDataMap = new HashMap<>();
CustomDataMap.put("ta_distinct_id", distinctId);
CustomDataMap.put("ta_account_id",accountId);
AppsFlyerLib.getInstance().setAdditionalData(CustomDataMap);

위와 같이 설정하면 콜백 데이터의 custom_data에 ta_distinct_id, ta_account_id 두 필드가 포함되며, customer_user_id는 게스트 ID와 같아집니다.

2. API Token과 App ID 가져오기​

2.1 API Token 가져오기​

관리자 계정으로 로그인한 후 AppsFlyer 사이드바 메뉴에서 API Access를 찾아 Pull API Raw Data에 사용할 V2.0 API Token을 가져오십시오.

2.2 App ID 가져오기​

AppsFlyer 백엔드의 My Apps에서 앱의 App ID를 찾을 수 있습니다. Android는 com.으로 시작하며(예: com.demoapp.ta), iOS는 id로 시작합니다(예: id12345678)

3. 계획 설정​

AppsFlyer의 API Token과 App ID를 가져온 후 AE 시스템에 로그인하여 서드파티 통합 모듈에서 새 계획을 설정할 수 있습니다. 아래 그림은 AppsFlyer Pull Raw Data의 설정 화면입니다. 이 장의 내용에 따라 계획을 생성하십시오:

3.1 인증 정보 설정​

인증 정보 아래의 인증 정보 설정 버튼을 클릭하고, 팝업 창에 API Token과 App ID를 입력합니다

3.2 동기화​

동기화 모듈에서 AE 시스템이 AppsFlyer Pull Raw Data 데이터를 정기적으로 수집하는 정책을 설정할 수 있으며, 매일 특정 시각에 일정 기간의 데이터를 수집하도록 선택할 수 있습니다. 1회에 최대 31일까지 수집할 수 있습니다. 수집한 데이터도 데이터양에 포함되므로 너무 긴 기간의 데이터를 정기적으로 수집하지 않는 것을 권장합니다

3.3 데이터 수집 시간대​

수집할 데이터의 시간대도 설정할 수 있으며, 기본값은 UTC+0입니다

3.4 유저 식별 필드​

AppsFlyer Pull Raw Data가 반환하는 것은 유저 수준 데이터이므로 유저 식별 규칙, 즉 AF 콜백 데이터에서 #distinct_id와 #account_id에 대응하는 필드를 설정해야 합니다. AE 시스템은 이 설정에 따라 콜백 데이터를 변환할 때 해당 필드를 데이터의 유저 식별 필드로 설정합니다.

이 문서의 이전 단계에 따라 클라이언트 SDK를 설정한 경우 다음 설정을 사용하십시오:

  • 계정 ID 연관 필드: custom_data.ta_account_id
  • 게스트 ID 연관 필드: customer_user_id,custom_data.ta_distinct_id

3.5 저장 설정​

데이터를 이벤트 형태로 기록할지 제어할 수 있습니다. 끄면 데이터가 이벤트 테이블에 기록되지 않으므로 이 설정을 끄지 마십시오.

3.6 유저 속성 저장 규칙​

기본적으로 AE 시스템은 AF 콜백 데이터의 어트리뷰션 필드를 표준화 처리된 유저 속성에 자동으로 기록합니다. 다음은 유저 속성에 기록되는 필드와 그 의미입니다:

AppsFlyer 필드표준화 필드설명
media_sourcete_ads_object.media_source미디어 채널
campaignte_ads_object.campaign_name캠페인 이름
adsette_ads_object.ad_group_name광고 그룹 이름
adte_ads_object.ad_name광고 이름
팁

이전 버전의 유저 속성 저장 기본 규칙은 현재와 다르므로 구분에 주의하십시오. 새 속성과 기존 속성을 병합해야 한다면 가상 속성 기능을 사용할 수 있습니다

수정이 필요하면 규칙 설정을 클릭하여 저장 규칙 설정 페이지로 이동할 수 있습니다. 아래 그림과 같습니다:

속성 매핑 버튼을 클릭하여 유저 속성에 기록할 필드를 추가할 수 있습니다. 또한 왼쪽의 규칙 버튼을 클릭하여 새 규칙 세트를 추가할 수도 있습니다. 예를 들어 AF가 콜백한 수익화 데이터에서 광고 수익을 추출하여 user_add 방식으로 유저 속성에 기록하면 유저별 누적 광고 수익을 기록할 수 있습니다.

유저 속성 저장을 끄려면 모든 규칙을 중지하면 됩니다:

3.7 통합 설정​

마지막으로 통합 설정 모듈에서 데이터 수집의 세부 설정을 제어할 수 있습니다. 여기에는 데이터 유형, 수집할 차원, 저장 후 이벤트 이름 등이 포함됩니다.

통합 설정의 내용은 JSON이며, 다음 내용에 따라 커스텀 설정할 수 있습니다:

모듈이름의미
sink_eventevent_mapping저장 후 이벤트 이름, 커스텀 가능
sourcereport_types수집할 데이터 타입, 커스텀 가능. 기본값은 installs, ad_revenue, 즉 설치 이벤트와 수익화 이벤트입니다
group_by데이터의 그룹 차원, 리스트 타입, 커스텀 가능
extra_paramsdouble_columns수치 타입 필드 정의. 여기에 입력한 필드는 수치 타입으로 저장되며, 저장 후 필드명을 입력해야 함

기본적으로 Pull API Raw Data는 다음 데이터의 수집을 지원합니다:

AppsFlyer 공식 문서에서 지원하는 더 많은 필드를 확인할 수 있으며, 필요한 필드를 source.group_by에 입력하면 됩니다

3.7.1 기본 포함 지표​

필드한국어 이름
event_value이벤트 값
event_revenue이벤트 수익
event_revenue_usd이벤트 수익(USD)
cost_value비용 값

3.7.2 기본 차원 필드​

필드한국어 이름
attributed_touch_time어트리뷰션 시간
install_time활성화 시간
event_time이벤트 시간
event_name이벤트 이름
event_value이벤트 값
event_revenue이벤트 수익
event_revenue_currency이벤트 수익 통화 타입
event_revenue_usd이벤트 수익(USD)
event_source이벤트 소스
is_receipt_validated영수증 검증 여부
partner파트너
media_source미디어 채널
channel하위 채널
keywords키워드
campaign캠페인 이름
campaign_id캠페인 ID
adset광고 그룹 이름
adset_id광고 그룹 ID
ad광고 소재 이름
ad_id광고 소재 ID
ad_type광고 유형
site_id사이트 ID
sub_site_id하위 사이트 ID
sub_param_1하위 파라미터 1
sub_param_2하위 파라미터 2
sub_param_3하위 파라미터 3
sub_param_4하위 파라미터 4
sub_param_5하위 파라미터 5
cost_model비용 모델 (CPC/CPI/CPM/Other)
cost_value비용 값
cost_currency비용 통화 타입
contributor_1_partner기여자 1 파트너
contributor_1_media_source기여자 1 미디어 채널
contributor_1_campaign기여자 1 캠페인
contributor_1_touch_type기여자 1 어트리뷰션 타입
contributor_1_touch_time기여자 1 어트리뷰션 시간
contributor_2_partner기여자 2 파트너
contributor_2_media_source기여자 2 미디어 채널
contributor_2_campaign기여자 2 캠페인
contributor_2_touch_type기여자 2 어트리뷰션 타입
contributor_2_touch_time기여자 2 어트리뷰션 시간
contributor_3_partner기여자 3 파트너
contributor_3_media_source기여자 3 미디어 채널
contributor_3_campaign기여자 3 캠페인
contributor_3_touch_type기여자 3 어트리뷰션 타입
contributor_3_touch_time기여자 3 어트리뷰션 시간
region지역
country_code국가 코드
state주/성
city도시
postal_code우편번호
dmaDMA 코드
ipIP 주소
wifiWI-FI 사용 여부
operator이동통신사
carrier휴대폰 통신사
language언어
appsflyer_idAppsFlyer ID
advertising_idAdvertising ID
idfaIDFA
android_idAndroid ID
customer_user_idCustomer User ID
imeiIMEI
idfvIDFV
platform플랫폼
device_type디바이스 타입
os_version운영 체제
app_version앱 버전
sdk_versionSDK 버전
app_idApp ID
app_name앱 이름
bundle_idBundle ID
is_retargeting리타겟팅 여부
retargeting_conversion_type리타겟팅 전환 타입
attribution_lookback어트리뷰션 Lookback
reengagement_window재참여 윈도우
is_primary_attribution주 어트리뷰션 여부
user_agent유저 에이전트
http_referrerHTTP Referrer
original_url원본 URL

3.7.3 기본 설정에 추가된 추가 필드​

이 부분은 통합 설정의 source.group_by에서 조정할 수 있습니다

필드한국어 이름
device_model기종
keyword_idAF의 키워드 ID
store_reinstall재설치 시의 앱 마켓
deeplink_urlDeeplink 주소
oaidOAID
install_app_store설치 시의 앱 스토어
contributor1_match_type기여자 1 매칭 모드
contributor2_match_type기여자 2 매칭 모드
contributor3_match_type기여자 3 매칭 모드
match_type어트리뷰션 매칭 모드
device_category디바이스 대분류: 휴대폰, 노트북, 기타
gp_referrerGoogle Play의 URL referrer
gp_click_timeGoogle Play에서 기록한 광고 클릭 시간
gp_install_beginGoogle Play에서 기록한 설치 시간
amazon_aidAmazon 디바이스 ID
keyword_match_type키워드 매칭 모드
attiOS 14+의 ATT 상태
conversion_type타입 변환
campaign_type캠페인 타입
is_lat유저의 데이터 추적 제한 여부. 참이면 IDFA 또는 GAID가 모두 0으로 대체됩니다
custom_dataCustom Data, 유저 식별 필드를 가져오는 데 사용

3.8 데이터 저장 규칙​

Pull Raw Data 데이터 인터페이스는 여러 종류의 데이터를 저장하며, 각 데이터의 처리 규칙은 다음과 같습니다:

  • Installs 데이터

    • user acquisition(UA)만 포함하는 Installs 데이터와 Organic Installs 데이터를 수집합니다
    • 데이터는 이벤트 형태로 기록되며, 이벤트 이름은 af_install입니다
    • 데이터의 event_time, 즉 이벤트 발생 시각을 이벤트의 #event_time으로 사용합니다
    • 기본 유저 속성 저장 규칙에 따라 Installs 데이터의 일부 필드가 유저 테이블에 기록됩니다
    • 유저 식별 필드 설정에 따라 유저 식별 필드를 결정합니다. 유저 식별 규칙을 설정하지 않으면 기본적으로 데이터의 customer_user_id를 게스트 ID로 사용합니다. 유저 식별 필드를 가져오지 못한 데이터는 폐기됩니다.
    • 모든 필드가 저장되며, double_columns의 필드는 숫자 타입으로, 나머지 필드는 문자열로 저장됩니다
  • Ad Revenue

    • Attributed ad revenue와 Organic ad revenue를 수집합니다. 이 중 Attributed ad revenue는 user acquisition(UA)과 retargeting 데이터를 함께 수집합니다
    • 데이터는 이벤트 형태로 기록되며, 이벤트 이름은 af_ad_revenue_raw입니다
    • 데이터의 event_time, 즉 이벤트 발생 시각을 이벤트의 #event_time으로 사용합니다
    • 유저 식별 필드 설정에 따라 유저 식별 필드를 결정합니다. 유저 식별 규칙을 설정하지 않으면 기본적으로 데이터의 customer_user_id를 게스트 ID로 사용합니다. 유저 식별 필드를 가져오지 못한 데이터는 폐기됩니다.
    • 모든 필드가 저장되며, double_columns의 필드는 숫자 타입으로, 나머지 필드는 문자열로 저장됩니다

3.9 표준화 필드​

다음 이벤트 속성은 표준화 처리됩니다:

원본 필드표준화 필드의미
media_sourcete_ads_object.media_source미디어 채널
monetization_network(광고 수익화 데이터)te_ads_object.media_source수익화 채널
campaignte_ads_object.campaign_name캠페인 이름
campaign_idte_ads_object.campaign_id캠페인 ID
adsette_ads_object.ad_group_name광고 그룹 이름
ad_unit(광고 수익화 데이터)te_ads_object.ad_group_name수익화 광고의 Unit 이름
adset_idte_ads_object.ad_group_id광고 그룹 ID
adte_ads_object.ad_name광고 이름
ad_idte_ads_object.ad_id광고 ID
segment(광고 수익화 데이터)te_ads_object.placement광고 위치
cost_valuete_ads_object.cost집행 비용
af_cost_currencyte_ads_object.currencyUA 집행 통화
event_revenuete_ads_object.revenue수익화 수익
event_revenue_currency(광고 수익화 데이터)te_ads_object.currency수익화 수익의 통화
country_codete_ads_object.country국가/지역 코드
platformte_ads_object.platform플랫폼(Android, iOS 등)
app_idte_ads_object.app_id앱 ID
app_namete_ads_object.app_name앱 이름
이 문서가 도움이 되었나요?