Agen Pengguna Aplikasi
Sebagai bagian dari upaya kami yang lebih luas untuk memerangi spam, kami telah mengembangkan spesifikasi standar untuk header Agen Pengguna yang dikirim oleh produk analisis/iklan atas nama pengguna aplikasi. User-Agent aplikasi dapat diperoleh dari kode native untuk mematuhi spesifikasi berikut:
name version (os_and_version; locale; device; build; Proxy)
Definisi kolom ini adalah sebagai berikut:
Komponen Agen Pengguna | |
---|---|
name | Nama produk Analytics/Google Ads. ( Perhatikan bahwa jika agen pengguna dibuat di sisi klien, Android// Specified by API consumer. iOS// Specified by API consumer. |
version | Versi produk Analytics/Ads.
( Android// Specified by API consumer. iOS// Specified by API consumer. |
os_and_version | Sistem operasi dan versi sistem operasi tempat aplikasi berjalan. ( AndroidString osAndVersion = "Android " + Build.VERSION.RELEASE; iOSUIDevice *uid = [UIDevice currentDevice]; NSString *osAndVersion = [NSString stringWithFormat:@"%@ %@", [uid systemName], [uid systemVersion]]; |
locale | Tag lokalitas IETF untuk perangkat, menggunakan kode negara dan bahasa dua huruf yang dipisahkan oleh garis bawah.
( AndroidString locale = Locale.getDefault(); iOSNSString *locale = [[NSLocale currentLocale] localeIdentifier] |
device | Nama perangkat fisik yang menjalankan produk 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/" diikuti dengan nomor build sistem
operasi.
( 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]; } |
Hanya sertakan ; Proxy
di akhir Agen Pengguna aplikasi saat membuat
Agen Pengguna aplikasi di sisi server. Jika Agen Pengguna aplikasi sepenuhnya dibuat di sisi
klien, kecualikan ; Proxy
. Jadi, Agen Pengguna aplikasi mungkin:
- 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)
Permintaan Tracking Konversi
Tujuan permintaan tracking konversi adalah untuk memberi tahu Google Ads tentang peristiwa aplikasi yang harus dilacak sebagai konversi dan/atau digunakan untuk mengisi daftar pemasaran ulang, dan untuk mengambil metadata yang menjelaskan klik apa pun yang mendahului peristiwa tersebut.
Semua panggilan API dilakukan ke domain www.googleadservices.com
. Permintaan
konversi adalah permintaan POST
melalui HTTPS di jalur berikut:
/pagead/conversion/app/version
1.0
.
Permintaan konversi aplikasi standar akan berisi parameter berikut.
Permintaan Tracking Konversi | |
---|---|
dev_token |
Wajib Lokasi: Kueri Token developer statis dan unik yang dikeluarkan untuk konsumen API. Z_eErE4DkvcKjDM1OVE4c4 |
link_id |
Wajib Lokasi: Kueri ID penautan yang mengikat token developer konsumen API ke aplikasi tertentu. 31FF8D67E5BB5DD5029DCC2734C2F884 |
app_event_type |
Wajib Lokasi: Kueri Nama peristiwa aplikasi yang terjadi. Kolom ini adalah enumerasi, dan hanya akan menerima nilai berikut: • first_open • session_start • in_app_purchase • view_item_list • view_item • view_search_results • add_to_cart • ecommerce_purchase • custom Peristiwa |
app_event_name |
Wajib dalam kondisi tertentu Lokasi: Kueri Nama peristiwa aplikasi kustom yang tidak diterima di kolom
level_achieved Level Achieved Kolom ini tidak boleh berisi nilai apa pun yang dicadangkan untuk
|
app_event_data |
Opsional Lokasi: Tubuh Teruskan data peristiwa multimedia tambahan sebagai pemetaan string objek JSON sederhana dari kunci ke nilai. Nilai yang dapat diterima adalah string dan array string. {"level": 5, "attempts": 20} |
rdid |
Wajib Lokasi: Kueri String UUID yang valid yang merepresentasikan ID perangkat mentah. f10e1de2-e237-4f50-b6aa-843c45cc63d6 Jika ID perangkat tidak ada, seperti ID perangkat dari pengguna ATT yang tidak memberikan izin, tetapkan sebagai nol semua. 00000000-0000-0000-0000-000000000000 |
id_type |
Wajib Lokasi: Kueri Jenis ID yang disimpan di kolom Androidadvertisingid iOSidfa |
eea |
Wajib dalam kondisi tertentu Lokasi: Kueri Cakupan EEA.
|
ad_personalization |
Wajib dalam kondisi tertentu Lokasi: Kueri Tanda untuk iklan yang dipersonalisasi
|
ad_user_data |
Wajib dalam kondisi tertentu Lokasi: Kueri Flag izin untuk penggunaan data pengguna untuk tujuan iklan
|
lat |
Wajib Lokasi: Kueri Status batasi pelacakan iklan untuk perangkat.
|
app_version |
Wajib Lokasi: Kueri Versi aplikasi saat ini. Ini harus distandardisasi sebagai berikut. AndroidpackageManager.getPackageInfo(packageName(), PackageManager.GET_META_DATA).versionName iOS[[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"] 1.2.4 |
os_version |
Wajib Lokasi: Kueri Versi OS host aplikasi saat ini. Hal ini harus distandardisasi sebagai berikut. Androidandroid.os.Build.VERSION.RELEASE iOS[[UIDevice currentDevice] systemVersion] |
sdk_version |
Wajib Lokasi: Kueri Versi SDK yang mengukur peristiwa. Karena terutama digunakan untuk proses debug, versi ini harus mencerminkan versi rilis persis seperti yang dipublikasikan dengan rilis SDK Anda. Jika aplikasi tidak menggunakan SDK, teruskan nilai yang sama
dengan 1.9.5r6 |
timestamp |
Wajib Lokasi: Kueri Stempel waktu UNIX saat peristiwa konversi terjadi, dalam detik dengan presisi hingga mikrodetik. 1432681913.123456 |
value |
Opsional Lokasi: Kueri Nilai uang dari peristiwa, jika ada. Nilai ini harus selalu diformat sebagai nilai bilangan titik mengambang yang dapat dibaca mesin menggunakan titik desimal untuk memisahkan bilangan bulat dan bagian pecahan dari nilai. 1.99 |
currency_code |
Wajib dalam kondisi tertentu Lokasi: Kueri Kode mata uang ISO 4217 untuk parameter USD |
gclid |
Wajib dalam kondisi tertentu Lokasi: Kueri Nilai parameter kueri Cj0KEQjw0dy4BRCuuL_e5M |
market_referrer_gclid |
Wajib dalam kondisi tertentu Lokasi: Kueri Nilai parameter kueri BX3QojHp4mY5MrJtFM_d1u |
gclid_only_request |
Wajib dalam kondisi tertentu Lokasi: Kueri ID untuk atribusi berbasis 1 |
gbraid |
Wajib dalam kondisi tertentu Lokasi: Kueri Nilai ChEI8IixhgYQrufHkIjz3YWRARIzALev_G_O |
app_open_source |
Wajib dalam kondisi tertentu Lokasi: Kueri Nilai untuk mengidentifikasi deep link klik iklan atau sesi aplikasi organik. ad_click or organic |
User-Agent |
Wajib Lokasi: Header Agen pengguna aplikasi seperti yang ditentukan di bagian sebelumnya. AdMob/7.10.1 (Android 6.0; en_US; SM-G900F; Build/MMB29M) |
X-Forwarded-For |
Wajib Lokasi: Header Alamat IPv4 atau IPv6 publik perangkat tempat peristiwa diukur. 216.58.194.174 |
Semua permintaan harus dikirim melalui HTTPS. Ping yang diterima melalui HTTP akan ditolak.
Perhatikan bahwa jika isi permintaan kosong (dalam kasus saat tidak ada data peristiwa multimedia
yang diteruskan dalam payload app_event_data
), server kami mewajibkan
Anda untuk secara eksplisit menyetel header Content-Length: 0
pada permintaan Anda.
Contoh Permintaan
Contoh permintaan pelacakan konversi yang valid dengan jenis peristiwa non-kustom dan informasi pendapatan adalah:
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"]}}
Contoh permintaan tracking konversi yang valid dengan jenis peristiwa non-kustom dan informasi pendapatan dengan rdid (advertisingid) tidak tersedia adalah:
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"]}}
Contoh permintaan mulai sesi yang valid adalah:
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
Contoh permintaan mulai sesi reatribusi yang valid untuk sesi yang dimulai dari deep link example://product/123?gclid=Cj0KEQjw0dy4BRCuuL_e5M
adalah:
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
Contoh permintaan tracking konversi yang valid untuk pengguna EEA dengan izin data pengguna iklan diberikan dan personalisasi iklan ditolak adalah:
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
Encoding Data Peristiwa
Untuk parameter isi app_event_data
, gunakan konvensi berikut untuk jenis data primitif:
Float
- Menggunakan karakter titik sebagai pemisah desimal secara terpisah dari pelokalan aplikasi
- Gunakan presisi desimal dua digit untuk merepresentasikan nilai moneter. misalnya 2,99
- Jangan menggunakan notasi eksponensial, misalnya 2E+9
- Jangan gunakan karakter koma untuk memisahkan kelompok digit, misalnya 1.000.000
- Contoh yang valid:
-0.5
2.99
1000000.123
Bilangan Bulat
- Hanya mengirimkan nilai bilangan bulat tanpa digit desimal
- Jangan gunakan karakter koma untuk memisahkan kelompok digit, misalnya 1.000. 000
- Contoh yang valid:
1000
-11
0
Date
- Format tanggal: yyyy-mm-dd
yyyy
= tahun empat digit, misalnya 2016mm
= bulan dua digit, misalnya 09 untuk Septemberdd
= hari dua digit, misalnya 23 untuk hari ke-23 dalam sebulan
- Selalu kirim jumlah digit yang ditentukan di atas, misalnya, jika mengirim
nilai untuk dd pada hari ke-5 dalam sebulan, kirim
05
. - Contoh yang valid:
"2016-09-23"
"1990-12-31"
- Format tanggal: yyyy-mm-dd
Stempel waktu
- Format waktu: Stempel waktu Unix/Epoch yang ditentukan dalam zona waktu UTC dengan presisi hingga mikrodetik
- Contoh yang valid:
1478713087
untuk Wed, 09 Nov 2016 17:38:07 GMT1073513982.123000
untuk Wed, 07 Jan 2004 22:19:42.123 GMT
Array
- Hanya kirimkan array nilai primitif (string, angka, dan boolean)
- Contoh yang Valid:
[123, 456, 789]
["abc"]
Respons Tracking Konversi
Respons tracking konversi memiliki format berikut:
{ "ad_events": [<ad event objects>], "errors": [<error strings>], "attributed": true|false }
Array ad_events dan errors mungkin kosong.
Kami berharap error akan berupa kode error yang dapat dibaca mesin, misalnya invalid_timestamp
.
Kode Error
invalid_timestamp - Permintaan tidak memiliki stempel waktu yang valid.
eea_missing_or_invalid - Permintaan tidak menyetel kolom "eea" atau tidak valid.
ad_user_data_missing - Kolom permintaan "ad_user_data" tidak ditetapkan. Kolom "ad_user_data" wajib diisi untuk semua permintaan DMA yang tercakup.
ad_user_data_invalid - Nilai permintaan "ad_user_data" tidak valid. Kolom "ad_user_data" wajib diisi untuk semua permintaan DMA yang tercakup.
ad_personalization_missing_or_invalid - Permintaan tidak menyetel kolom "ad_personalization" atau tidak valid. Kolom "ad_personalization" wajib diisi untuk semua permintaan DMA yang tercakup.
Peristiwa iklan adalah objek inti atribusi aplikasi, dan akan berisi properti berikut.
Catatan penting terkait perilaku respons yang bergantung pada izin pengguna:
Jika konversi memiliki izin data pengguna iklan dan pengguna memiliki izin penggunaan lintas-penggunaan dalam setelan pengguna Google-nya, Google Ads akan merespons dengan satu klik terakhir di semua CPS-nya. Jika pengguna belum memberikan izin untuk penggunaan lintas izin dalam setelan pengguna Google mereka, Google Ads akan merespons dengan beberapa klik terakhir, berdasarkan CPS.
Jika konversi mencakup CPS tertentu dalam izin penggunaan lintas-CPS yang dipilih pengguna, tetapi tidak mencakup CPS lainnya, Google Ads akan merespons dengan satu klik terakhir di seluruh CPS yang diberi izin penggunaan lintas-CPS, tetapi dengan beberapa klik terakhir, berdasarkan per CPS, untuk CPS yang tidak diberi izin penggunaan lintas-CPS.
Respons Tracking Konversi | |
---|---|
ad_event_id |
Selalu ada string
Q2owS0VRancwZHk0QlJDdXVMX2U1TQ |
conversion_metric |
Selalu ada string Metrik konversi yang digunakan untuk atribusi. Awalnya kami hanya akan mendukung satu metrik konversi. conversion |
timestamp |
Selalu ada angka Stempel waktu UNIX saat peristiwa iklan terjadi, dalam detik dengan presisi hingga mikrodetik. Nilai ini harus digunakan untuk atribusi klik terakhir. 1432681913.123456 |
campaign_type |
Selalu ada string Kolom ini akan mengidentifikasi jenis kampanye yang menghasilkan peristiwa iklan. Nilai yang mungkin adalah sebagai berikut. ACI ACE ACPre Search Display Video Shopping Hotel Performance_Max Other ACI adalah singkatan dari Kampanye Aplikasi untuk Penginstalan. ACE adalah singkatan dari Kampanye Aplikasi untuk Engagement. |
campaign_id |
Selalu ada angka ID kampanye numerik dari kampanye yang menghasilkan peristiwa iklan. Nilai ini dijamin unik. 123456789 |
campaign_name |
Selalu ada string Nama kampanye yang ditentukan pengiklan untuk kampanye yang menghasilkan peristiwa iklan. Nilai ini tidak dijamin unik. Occasional Gamers (Video) |
ad_type |
Selalu ada string Jenis iklan yang menghasilkan peristiwa iklan. Nilai ini dapat digunakan untuk membedakan berbagai jenis inventaris sebagai berikut. Promosi AplikasiClickToDownload AppDeepLink AppDeepLinkContinue Unknown |
external_customer_id |
Selalu ada angka ID pengiklan untuk pengiklan yang memiliki kampanye yang menghasilkan peristiwa iklan. Nilai ini dapat digunakan untuk membedakan akun Google Ads. 123456789 |
location |
Selalu ada angka Kode ID lokasi untuk lokasi geografis peristiwa iklan. Lihat referensi Google Ads API untuk menafsirkan kode lokasi. |
network_type |
Selalu ada string Kolom ini akan mengidentifikasi jaringan iklan Google Ads tempat peristiwa iklan terjadi. Kemungkinan nilainya adalah sebagai berikut. Search Display YouTube GoogleTv cross-network |
network_subtype |
Akan menjadi string Kolom ini akan mengidentifikasi “subjenis” jaringan iklan Google Ads tempat peristiwa iklan terjadi. Kemungkinan nilai bervariasi menurut jenis jaringan utama. TelusuriGoogle Penelusuran biasaGoogleSearch SearchPartners DisplayPenayang Web SelulermGDN Google AdMob YouTubeJaringan Video YouTubeYouTubeVideos YouTubeSearch VideoPartners GoogleTvJaringan Video GoogleTVGoogleTvVideos lintas jaringanPerforma Maksimal lintas jaringancross-network |
video_id |
Hanya diberikan jika string ID video YouTube yang terkait dengan peristiwa iklan. dQw4w9WgXcQ |
keyword |
Hanya diberikan jika string Kata kunci penelusuran yang terkait dengan peristiwa iklan. +food +delivery |
match_type |
Hanya diberikan jika string Jenis pencocokan untuk kata kunci penelusuran. Persise p b |
placement |
Hanya diberikan jika string Penempatan yang terkait dengan peristiwa iklan. mobileapp::1-343200656 |
ad_group_id |
Hanya diberikan jika angka ID numerik grup iklan yang menghasilkan peristiwa iklan. Nilai ini dijamin unik. 123456789 |
ad_group_name |
Hanya diberikan jika string Nama grup iklan yang ditentukan pengiklan dari grup iklan yang menghasilkan peristiwa iklan. Nilai ini tidak dijamin unik. My App AdGroup |
creative_id |
Hanya diberikan jika angka ID numerik unit iklan materi iklan yang menghasilkan peristiwa iklan. Nilai ini dijamin unik. 123456789 |
interaction_type |
Kolom ini akan selalu berupa engagement. string |
Respons Contoh
Contoh respons pelacakan konversi saat permintaan berisi error adalah:
{ "ad_events": [], "errors": ["INVALID_CURRENCY_CODE"], "attributed": false }
Contoh respons pelacakan konversi negatif adalah:
{ "ad_events": [], "errors": [], "attributed": false }
Respons tracking konversi akan ditampilkan untuk semua permintaan tracking konversi.
Contoh respons tracking konversi afirmatif untuk pengguna di luar EEA untuk Kampanye Aplikasi Universal adalah:
{ "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": [] }
Contoh respons tracking konversi afirmatif untuk pengguna di luar EEA untuk kampanye Penelusuran adalah:
{ "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": [] }
Contoh respons tracking konversi afirmatif untuk pengguna di luar EEA untuk kampanye Display adalah:
{ "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": [] }
Contoh respons tracking konversi afirmatif untuk pengguna di luar EEA untuk kampanye YouTube adalah:
{ "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": [] }
Contoh respons pelacakan konversi yang diatribusikan dengan konversi diatribusikan ke interaksi iklan Play + Penelusuran, tetapi izin penggunaan lintas-layanan 5(2)(b) + 5(2)(c) antara CPS Play + Penelusuran ditolak adalah:
{ "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 }
Contoh respons tracking konversi yang diatribusikan dengan konversi yang diatribusikan ke interaksi iklan Penelusuran + Play dan izin penggunaan lintas layanan CPS Penelusuran + Play 5(2)(b) + 5(2)(c) diterima antara CPS Penelusuran + Play serupa dengan perilaku konversi saat ini:
{ "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 }
Contoh respons pelacakan konversi yang diatribusikan dengan konversi diatribusikan ke interaksi iklan Play, Penelusuran, dan YouTube, serta izin penggunaan lintas layanan 5(2)(b) + 5(2)(c) disetujui antara CPS Play + Penelusuran, tetapi ditolak untuk CPS YouTube adalah:
{ "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 }
Permintaan Atribusi Lintas Jaringan
Saat Google Ads merespons permintaan tracking konversi secara afirmatif, konsumen API harus memberi tahu Google Ads tentang keputusan atribusi lintas jaringannya setelah mengidentifikasi klik terakhir.
Permintaan atribusi lintas jaringan sama dengan permintaan tracking konversi asli, tetapi dengan jalur permintaan:
/pagead/conversion/app/1.0/cross_network
dan penambahan dua parameter wajib:
Permintaan Atribusi Lintas Jaringan | |
---|---|
ad_event_id |
Wajib Lokasi: Kueri ID |
attributed |
Wajib Lokasi: Kueri Apakah Google Ads menerima kredit untuk konversi tersebut dari konsumen API atau tidak. |
Contoh permintaan atribusi lintas jaringan yang valid adalah:
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
Permintaan atribusi lintas jaringan yang valid akan selalu menerima respons 200 generik tanpa isi respons.