앱 전환 추적 및 리마케팅 - 요청/응답 사양

앱 사용자 에이전트

Google은 스팸 퇴치를 위한 광범위한 노력의 일환으로 앱 사용자를 대신하여 분석/광고 제품에서 전송한 사용자-에이전트 헤더에 대한 표준화된 사양을 개발했습니다. 앱 사용자-에이전트는 다음 사양을 준수하도록 기본 코드에서 파생될 수 있습니다.

name version (os_and_version; locale; device; build; Proxy)

이들 필드의 정의는 다음과 같습니다.

사용자 에이전트 구성요소
name

분석/광고 제품의 이름입니다. (Google AdMob)

사용자 에이전트가 클라이언트 측에서 구성된 경우 name이 클라이언트 앱의 번들 ID가 되어야 합니다.


Android
// Specified by API consumer.

iOS
// Specified by API consumer.
version

분석/광고 제품의 버전입니다. (7.10.1)


Android
// Specified by API consumer.

iOS
// Specified by API consumer.
os_and_version

앱이 실행되고 있는 운영체제 및 운영체제 버전입니다. (Android 6.0 )


Android
String osAndVersion =
    "Android " + Build.VERSION.RELEASE;

iOS
UIDevice *uid =
  [UIDevice currentDevice];
NSString *osAndVersion =
  [NSString
    stringWithFormat:@"%@ %@",
    [uid systemName],
    [uid systemVersion]];
locale

기기의 IETF 언어 태그이며, 2자리로 된 언어 및 국가 코드를 밑줄로 구분하여 사용합니다. (en_US)


Android
String locale = Locale.getDefault();

iOS
NSString *locale =
  [[NSLocale currentLocale]
    localeIdentifier]
device

분석/광고 제품을 실행하는 실제 기기의 이름입니다. (iPhone9,1)


Android
String 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/' 다음에 운영체제의 빌드 번호가 표시됩니다. (Build/13D15)


Android
String 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
여기서 version은 전환 추적 API의 의도된 버전입니다. 현재 유일하게 유효한 버전은 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

first_open 이벤트는 항상 설치에 기여하기 위해 전송해야 하며 session_start 이벤트는 항상 세션에 다시 기여하기 위해 전송해야 합니다. 기본 앱 스토어를 통해 이루어지는 구매에는 in_app_purchase를 사용하고 다른 모든 구매에는 ecommerce_purchase를 사용합니다.

app_event_name

특정 조건 하에서 필수


위치: 쿼리


app_event_type 필드에서 허용되지 않는 맞춤 앱 이벤트의 이름입니다. 이 필드는 1~64자(영문 기준)의 유니코드 문자(UTF-8 인코딩 사용)를 포함해야 합니다. app_event_type custom 인 경우 이 필드는 필수입니다.

level_achieved
Level Achieved

이 필드에는 app_event_type용으로 예약된 값이 포함되어서는 안 됩니다. 예약된 이벤트 이름이 사용되면 API에서 APP_EVENT_NAME_RESERVED_VALUE 오류를 반환합니다.

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

필수


위치: 쿼리


rdid 필드에 저장된 식별자 유형입니다. Google에서 앞으로 더 많은 값을 사용할 수도 있지만, 우선은 다음과 같은 값을 지원할 예정입니다.


Android

advertisingid

iOS

idfa
eea

특정 조건 하에서 필수


위치: 쿼리


EEA 범위입니다.

0: 이 사용자 및 전환에 유럽 규정이 적용되지 않습니다.

1: 이 사용자 및 전환에 유럽 규정이 적용됩니다. 예를 들어 사용자가 EEA에 있는 경우 관련 유럽 규정의 적용 범위에 속합니다.


*Required to be sent when the value is known.

ad_personalization

특정 조건 하에서 필수


위치: 쿼리


개인 맞춤 광고 플래그

0: 최종 사용자가 광고 개인 최적화 동의를 거부함

1: 최종 사용자가 광고 개인 최적화 동의를 부여함


*Required to be sent when the value is known.

ad_user_data

특정 조건 하에서 필수


위치: 쿼리


광고 목적으로 사용자 데이터를 사용하는 것에 대한 동의 플래그

0: 사용자가 광고 목적으로 사용자 수준 데이터를 Google에 전송하는 것에 동의하지 않음

1: 사용자가 광고 목적으로 사용자 수준 데이터를 Google에 전송하는 것에 동의함


*Required to be sent when the value is known.

lat

필수


위치: 쿼리


기기에 대한 광고 추적 제한 상태입니다.

  • 0: 사용자가 광고 추적을 제한하지 않음
  • 1: 사용자가 광고 추적을 제한함

app_version

필수


위치: 쿼리


앱의 현재 버전으로, 다음과 같이 표준화해야 합니다.


Android

packageManager.getPackageInfo(packageName(),
  PackageManager.GET_META_DATA).versionName

iOS

[[[NSBundle mainBundle] infoDictionary]
  objectForKey:@"CFBundleShortVersionString"]

1.2.4
os_version

필수


위치: 쿼리


앱 호스트 OS의 현재 버전입니다. 다음과 같이 표준화해야 합니다.


Android

android.os.Build.VERSION.RELEASE

iOS

[[UIDevice currentDevice] systemVersion]
sdk_version

필수


위치: 쿼리


이벤트를 측정한 SDK 버전입니다. 이는 주로 디버깅에 사용되므로 함께 출시된 SDK 버전과 정확히 일치해야 합니다. 앱에서 SDK를 사용하지 않는 경우 app_version과 같은 값을 전달하세요.

