應用程式使用者代理程式
為進一步防範垃圾內容,我們已制定標準規格,供 Analytics/廣告產品代表應用程式使用者傳送 User-Agent 標頭。應用程式 User-Agent 可從原生程式碼衍生,以遵守下列規格:
name version (os_and_version; locale; device; build; Proxy)
這些欄位的定義如下:
User-Agent 元件 | |
---|---|
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 語言代碼,使用兩個字母的語言和國家/地區代碼,並以底線分隔。( AndroidString locale = Locale.getDefault(); iOSNSString *locale = [[NSLocale currentLocale] localeIdentifier] |
device | 執行 Analytics/Ads 產品的實體裝置名稱。( 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]; } |
建構應用程式 User-Agent 伺服器端時,請只在應用程式 User-Agent 結尾加入 ; Proxy
。如果應用程式 User-Agent 完全是在用戶端建構,請排除 ; 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 |
必要 位置:查詢 連結 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 如果缺少裝置 ID (例如未取得 ATT 同意聲明的使用者裝置 ID),請將其設為全零。 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 |
必要 位置:查詢 應用程式主機作業系統的目前版本。請按照下列方式標準化。 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 |
在特定情況下為必填屬性 位置:查詢 深層連結網址的 Cj0KEQjw0dy4BRCuuL_e5M |
market_referrer_gclid |
在特定情況下為必填屬性 位置:查詢 深層連結網址的 BX3QojHp4mY5MrJtFM_d1u |
gclid_only_request |
在特定情況下為必填屬性 位置:查詢 在 rdid (advertisingid) 1 |
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 接收的 Ping。
請注意,如果要求主體為空白 (即 app_event_data
酬載中未傳遞任何豐富的事件資料),伺服器會要求您在要求中明確設定 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
以下是歐洲經濟區使用者同意提供廣告使用者資料,但拒絕廣告個人化時,有效的轉換追蹤要求範例:
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
= 以四位數字表示的年份,例如 2016mm
= 兩位數的月份,例如 09 代表 9 月dd
= 兩位數的日期,例如當月 23 號為 23
- 請務必傳送上述指定的位數,例如,如果傳送該月 5 號的 dd 值,請傳送
05
。 - 有效範例:
"2016-09-23"
"1990-12-31"
- 日期格式:yyyy-mm-dd
時間戳記
- 時間格式:以世界標準時間時區定義的 Unix/Epoch 時間戳記,精確度最高可達微秒
- 有效範例:
1478713087
for Wed, 09 Nov 2016 17:38:07 GMT1073513982.123000
for Wed, 07 Jan 2004 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」要求欄位。所有適用 DMA 要求的請求都必須提供「ad_user_data」欄位。
ad_user_data_invalid - 「ad_user_data」要求值無效。所有適用 DMA 要求的請求都必須提供「ad_user_data」欄位。
ad_personalization_missing_or_invalid - 要求未設定「ad_personalization」欄位,或該欄位無效。所有適用 DMA 的要求都必須填寫「ad_personalization」欄位。
廣告事件是應用程式歸因的核心物件,包含下列屬性。
重要注意事項:回應行為取決於使用者同意聲明:
如果轉換有廣告使用者資料同意聲明,且使用者已在 Google 使用者設定中同意跨用途使用,Google Ads 會在所有 CPS 中,回應單一的最後點擊。如果使用者未在 Google 使用者設定中同意跨服務使用同意聲明,Google Ads 會以每次銷售成本為依據,傳回多個最後點擊。
如果轉換包含使用者選取跨用途同意聲明中的特定 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 |
一律顯示 數字 廣告主 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 |
這個欄位一律為「參與度」。 字串 |
回覆範例
如果要求含有錯誤,轉換追蹤回應範例如下:
{ "ad_events": [], "errors": ["INVALID_CURRENCY_CODE"], "attributed": false }
負面轉換追蹤回應範例如下:
{ "ad_events": [], "errors": [], "attributed": false }
系統會針對所有轉換追蹤要求傳回轉換追蹤回應。
以下是針對非歐洲經濟區使用者,對通用應用程式廣告活動發出的肯定轉換追蹤回應範例:
{ "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": [] }
以下是搜尋廣告活動針對非歐洲經濟區使用者傳回的肯定轉換追蹤回應範例:
{ "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": [] }
以下是多媒體廣告活動的肯定轉換追蹤回應範例 (適用於非歐洲經濟區使用者):
{ "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 廣告活動針對非歐洲經濟區使用者,傳回肯定轉換追蹤回應的範例:
{ "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 + 搜尋廣告互動,且 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 }, ], "errors": [], "warnings": [], "attributed": true }
以下是已歸因轉換追蹤回應的範例,其中轉換歸因於 Google Play、Google 搜尋和 YouTube 廣告互動,且 Google Play + Google 搜尋 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 |
必要 位置:查詢 Google Ads 是否已透過 API 消費者獲得轉換功勞。 |
有效的跨聯播網歸因要求範例如下:
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 回應,且沒有回應主體。