Video: Tonton presentasi Layanan dan Referensi dari workshop 2019
Panduan ini memperkenalkan komponen utama yang membentuk Google Ads API. Google Ads API terdiri dari resource dan layanan. Resource mewakili entity Google Ads, sedangkan layanan mengambil dan memanipulasi entity Google Ads.
Hierarki objek
Akun Google Ads dapat dilihat sebagai hierarki objek.
Resource tingkat teratas akun adalah pelanggan.
Setiap pelanggan berisi satu atau beberapa kampanye aktif.
Setiap kampanye berisi satu atau beberapa grup iklan, yang digunakan untuk mengelompokkan iklan Anda ke dalam koleksi yang logis.
Iklan grup iklan mewakili iklan yang Anda jalankan. Kecuali untuk kampanye aplikasi yang hanya dapat memiliki satu iklan grup iklan per grup iklan, setiap grup iklan berisi satu atau beberapa iklan grup iklan.
Anda dapat melampirkan satu atau beberapa AdGroupCriterion
atau CampaignCriterion
ke grup iklan atau
kampanye. Ini mewakili kriteria yang menentukan cara iklan dipicu.
Ada banyak jenis kriteria, seperti kata kunci, rentang usia, dan lokasi. Kriteria yang ditentukan di tingkat kampanye memengaruhi semua resource lain dalam kampanye. Anda juga dapat menentukan anggaran dan tanggal untuk seluruh kampanye.
Terakhir, Anda dapat melampirkan ekstensi di tingkat akun, kampanye, atau grup iklan. Ekstensi memungkinkan Anda memberikan informasi tambahan ke iklan, seperti nomor telepon, alamat, atau promosi.
Resource
Resource mewakili entitas dalam akun Google Ads Anda. Campaign
dan AdGroup
adalah dua contoh
resource.
ID Objek
Setiap objek di Google Ads diidentifikasi dengan ID-nya sendiri. Beberapa ID ini bersifat unik secara global di semua akun Google Ads, sementara ID lainnya hanya unik dalam cakupan terbatas.
ID Objek | Cakupan Keunikan | Unik Secara Global? |
---|---|---|
ID Anggaran | Global | Ya |
ID kampanye | Global | Ya |
Nomor Grup Iklan | Global | Ya |
ID Iklan | Grup Iklan | Tidak, tetapi pasangan (AdGroupId , AdId ) bersifat unik secara global |
ID AdGroupCriterion | Grup Iklan | Tidak, tetapi pasangan (AdGroupId , CriterionId ) bersifat unik secara global |
ID CampaignCriterion | Kampanye | Tidak, tetapi pasangan (CampaignId , CriterionId ) bersifat unik secara global |
Ekstensi Iklan | Kampanye | Tidak, tetapi pasangan (CampaignId , AdExtensionId ) bersifat unik secara global |
ID Feed | Global | Ya |
ID Item Feed | Global | Ya |
ID Atribut Feed | Feed | Tidak |
ID Pemetaan Feed | Global | Ya |
ID Label | Global | Ya |
ID Daftar Pengguna | Global | Ya |
Aturan ID ini dapat berguna saat mendesain penyimpanan lokal untuk objek Google Ads Anda.
Beberapa objek dapat digunakan untuk beberapa jenis entity. Dalam kasus tersebut, objek
berisi kolom type
yang menjelaskan kontennya. Misalnya,
AdGroupAd
dapat merujuk ke objek seperti iklan teks,
iklan hotel, atau iklan lokal. Nilai ini dapat diakses melalui
kolom AdGroupAd.ad.type
, dan menampilkan nilai dalam
enum AdType
.
Nama resource
Setiap resource diidentifikasi secara unik oleh string resource_name
, yang
menggabungkan resource dan induknya ke dalam jalur. Misalnya, nama resource
kampanye memiliki format:
customers/customer_id/campaigns/campaign_id
Jadi, untuk kampanye dengan ID 987654
di akun Google Ads dengan ID pelanggan
1234567
, resource_name
-nya adalah:
customers/1234567/campaigns/987654
Layanan
Layanan memungkinkan Anda mengambil dan mengubah entitas Google Ads. Ada tiga jenis layanan: layanan modifikasi, pengambilan objek dan statistik, serta pengambilan metadata.
Mengubah (memutar) objek
Layanan ini mengubah instance jenis resource terkait menggunakan permintaan
mutate
. Class ini juga menyediakan permintaan get
yang mengambil satu instance
resource, yang dapat berguna untuk memeriksa struktur resource.
Contoh layanan:
CustomerService
untuk mengubah pelanggan.CampaignService
untuk mengubah kampanye.AdGroupService
untuk mengubah grup iklan.
Setiap permintaan mutate
harus menyertakan objek operation
yang sesuai. Misalnya, metode CampaignService.MutateCampaigns
mengharapkan satu atau beberapa instance CampaignOperation
. Lihat
Mengubah dan Memeriksa Objek untuk
diskusi mendetail tentang operasi.
Mutasi serentak
Objek Google Ads tidak dapat diubah secara serentak oleh lebih dari satu sumber. Hal ini dapat menyebabkan error muncul jika Anda memiliki beberapa pengguna yang mengupdate objek yang sama dengan aplikasi Anda, atau jika Anda memutasi objek Google Ads secara paralel menggunakan beberapa thread. Hal ini mencakup pembaruan objek dari beberapa thread dalam aplikasi yang sama, atau dari aplikasi yang berbeda (misalnya, aplikasi Anda dan sesi UI Google Ads serentak).
API tidak menyediakan cara untuk mengunci objek sebelum memperbarui; jika dua sumber
mencoba memutasi objek secara bersamaan, API akan menampilkan
DatabaseError.CONCURRENT_MODIFICATION_ERROR
.
Mutasi asinkron versus sinkron
Metode mutasi Google Ads API bersifat sinkron. Panggilan API hanya menampilkan respons setelah objek diubah, sehingga Anda harus menunggu respons untuk setiap permintaan. Meskipun pendekatan ini relatif mudah di-kode, pendekatan ini dapat memengaruhi load balancing secara negatif dan membuang-buang resource jika proses dipaksa untuk menunggu panggilan selesai.
Pendekatan alternatifnya adalah mengubah objek secara asinkron menggunakan
BatchJobService
, yang melakukan batch
operasi pada beberapa layanan tanpa menunggu penyelesaiannya. Setelah
tugas batch dikirim, server Google Ads API akan mengeksekusi operasi secara asinkron,
sehingga membebaskan proses untuk melakukan operasi lainnya. Anda dapat memeriksa status tugas secara berkala untuk mengetahui apakah tugas telah selesai.
Lihat Panduan Pemrosesan Batch untuk mengetahui informasi selengkapnya tentang pemrosesan asinkron.
Validasi mutasi
Sebagian besar permintaan mutasi dapat divalidasi tanpa benar-benar mengeksekusi panggilan terhadap data sebenarnya. Anda dapat menguji permintaan untuk parameter yang tidak ada dan nilai kolom yang salah tanpa benar-benar menjalankan operasi.
Untuk menggunakan fitur ini, tetapkan kolom boolean validate_only
opsional permintaan ke
true
. Permintaan kemudian akan divalidasi sepenuhnya seolah-olah akan
dijalankan, tetapi eksekusi akhir akan dilewati. Jika tidak ada error yang ditemukan, respons kosong akan ditampilkan. Jika validasi gagal, pesan error dalam respons akan
menunjukkan titik kegagalan.
validate_only
sangat berguna dalam menguji iklan untuk pelanggaran kebijakan
umum. Iklan akan otomatis ditolak jika melanggar kebijakan seperti
memiliki kata, tanda baca, huruf besar, atau panjang tertentu. Satu iklan yang buruk
dapat menyebabkan seluruh batch gagal. Menguji iklan baru dalam permintaan validate_only
dapat mengungkapkan pelanggaran tersebut. Lihat contoh kode untuk menangani error pelanggaran kebijakan guna melihat cara kerjanya.
Mendapatkan objek dan statistik performa
GoogleAdsService
adalah layanan tunggal dan terpadu untuk mengambil objek dan statistik performa.
Semua permintaan Search
dan SearchStream
untuk GoogleAdsService
memerlukan kueri yang menentukan resource yang akan dikueri, atribut resource, dan metrik performa yang akan diambil, prediket yang akan digunakan untuk memfilter permintaan, dan segmen yang akan digunakan untuk lebih merinci statistik performa. Untuk informasi selengkapnya tentang format kueri, baca panduan Bahasa Kueri Google Ads.
Mengambil metadata
GoogleAdsFieldService
mengambil
metadata tentang resource di Google Ads API, seperti atribut yang tersedia untuk
resource dan jenis datanya.
Layanan ini memberikan informasi yang diperlukan dalam membuat kueri ke
GoogleAdsService
. Untuk memudahkan, informasi yang ditampilkan oleh
GoogleAdsFieldService
juga tersedia
dalam dokumentasi referensi kolom.