앱 사용자 에이전트
Google은 스팸 퇴치를 위한 광범위한 노력의 일환으로 앱 사용자를 대신하여 분석/광고 제품에서 전송한 사용자-에이전트 헤더에 대한 표준화된 사양을 개발했습니다. 앱 사용자-에이전트는 다음 사양을 준수하도록 기본 코드에서 파생될 수 있습니다.
name version (os_and_version; locale; device; build; Proxy)
이들 필드의 정의는 다음과 같습니다.
사용자 에이전트 구성요소 | |
---|---|
name | 분석/광고 제품의 이름입니다. ( 사용자 에이전트가 클라이언트 측에서 구성된 경우
Android// Specified by API consumer. iOS// Specified by API consumer. |
version | 분석/광고 제품의 버전입니다.
( Android// Specified by API consumer. iOS// Specified by API consumer. |
os_and_version | 앱이 실행되고 있는 운영체제 및 운영체제 버전입니다. ( AndroidString osAndVersion = "Android " + Build.VERSION.RELEASE; iOSUIDevice *uid = [UIDevice currentDevice]; NSString *osAndVersion = [NSString stringWithFormat:@"%@ %@", [uid systemName], [uid systemVersion]]; |
locale | 기기의 IETF 언어 태그이며, 2자리로 된 언어 및 국가 코드를 밑줄로 구분하여 사용합니다.
( AndroidString locale = Locale.getDefault(); iOSNSString *locale = [[NSLocale currentLocale] localeIdentifier] |
device | 분석/광고 제품을 실행하는 실제 기기의 이름입니다.
( AndroidString device = Build.MODEL; iOS@import Darwin.sys.sysctl; NSString *device(void) { size_t bufferSize = 64; NSMutableData *buffer = [[NSMutableData alloc] initWithLength:bufferSize]; int status = sysctlbyname("hw.machine", buffer.mutableBytes, &bufferSize, NULL, 0); if (status != 0) { return nil; } return [[NSString alloc] initWithCString:buffer.mutableBytes encoding:NSUTF8StringEncoding]; } |
build | 'Build/' 다음에 운영체제의 빌드 번호가 표시됩니다.
( AndroidString build = "Build/" + Build.ID; iOS@import Darwin.sys.sysctl; NSString *build(void) { size_t bufferSize = 64; NSMutableData *buffer = [[NSMutableData alloc] initWithLength:bufferSize]; int status = sysctlbyname("kern.osversion", buffer.mutableBytes, &bufferSize, NULL, 0); if (status != 0) { return nil; } return [[NSString alloc] initWithCString:buffer.mutableBytes encoding:NSUTF8StringEncoding]; } |
앱 사용자-에이전트 서버 측을 구성할 때 앱 사용자-에이전트의 끝에
; Proxy
만 포함합니다. 앱 사용자-에이전트가 클라이언트 측에서 완전히 구성된 경우
; Proxy
를 제외합니다. 따라서 앱 사용자-에이전트는 다음과 같을 수 있습니다.
- Android:
AdMob/7.10.1 (Android 6.0; en_US; SM-G900F; Build/MMB29M; Proxy)
- iOS:
AdMob/7.10.1 (iOS 10.0.2; en_US; iPhone9,1; Build/13D15; Proxy)
전환 추적 요청
전환 추적 요청의 목적은 전환으로 추적해야 하거나 리마케팅 목록을 채우는 데 사용해야 하는 앱 이벤트를 Google Ads에 알리고 이벤트 이전의 클릭을 설명하는 메타데이터를 검색하는 것입니다.
모든 API 호출은 www.googleadservices.com
도메인에서 이루어집니다. 다음 경로에서
전환 요청은 HTTPS를 통한 POST
요청입니다.
/pagead/conversion/app/version
1.0
입니다.
표준 앱 전환 요청에는 다음 매개변수가 포함됩니다.
전환 추적 요청 | |
---|---|
dev_token |
필수 위치: 쿼리 API 사용자에게 발행된 고유하고 정적인 개발자 토큰입니다. Z_eErE4DkvcKjDM1OVE4c4 |
link_id |
필수 위치: 쿼리 API 사용자의 개발자 토큰을 특정 앱에 바인딩하는 링크 식별자입니다. 31FF8D67E5BB5DD5029DCC2734C2F884 |
app_event_type |
필수 위치: 쿼리 발생한 앱 이벤트의 이름입니다. 이 필드는 목록이며 다음 값만 허용됩니다. • first_open • session_start • in_app_purchase • view_item_list • view_item • view_search_results • add_to_cart • ecommerce_purchase • custom
|
app_event_name |
특정 조건 하에서 필수 위치: 쿼리
level_achieved Level Achieved 이 필드에는 |
app_event_data |
선택사항 위치: 본문 추가 리치 이벤트 데이터를 간단한 JSON 객체 매핑 문자열 키로 값에 전달합니다. 허용되는 값은 문자열 및 문자열 배열입니다. {"level": 5, "attempts": 20} |
rdid |
필수 위치: 쿼리 원시 기기 ID를 나타내는 유효한 UUID 문자열입니다. f10e1de2-e237-4f50-b6aa-843c45cc63d6 ATT 동의하지 않은 사용자의 기기 ID와 같이 기기 ID가 누락된 경우 모두 0으로 설정합니다. 00000000-0000-0000-0000-000000000000 |
id_type |
필수 위치: 쿼리
Androidadvertisingid iOSidfa |
eea |
특정 조건 하에서 필수 위치: 쿼리 EEA 범위입니다.
|
ad_personalization |
특정 조건 하에서 필수 위치: 쿼리 개인 맞춤 광고 플래그
|
ad_user_data |
특정 조건 하에서 필수 위치: 쿼리 광고 목적으로 사용자 데이터를 사용하는 것에 대한 동의 플래그
|
lat |
필수 위치: 쿼리 기기에 대한 광고 추적 제한 상태입니다.
|
app_version |
필수 위치: 쿼리 앱의 현재 버전으로, 다음과 같이 표준화해야 합니다. AndroidpackageManager.getPackageInfo(packageName(), PackageManager.GET_META_DATA).versionName iOS[[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"] 1.2.4 |
os_version |
필수 위치: 쿼리 앱 호스트 OS의 현재 버전입니다. 다음과 같이 표준화해야 합니다. Androidandroid.os.Build.VERSION.RELEASE iOS[[UIDevice currentDevice] systemVersion] |
sdk_version |
필수 위치: 쿼리 이벤트를 측정한 SDK 버전입니다. 이는 주로 디버깅에 사용되므로
함께 출시된 SDK 버전과
정확히 일치해야 합니다. 앱에서 SDK를 사용하지 않는 경우 1.9.5r6 |
timestamp |
필수 위치: 쿼리 전환 이벤트가 발생한 UNIX 타임스탬프로, 마이크로초 단위로 표시됩니다. 1432681913.123456 |
value |
선택사항 위치: 쿼리 이벤트의 금전적 가치입니다(있는 경우). 이 값은 값의 정수 부분과 소수 부분을 구분하기 위해 소수점을 사용하여 기계가 읽을 수 있는 부동소수점 값으로 항상 지정해야 합니다. 1.99 |
currency_code |
특정 조건 하에서 필수 위치: 쿼리
USD |
gclid |
특정 조건 하에서 필수 위치: 쿼리 앱을 연 딥 링크 URL에서 가져온 Cj0KEQjw0dy4BRCuuL_e5M |
market_referrer_gclid |
특정 조건 하에서 필수 위치: 쿼리 Play Install Referrer API를 통해 install_referrer 값에서 캡처된 딥 링크 URL의 BX3QojHp4mY5MrJtFM_d1u |
gclid_only_request |
특정 조건 하에서 필수 위치: 쿼리 rdid (advertisingid)가 1 |
gbraid |
특정 조건 하에서 필수 위치: 쿼리 앱을 연 딥 링크 URL을 통해 전송된 마지막으로 확인된 ChEI8IixhgYQrufHkIjz3YWRARIzALev_G_O |
app_open_source |
특정 조건 하에서 필수 위치: 쿼리 광고 클릭 딥 링크 또는 자연 앱 세션을 식별하는 값입니다. ad_click or organic |
User-Agent |
필수 위치: 헤더 이전 섹션에 정의된 앱 사용자 에이전트입니다. AdMob/7.10.1 (Android 6.0; en_US; SM-G900F; Build/MMB29M) |
X-Forwarded-For |
필수 위치: 헤더 이벤트가 측정된 기기의 공개 IPv4 또는 IPv6 주소입니다. 216.58.194.174 |
모든 요청은 HTTPS를 통해 전송해야 합니다. HTTP를 통해 수신된 핑은 거부됩니다.
요청 본문이 비어있는 경우 (app_event_data
페이로드에서 리치 이벤트 데이터가
전달되지 않는 경우) Google 서버는 요청 시
Content-Length: 0
헤더를 명시적으로 설정할 것을 요구합니다.
샘플 요청
비맞춤 이벤트 유형 및 수익 정보가 포함된 유효한 전환 추적 요청의 예는 다음과 같습니다.
POST /pagead/conversion/app/1.0 ?dev_token=Z_eErE4DkvcKjDM1OVE4c4 &link_id=31FF8D67E5BB5DD5029DCC2734C2F884 &app_event_type=in_app_purchase &rdid=0F7AB11F-DA50-498E-B225-21AC1977A85D &id_type=idfa &eea=0 &ad_personalization=1 &ad_user_data=1 &lat=0 &app_version=1.2.4 &os_version=9.3.2 &sdk_version=1.9.5r6 ×tamp=1432681913.123456 &value=1.99 ¤cy_code=USD &market_referrer_gclid=BX3QojHp4mY5MrJtFM_d1u &gclid=Cj0KEQjw0dy4BRCuuL_e5M &gclid_only_request=0 &gbraid=ChEI8IixhgYQrufHkIjz3YWRARIzALev_G_O Host: www.googleadservices.com User-Agent: MyAnalyticsCompany/1.0.0 (iOS 10.0.2; en_US; iPhone9,1; Build/13D15; Proxy) X-Forwarded-For: 216.58.194.174 Content-Type: application/json; charset=utf-8
{"app_event_data":{"item_id":["Crayons","Markers"]}}
비맞춤 이벤트 유형 및 수익 정보가 포함되고 rdid (advertisingid)를 사용할 수 없는 유효한 전환 추적 요청의 예는 다음과 같습니다.
POST /pagead/conversion/app/1.0 ?dev_token=Z_eErE4DkvcKjDM1OVE4c4 &link_id=31FF8D67E5BB5DD5029DCC2734C2F884 &app_event_type=in_app_purchase &rdid=00000000-0000-0000-0000-000000000000 &id_type=advertisingid &eea=0 &ad_personalization=1 &ad_user_data=1 &lat=1 &app_version=1.2.4 &os_version=9.3.2 &sdk_version=1.9.5r6 ×tamp=1432681913.123456 &value=1.99 ¤cy_code=USD &market_referrer_gclid=BX3QojHp4mY5MrJtFM_d1u &gclid=Cj0KEQjw0dy4BRCuuL_e5M &gclid_only_request=1 &gbraid=ChEI8IixhgYQrufHkIjz3YWRARIzALev_G_O Host: www.googleadservices.com User-Agent: MyAnalyticsCompany/1.0.0 (iOS 10.0.2; en_US; Android,1; Build/13D15; Proxy) X-Forwarded-For: 216.58.194.174 Content-Type: application/json; charset=utf-8
{"app_event_data":{"item_id":["Crayons","Markers"]}}
유효한 세션 시작 요청의 예는 다음과 같습니다.
POST /pagead/conversion/app/1.0 ?dev_token=Z_eErE4DkvcKjDM1OVE4c4 &link_id=31FF8D67E5BB5DD5029DCC2734C2F884 &app_event_type=session_start &rdid=0F7AB11F-DA50-498E-B225-21AC1977A85D &id_type=idfa &eea=0 &ad_personalization=1 &ad_user_data=1 &lat=0 &app_version=1.2.4 &os_version=9.3.2 &sdk_version=1.9.5r6 ×tamp=1432681913.123456 &gclid=Cj0KEQjw0dy4BRCuuL_e5M &gbraid=ChEI8IixhgYQrufHkIjz3YWRARIzALev_G_O Host: www.googleadservices.com User-Agent: MyAnalyticsCompany/1.0.0 (iOS 10.0.2; en_US; iPhone9,1; Build/13D15; Proxy) X-Forwarded-For: 216.58.194.174 Content-Type: application/json; charset=utf-8
딥 링크 example://product/123?gclid=Cj0KEQjw0dy4BRCuuL_e5M
에서 시작된 세션에 대한 유효한 세션 시작 재기여 분석
요청의 예는
다음과 같습니다.
POST /pagead/conversion/app/1.0 ?dev_token=Z_eErE4DkvcKjDM1OVE4c4 &link_id=31FF8D67E5BB5DD5029DCC2734C2F884 &app_event_type=session_start &rdid=0F7AB11F-DA50-498E-B225-21AC1977A85D &id_type=idfa &eea=0 &ad_personalization=1 &ad_user_data=1 &lat=0 &app_version=1.2.4 &os_version=9.3.2 &sdk_version=1.9.5r6 ×tamp=1432681913.123456 &gclid=Cj0KEQjw0dy4BRCuuL_e5M &gbraid=ChEI8IixhgYQrufHkIjz3YWRARIzALev_G_O Host: www.googleadservices.com User-Agent: MyAnalyticsCompany/1.0.0 (iOS 10.0.2; en_US; iPhone9,1; Build/13D15; Proxy) X-Forwarded-For: 216.58.194.174 Content-Type: application/json; charset=utf-8
광고 사용자 데이터 동의가 부여되고 광고 개인 최적화가 거부된 EEA 사용자의 유효한 전환 추적 요청의 예는 다음과 같습니다.
POST /pagead/conversion/app/1.0 ?dev_token=Z_eErE4DkvcKjDM1OVE4c4 &link_id=31FF8D67E5BB5DD5029DCC2734C2F884 &app_event_type=in_app_purchase &rdid=0F7AB11F-DA50-498E-B225-21AC1977A85D &id_type=idfa &eea=1 &ad_personalization=0 &ad_user_data=1 &lat=0 &app_version=1.2.4 &os_version=9.3.2 &sdk_version=1.9.5r6 ×tamp=1432681913.123456 &value=1.99 ¤cy_code=USD Host: www.googleadservices.com User-Agent: MyAnalyticsCompany/1.0.0 (iOS 10.0.2; en_US; iPhone9,1; Build/13D15; Proxy) X-Forwarded-For: 216.58.194.174 Content-Type: application/json; charset=utf-8
이벤트 데이터 인코딩
app_event_data
본문 매개변수의 경우 기본 데이터 유형에서 다음 규칙을 사용하세요.
Float
- 앱 현지화와 상관없이 점 문자를 소수점 구분자로 사용
- 금전적 가치를 나타낼 때 소수점 둘째 자리 십진수 사용(예: 2.99)
- 지수 표기법 사용 안 함(예: 2E+9)
- 숫자를 구분할 때 쉼표 문자 사용 안 함(예: 1,000,000)
- 유효한 예:
-0.5
2.99
1000000.123
정수
- 자릿수가 없는 정수값만 전송
- 숫자를 구분할 때 쉼표 문자 사용 안 함(예: 1,000,000)
- 유효한 예:
1000
-11
0
날짜
- 날짜 형식: yyyy-mm-dd
yyyy
= 4자리 연도(예: 2016)mm
= 2자리 월(예: 9월의 경우 09)dd
= 2자리 일(예: 23일의 경우 23)
- 항상 위에 지정된 자릿수만 전송(예: 5일에 대한 dd 값을 전송할 때
05
전송) - 유효한 예:
"2016-09-23"
"1990-12-31"
- 날짜 형식: yyyy-mm-dd
타임스탬프
- 시간 형식: 마이크로초 정밀도의 UTC 시간대로 정의된 Unix/에포크 타임스탬프
- 유효한 예:
1478713087
: 2016년 11월 9일 수요일 17:38:07 GMT1073513982.123000
: 2004년 1월 7일 수요일 22:19:42.123 GMT
배열
- 기본값의 배열 (문자열, 숫자, 부울)만 전송
- 유효한 예:
[123, 456, 789]
["abc"]
전환 추적 응답
전환 추적 응답의 형식은 다음과 같습니다.
{ "ad_events": [<ad event objects>], "errors": [<error strings>], "attributed": true|false }
ad_events 및 errors 배열은 모두 비어있을 수 있습니다.
오류는 기계가 읽을 수 있는 오류 코드가 될 것으로 예상됩니다(예: invalid_timestamp
).
오류 코드
invalid_timestamp - 요청에 유효한 타임스탬프가 없습니다.
eea_missing_or_invalid - 요청에 'eea' 필드가 설정되지 않았거나 필드가 잘못되었습니다.
ad_user_data_missing - 'ad_user_data' 요청 필드가 설정되지 않았습니다. 'ad_user_data' 필드는 범위 내 모든 DMA 요청에 필요합니다.
ad_user_data_invalid - 'ad_user_data' 요청 값이 잘못되었습니다. 'ad_user_data' 필드는 범위 내 모든 DMA 요청에 필요합니다.
ad_personalization_missing_or_invalid - 요청에 'ad_personalization' 필드가 설정되지 않았거나 필드가 잘못되었습니다. 'ad_personalization' 필드는 범위 내 모든 DMA 요청에 필요합니다.
광고 이벤트는 앱 기여 분석의 핵심 객체이며 다음 속성을 포함합니다.
사용자 동의에 따라 달라지는 응답 동작에 관한 중요 참고사항:
전환에 광고 사용자 데이터 동의가 있고 사용자가 Google 사용자 설정 내에서 교차 사용 동의를 한 경우 Google Ads는 모든 CPS에서 단일 마지막 클릭으로 응답합니다. 사용자가 Google 사용자 설정 내에서 교차 사용 동의에 동의하지 않은 경우 Google Ads는 CPS별로 여러 개의 마지막 클릭으로 응답합니다.
전환에 사용자가 선택한 교차 사용 동의에 포함된 특정 CPS가 포함되지만 다른 CPS는 포함되지 않는 경우 Google Ads는 교차 사용 동의가 부여된 CPS에 대해 단일 마지막 클릭으로 응답하지만 교차 사용 동의가 부여되지 않은 CPS에 대해서는 CPS별로 여러 마지막 클릭으로 응답합니다.
전환 추적 응답 | |
---|---|
ad_event_id |
항상 표시 문자열
Q2owS0VRancwZHk0QlJDdXVMX2U1TQ |
conversion_metric |
항상 표시 문자열 기여에 사용된 전환 측정항목입니다. 처음에는 하나의 전환 측정항목을 지원합니다. conversion |
timestamp |
항상 표시 숫자 광고 이벤트가 발생한 UNIX 타임스탬프로, 마이크로초 단위로 표시됩니다. 이 값은 마지막 클릭 기여에 사용해야 합니다. 1432681913.123456 |
campaign_type |
항상 표시 문자열 이 필드는 광고 이벤트를 생성한 캠페인 유형을 식별합니다. 가능한 값은 다음과 같습니다. ACI ACE ACPre Search Display Video Shopping Hotel Performance_Max Other ACI는 설치 유도 앱 캠페인의 약자입니다. ACE는 참여 유도 앱 캠페인의 약자입니다. |
campaign_id |
항상 표시 숫자 광고 이벤트를 생성한 캠페인의 숫자 캠페인 ID입니다. 고유한 값입니다. 123456789 |
campaign_name |
항상 표시 문자열 광고 이벤트를 생성한 캠페인의 광고주 정의 캠페인 이름입니다. 이 값은 고유하지 않습니다. Occasional Gamers (Video) |
ad_type |
항상 표시 문자열 광고 이벤트로 이어진 광고 유형입니다. 이 값을 사용하여 다음과 같은 다양한 유형의 인벤토리를 구분할 수 있습니다. 앱 프로모션ClickToDownload AppDeepLink AppDeepLinkContinue Unknown |
external_customer_id |
항상 표시 숫자 광고 이벤트를 생성한 캠페인을 소유하고 있는 광고주의 광고주 식별자입니다. 이 값을 사용하여 Google Ads 계정을 구분할 수 있습니다. 123456789 |
location |
항상 표시 숫자 광고 이벤트의 지리적 위치에 대한 위치 ID 코드입니다. 위치 코드를 해석하려면 Google Ads API 참조를 참고하세요. |
network_type |
항상 표시 문자열 이 필드는 광고 이벤트가 발생한 Google Ads 광고 네트워크를 식별합니다. 가능한 값은 다음과 같습니다. Search Display YouTube GoogleTv cross-network |
network_subtype |
문자열 이 필드는 광고 이벤트가 발생한 Google Ads 광고 네트워크의 '하위유형'을 식별합니다. 가능한 값은 기본 네트워크 유형에 따라 다릅니다. 검색일반 Google 검색GoogleSearch SearchPartners 디스플레이모바일 웹 게시자mGDN Google AdMob YouTubeYouTube 동영상 네트워크YouTubeVideos YouTubeSearch VideoPartners GoogleTvGoogleTV 동영상 네트워크GoogleTvVideos 교차 네트워크실적 최대화 캠페인 교차 네트워크cross-network |
video_id |
문자열 광고 이벤트와 연결된 YouTube 동영상 ID입니다. dQw4w9WgXcQ |
keyword |
문자열 광고 이벤트와 관련된 검색 키워드입니다. +food +delivery |
match_type |
문자열 검색 키워드의 일치 유형입니다. 완전일치검색e p b |
placement |
문자열 광고 이벤트와 연결된 게재위치입니다. mobileapp::1-343200656 |
ad_group_id |
숫자 광고 이벤트를 생성한 광고 그룹의 숫자 ID입니다. 고유한 값입니다. 123456789 |
ad_group_name |
문자열 광고 이벤트를 생성한 광고 그룹의 광고주 정의 광고 그룹 이름입니다. 이 값은 고유하지 않습니다. My App AdGroup |
creative_id |
숫자 광고 이벤트를 생성한 광고 소재 광고 단위의 숫자 ID입니다. 고유한 값입니다. 123456789 |
interaction_type |
이 필드는 항상 engagement입니다. 문자열 |
샘플 응답
요청에 오류가 있을 때 전환추적 응답의 예는 다음과 같습니다.
{ "ad_events": [], "errors": ["INVALID_CURRENCY_CODE"], "attributed": false }
부정적인 전환추적 응답의 예는 다음과 같습니다.
{ "ad_events": [], "errors": [], "attributed": false }
모든 전환 추적 요청에 대해 전환 추적 응답이 반환됩니다.
유니버설 앱 캠페인에 대한 EEA 외 사용자의 긍정적인 전환추적 응답의 예는 다음과 같습니다.
{ "ad_events": [{ "ad_event_id": "Q2owS0VRancwZHk0QlJDdXVMX2U1TQ", "conversion_metric": "conversion", "interaction_type": "engagement", "campaign_type": "ACI", "campaign_id": 123456789, "campaign_name": "My App Campaign", "ad_type": "ClickToDownload", "external_customer_id": 123456789, "location": 21144, "network_type": "Search", "network_subtype": "GoogleSearch", "video_id": null, "keyword": null, "match_type": null, "placement": null, "ad_group_id": null, "ad_group_name": "", "creative_id": null, "timestamp": 1432681913.123456 }], "errors": [], "attributed": true, "warnings": [] }
검색 캠페인에 대한 EEA 외 사용자의 긍정적인 전환추적 응답의 예는 다음과 같습니다.
{ "ad_events": [{ "ad_event_id": "Q2owS0VRancwZHk0QlJDdXVMX2U1TQ", "conversion_metric": "conversion", "interaction_type": "engagement", "campaign_type": "Search", "campaign_id": 123456789, "campaign_name": "My App Campaign", "ad_type": "ClickToDownload", "external_customer_id": 123456789, "location": 21144, "network_type": "Search", "network_subtype": "GoogleSearch", "video_id": null, "keyword": "+space +birds", "match_type": "b", "placement": null, "ad_group_id": 123456789, "ad_group_name": "My App AdGroup", "creative_id": 123456789, "timestamp": 1432681913.123456 }], "errors": [], "attributed": true, "warnings": [] }
디스플레이 캠페인에 대한 EEA 외 사용자의 긍정적인 전환 추적 응답의 예는 다음과 같습니다.
{ "ad_events": [{ "ad_event_id": "Q2owS0VRancwZHk0QlJDdXVMX2U1TQ", "conversion_metric": "conversion", "interaction_type": "engagement", "campaign_type": "Display", "campaign_id": 123456789, "campaign_name": "My App Campaign", "ad_type": "ClickToDownload", "external_customer_id": 123456789, "location": 21144, "network_type": "Display", "network_subtype": "mGDN", "video_id": null, "keyword": null, "match_type": null, "placement": "mobile-app::2-343200656", "ad_group_id": 123456789, "ad_group_name": "My App AdGroup", "creative_id": 123456789, "timestamp": 1432681913.123456 }], "errors": [], "attributed": true, "warnings": [] }
YouTube 캠페인에 대한 EEA 외 사용자의 긍정적인 전환 추적 응답의 예는 다음과 같습니다.
{ "ad_events": [{ "ad_event_id": "Q2owS0VRancwZHk0QlJDdXVMX2U1TQ", "conversion_metric": "conversion", "interaction_type": "engagement", "campaign_type": "Video", "campaign_id": 123456789, "campaign_name": "My App Campaign", "ad_type": "ClickToDownload", "external_customer_id": 123456789, "location": 21144, "network_type": "YouTube", "network_subtype": "YouTubeVideos", "video_id": "dQw4w9WgXcQ", "keyword": null, "match_type": null, "placement": null, "ad_group_id": 123456789, "ad_group_name": "My App AdGroup", "creative_id": 123456789, "timestamp": 1432681913.123456 }], "errors": [], "attributed": true, "warnings": [] }
전환이 Play + 검색 광고 상호작용 모두에 기여도가 부여되었지만 Play + 검색 CPS 간에 5(2)(b) + 5(2)(c) 교차 사용 동의가 거부된 기여도 부여 전환 추적 응답의 예는 다음과 같습니다.
{ "ad_events": [{ "ad_event_id": "Q2owS0VRancwZHk0QlJDdXVMX2U1TQ", "conversion_metric": "conversion", "interaction_type": "click", "campaign_type": "ACI", "campaign_id": 123456789, "campaign_name": "My App Campaign", "ad_type": "ClickToDownload", "external_customer_id": 123456789, "location": 21144, "network_type": "Display", "network_subtype": "", "video_id": null, "keyword": null, "match_type": null, "placement": null, "ad_group_id": null, "ad_group_name": "", "creative_id": null, "timestamp": 1432681913.123456 }, { "ad_event_id": "I8YUwWqxvOyqcwOcqBAkYZBMaOONSd", "conversion_metric": "conversion", "interaction_type": "click", "campaign_type": "ACI", "campaign_id": 123456789, "campaign_name": "My App Campaign", "ad_type": "ClickToDownload", "external_customer_id": 123456789, "location": 21144, "network_type": "Search", "network_subtype": "", "video_id": null, "keyword": null, "match_type": null, "placement": null, "ad_group_id": null, "ad_group_name": "", "creative_id": null, "timestamp": 1432681913.123456 }, ], "errors": [], "warnings": [], "attributed": true }
전환이 Play + 검색 광고 상호작용과 5(2)(b) + 5(2)(c) 교차 사용 동의에 모두 기여하고 Play + 검색 CPS 간에 동의가 수락된 경우의 기여 전환 추적 응답의 예는 오늘날의 전환 동작과 유사합니다.
{ "ad_events": [{ "ad_event_id": "Q2owS0VRancwZHk0QlJDdXVMX2U1TQ", "conversion_metric": "conversion", "interaction_type": "click", "campaign_type": "ACI", "campaign_id": 123456789, "campaign_name": "My App Campaign", "ad_type": "ClickToDownload", "external_customer_id": 123456789, "location": 21144, "network_type": "Display", "network_subtype": "", "video_id": null, "keyword": null, "match_type": null, "placement": null, "ad_group_id": null, "ad_group_name": "", "creative_id": null, "timestamp": 1432681913.123456 }, ], "errors": [], "warnings": [], "attributed": true }
전환이 Play, 검색, YouTube 광고 상호작용 모두에 기여하고 Play + 검색 CPS 간에는 5(2)(b) + 5(2)(c) 교차 사용 동의가 수락되지만 YouTube CPS에는 거부되는 기여 전환 추적 응답의 예는 다음과 같습니다.
{ "ad_events": [{ "ad_event_id": "Q2owS0VRancwZHk0QlJDdXVMX2U1TQ", "conversion_metric": "conversion", "interaction_type": "click", "campaign_type": "ACI", "campaign_id": 123456789, "campaign_name": "My App Campaign", "ad_type": "ClickToDownload", "external_customer_id": 123456789, "location": 21144, "network_type": "Display", "network_subtype": "", "video_id": null, "keyword": null, "match_type": null, "placement": null, "ad_group_id": null, "ad_group_name": "", "creative_id": null, "timestamp": 1432681913.123456 }, { "ad_event_id": "I8YUwWqxvOyqcwOcqBAkYZBMaOONSd", "conversion_metric": "conversion", "interaction_type": "click", "campaign_type": "ACI", "campaign_id": 123456789, "campaign_name": "My App Campaign", "ad_type": "ClickToDownload", "external_customer_id": 123456789, "location": 21144, "network_type": "Youtube", "network_subtype": "YouTubeVideos", "video_id": null, "keyword": null, "match_type": null, "placement": null, "ad_group_id": null, "ad_group_name": "", "creative_id": null, "timestamp": 1432681913.123456 }, ], "errors": [], "warnings": [], "attributed": true }
교차 네트워크 기여 요청
Google Ads가 전환추적 요청에 대해 긍정적으로 응답하면 API 사용자는 마지막 클릭을 확인한 후 교차 네트워크 기여 결정을 Google Ads에 통보해야 합니다.
교차 네트워크 기여 분석 요청은 기존 전환 추적 요청과 동일하지만 요청 경로는 다음과 같습니다.
/pagead/conversion/app/1.0/cross_network
두 가지 필수 매개변수가 추가되었습니다.
교차 네트워크 기여 요청 | |
---|---|
ad_event_id |
필수 위치: 쿼리 이전 요청의 기여 분석과 연결된 광고 이벤트의 |
attributed |
필수 위치: 쿼리 API 사용자에 의한 전환에 대해 Google Ads에 크레딧이
부여되었는지 여부를 나타내는 값이며, |
유효한 교차 네트워크 기여 분석 요청의 예는 다음과 같습니다.
POST /pagead/conversion/app/1.0/cross_network ?dev_token=Z_eErE4DkvcKjDM1OVE4c4 &link_id=31FF8D67E5BB5DD5029DCC2734C2F884 &app_event_type=custom &app_event_name=level_achieved &rdid=0F7AB11F-DA50-498E-B225-21AC1977A85D &id_type=idfa &lat=0 &app_version=1.2.4 &os_version=9.3.2 &sdk_version=1.9.5r6 ×tamp=1432681913.123456 &value=1.99 ¤cy_code=USD &ad_event_id=Q2owS0VRancwZHk0QlJDdXVMX2U1TQ &attributed=1 Host: www.googleadservices.com User-Agent: MyAnalyticsCompany/1.0.0 (iOS 10.0.2; en_US; iPhone9,1; Build/13D15; Proxy) X-Forwarded-For: 216.58.194.174 Content-Type: application/json; charset=utf-8
유효한 교차 네트워크 기여 분석 요청 시 항상 응답 본문이 없는 일반적인 응답코드 200을 받습니다.