1.9.5r6
timestamp

필수


위치: 쿼리


전환 이벤트가 발생한 UNIX 타임스탬프로, 마이크로초 단위로 표시됩니다.

1432681913.123456
value

선택사항


위치: 쿼리


이벤트의 금전적 가치입니다(있는 경우). 이 값은 값의 정수 부분과 소수 부분을 구분하기 위해 소수점을 사용하여 기계가 읽을 수 있는 부동소수점 값으로 항상 지정해야 합니다.

1.99
currency_code

특정 조건 하에서 필수


위치: 쿼리


value 매개변수의 ISO 4217 통화 코드입니다. value 매개변수가 제공되고 빈 칸이 아닌 경우에는 이 필드가 필수항목입니다.

USD
gclid

특정 조건 하에서 필수


위치: 쿼리


앱을 연 딥 링크 URL에서 가져온 gclid 쿼리 매개변수의 값입니다.

Cj0KEQjw0dy4BRCuuL_e5M
market_referrer_gclid

특정 조건 하에서 필수


위치: 쿼리


Play Install Referrer API를 통해 install_referrer 값에서 캡처된 딥 링크 URL의 gclid 쿼리 매개변수 값입니다.

BX3QojHp4mY5MrJtFM_d1u
gclid_only_request

특정 조건 하에서 필수


위치: 쿼리


rdid (advertisingid)가 not 사용 가능하거나 모든 zeroesgclid 또는 market_referrer_gclid가 있는 시나리오에서 gclid 기반 속성의 식별자입니다.

1
gbraid

특정 조건 하에서 필수


위치: 쿼리


앱을 연 딥 링크 URL을 통해 전송된 마지막으로 확인된 gbraid 값입니다. 앱에서 발생하는 향후 전환과 함께 전송될 수 있도록 앱에 캐시해야 합니다.

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
       &timestamp=1432681913.123456
       &value=1.99
       &currency_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
       &timestamp=1432681913.123456
       &value=1.99
       &currency_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
       &timestamp=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
       &timestamp=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
       &timestamp=1432681913.123456
       &value=1.99
       &currency_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"
  • 타임스탬프

    • 시간 형식: 마이크로초 정밀도의 UTC 시간대로 정의된 Unix/에포크 타임스탬프
    • 유효한 예:
      • 1478713087: 2016년 11월 9일 수요일 17:38:07 GMT
      • 1073513982.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_eventserrors 배열은 모두 비어있을 수 있습니다.

오류는 기계가 읽을 수 있는 오류 코드가 될 것으로 예상됩니다(예: 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

항상 표시


문자열


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

campaign_typeACI 또는 ACE이고 network_typeDisplay이면 null이 됩니다.


문자열


이 필드는 광고 이벤트가 발생한 Google Ads 광고 네트워크의 '하위유형'을 식별합니다. 가능한 값은 기본 네트워크 유형에 따라 다릅니다.


일반 Google 검색
GoogleSearch
Google 검색 파트너
SearchPartners

디스플레이

모바일 웹 게시자
mGDN
앱 게시자
Google AdMob

YouTube

YouTube 동영상 네트워크
YouTubeVideos
YouTube 검색 네트워크
YouTubeSearch
동영상 파트너
VideoPartners

GoogleTv

GoogleTV 동영상 네트워크
GoogleTvVideos

교차 네트워크

실적 최대화 캠페인 교차 네트워크
cross-network
video_id

network_typeYouTube이고 campaign_typeACIACE아닌 경우에만 제공됩니다.


문자열


광고 이벤트와 연결된 YouTube 동영상 ID입니다.

dQw4w9WgXcQ
keyword

network_typeSearch이고 campaign_typeACIACE아닌 경우에만 제공됩니다.


문자열


광고 이벤트와 관련된 검색 키워드입니다.

+food +delivery
match_type

network_typeSearch이고 campaign_typeACIACE아닌 경우에만 제공됩니다.


문자열


검색 키워드의 일치 유형입니다.

완전일치검색
e
구문
p
확장
b
placement

network_typeDisplay이고 campaign_typeACIACE아닌 경우에만 제공됩니다.


문자열


광고 이벤트와 연결된 게재위치입니다.

mobileapp::1-343200656
ad_group_id

campaign_typePerformance_Max이 아닌 경우에만 제공됩니다.


숫자


광고 이벤트를 생성한 광고 그룹의 숫자 ID입니다. 고유한 값입니다.

123456789
ad_group_name

campaign_typeACI, ACE 또는 ACPRE인 경우에만 제공됩니다.


문자열


광고 이벤트를 생성한 광고 그룹의 광고주 정의 광고 그룹 이름입니다. 이 값은 고유하지 않습니다.

My App AdGroup
creative_id

campaign_typeACI, ACE, ACPRE 또는 Performance_Max아닌 경우에만 제공됩니다.


숫자


광고 이벤트를 생성한 광고 소재 광고 단위의 숫자 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": []
}
{
  "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
}
{
  "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
}
{
  "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

필수


위치: 쿼리


이전 요청의 기여 분석과 연결된 광고 이벤트의 ad_event_id 식별자입니다.

attributed

필수


위치: 쿼리


API 사용자에 의한 전환에 대해 Google Ads에 크레딧이 부여되었는지 여부를 나타내는 값이며, 0 또는 1.

유효한 교차 네트워크 기여 분석 요청의 예는 다음과 같습니다.

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
       &timestamp=1432681913.123456
       &value=1.99
       &currency_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을 받습니다.