Terminologi utama
- Resource
- Entitas di Google Ads, seperti
campaignatauad_group. - Segmen
- Dimensi yang digunakan untuk mengelompokkan data, seperti
segments.dateatausegments.device. Jika segmen disertakan dalam klausaSELECTdengan metrik, metrik akan dibagi menurut segmen. - Metrik
- Pengukuran performa, seperti
metrics.impressionsataumetrics.clicks. - Resource yang Diatribusikan
- Resource yang secara implisit digabungkan ke resource utama dalam klausa
FROM, sehingga Anda dapat memilih atributnya bersama dengan atribut resource utama.
Membuat kueri untuk informasi resource atau metadata
Google Ads Query Language dapat membuat kueri Google Ads API untuk jenis informasi berikut:
Resource dan atribut, segmen, serta metrik terkaitnya menggunakan
GoogleAdsServiceSearch atau SearchStream: Hasil dari kueriGoogleAdsServiceadalah daftar instanceGoogleAdsRow, dengan setiapGoogleAdsRowmerepresentasikan resource.Jika ada atribut atau metrik yang diminta, baris juga menyertakan kolom tersebut. Jika ada segmen yang diminta, respons juga akan menampilkan baris tambahan untuk setiap tuple segmen-resource.
Metadata tentang kolom dan resource yang tersedia di
GoogleAdsFieldService: Layanan ini menyediakan katalog kolom yang dapat dikueri dengan spesifikasi tentang kompatibilitas dan jenisnya.Hasil dari kueri
GoogleAdsFieldServiceadalah daftar instanceGoogleAdsField, dengan setiapGoogleAdsFieldberisi detail tentang kolom yang diminta.
Untuk mengetahui detail selengkapnya tentang struktur kueri, lihat Struktur kueri dan Tata bahasa Bahasa Kueri Google Ads.
Kueri untuk atribut resource
Berikut adalah contoh kueri dasar untuk atribut resource kampanye yang mengilustrasikan cara menampilkan ID, nama, dan status kampanye:
SELECT
campaign.id,
campaign.name,
campaign.status
FROM campaign
ORDER BY campaign.id
Kueri ini mengurutkan menurut ID kampanye. Setiap GoogleAdsRow yang dihasilkan mewakili objek campaign yang diisi dengan kolom yang dipilih, termasuk resource_name kampanye.
Untuk mengetahui kolom lain yang tersedia untuk kueri kampanye, lihat
dokumentasi referensi Campaign.
Kueri untuk metrik
Selain atribut yang dipilih untuk resource tertentu, Anda juga dapat membuat kueri untuk metrik terkait:
SELECT
campaign.id,
campaign.name,
campaign.status,
metrics.impressions
FROM campaign
WHERE campaign.status = 'PAUSED'
AND metrics.impressions > 1000
ORDER BY campaign.id
Kueri ini memfilter hanya kampanye yang memiliki status PAUSED dan
memiliki lebih dari 1.000 tayangan iklan, sekaligus mengurutkan menurut ID kampanye. Setiap
GoogleAdsRow yang dihasilkan akan memiliki kolom metrics yang diisi dengan
metrik yang dipilih.
Untuk mengetahui daftar metrik yang dapat dikueri, lihat
dokumentasi Metrics.
Kueri untuk segmen
Selain atribut yang dipilih untuk resource tertentu, Anda juga dapat membuat kueri untuk segmen terkait:
SELECT
campaign.id,
campaign.name,
campaign.status,
metrics.impressions,
segments.date
FROM campaign
WHERE campaign.status = 'PAUSED'
AND metrics.impressions > 1000
AND segments.date DURING LAST_30_DAYS
ORDER BY campaign.id
Mirip dengan membuat kueri untuk metrik, kueri ini memfilter hanya kampanye yang
memiliki status PAUSED dan telah memiliki lebih dari 1.000 tayangan iklan. Namun,
kueri ini menyegmentasikan data menurut tanggal. Hal ini menghasilkan setiap
GoogleAdsRow yang merepresentasikan tuple kampanye dan segmen tanggal.
Segmentasi membagi metrik yang dipilih, mengelompokkan menurut setiap segmen dalam klausa SELECT
clause.
Untuk mengetahui daftar segmen yang dapat dikueri, lihat
dokumentasi Segments.
Membuat kueri untuk atribut resource terkait
Dalam kueri untuk resource tertentu, Anda dapat menggabungkan resource terkait lainnya jika tersedia. Resource terkait ini dikenal sebagai "resource yang diatribusikan". Anda dapat menggabungkan resource yang diatribusikan secara implisit dengan memilih atribut dalam kueri Anda.
SELECT
campaign.id,
campaign.name,
campaign.status,
bidding_strategy.name
FROM campaign
ORDER BY campaign.id
Kueri ini tidak hanya memilih atribut kampanye, tetapi juga menarik atribut terkait dari setiap kampanye yang dipilih. Setiap GoogleAdsRow yang dihasilkan mewakili
objek campaign yang diisi dengan atribut kampanye yang dipilih, serta
atribut strategi bidding yang dipilih bidding_strategy.name.
Untuk mengetahui resource yang diatribusikan yang tersedia untuk kueri kampanye,
lihat dokumentasi referensi Campaign.
Praktik terbaik
- Pilih hanya kolom yang Anda butuhkan untuk menghindari waktu respons yang lama dan waktu tunggu habis.
- Gunakan
LIMITselama pengembangan dan pengujian untuk menghindari pemrosesan set hasil yang besar. - Terapkan filter dalam klausa
WHEREuntuk meminimalkan transfer data dan ukuran respons. - Gunakan
GoogleAdsFieldServiceuntuk memeriksa kompatibilitas kolom dan jenis data sebelum membuat kueri yang kompleks. - Perhatikan bahwa beberapa kolom, terutama yang melibatkan data dalam jumlah besar atau perhitungan yang rumit, dapat meningkatkan biaya kueri.
Mengubah berdasarkan hasil kueri
Saat membuat kueri untuk resource tertentu, Anda dapat langsung menggunakan hasil yang ditampilkan sebagai objek, mengubahnya, dan mengirimkannya kembali ke metode mutasi di layanan resource tersebut. Berikut adalah contoh alur kerja:
- Jalankan kueri untuk semua kampanye
PAUSEDyang memiliki tayangan iklan lebih dari 1.000. - Dapatkan objek
Campaigndari kolomcampaignsetiapGoogleAdsRowdalam respons. - Ubah status setiap kampanye dari
PAUSEDmenjadiENABLED. - Panggil
CampaignService.MutateCampaignsdengan kampanye yang diubah danFieldMaskyang sesuai untuk memperbaruinya.
Metadata kolom
Kueri yang dikirim ke GoogleAdsFieldService dimaksudkan untuk mengambil metadata kolom.
Informasi ini dapat digunakan untuk memahami cara kolom dapat digunakan bersama
dalam kueri. Karena data tersedia dari API dan menyediakan metadata yang diperlukan untuk memvalidasi atau membuat kueri, developer dapat melakukannya secara terprogram. Berikut adalah kueri umum untuk metadata:
SELECT
name,
category,
selectable,
filterable,
sortable,
selectable_with,
data_type,
is_repeated
WHERE name = "<INSERT_RESOURCE_OR_FIELD>"
Anda dapat mengganti <INSERT_RESOURCE_OR_FIELD> dalam kueri ini dengan resource (seperti customer atau campaign) atau kolom (seperti campaign.id, metrics.impressions, atau ad_group.id).
Untuk mengetahui daftar kolom yang dapat dikueri, lihat
dokumentasi GoogleAdsField.
Perbedaan khusus versi
Meskipun sintaksis, klausa, dan operator Bahasa Kueri Google Ads identik di semua versi Google Ads API yang didukung (v23, v24, dan v25), katalog resource, segmen, metrik, dan perilaku pelaporan yang dapat dikueri berbeda menurut versi utama. Kueri
GoogleAdsFieldService di endpoint versi API target
untuk memeriksa kolom dan aturan kompatibilitas untuk versi tersebut:
- Referensi sasaran siklus proses: Di v25 dan yang lebih baru, semua sasaran siklus proses (Akuisisi Pelanggan Baru, Retensi Pelanggan, dan Retensi Loyalitas) dikueri dari resource
goaldancampaign_goal_configterpadu, menggantikancustomer_lifecycle_goaldancampaign_lifecycle_goal(yang digunakan untuk sasaran Akuisisi Pelanggan Baru di v24 dan yang lebih lama, bersama dengangoaldancampaign_goal_configuntuk sasaran Retensi Pelanggan). - Metrik tampilan aset perluasan URL final: Di v25 dan yang lebih baru, kueri
final_url_expansion_asset_viewmenampilkan semua metrik yang dapat dipilih untuk tampilan. Pada v24 dan versi sebelumnya, respons hanya mencakupmetrics.conversionsdanmetrics.conversions_valueuntuk kampanye Performa Maksimal danmetrics.impressionsuntuk kampanye Penelusuran. - Pelaporan produk Shopping untuk kampanye Aplikasi: Di v24 dan yang lebih baru, resource
shopping_productmenampilkan baris produk untuk kampanye Aplikasi selain kampanye Shopping, Performa Maksimal, Peningkat Permintaan, dan Video (di v23, kampanye Aplikasi dikecualikan dari hasilshopping_product). - Resource, segmen, dan metrik khusus versi:
- v25 dan yang lebih baru: Mencakup resource pengukuran peningkatan (seperti
lift_measurement_config), segmen sepertisegments.ad_sub_format_typedansegments.loyalty_membership, serta metrik engagement YouTube (metrics.youtube_likes,metrics.youtube_comments, danmetrics.youtube_shares). Menghapuslocal_services_lead.contact_details.email(yang dapat dipilih di v24 dan yang lebih lama). - v24 dan yang lebih baru: Mencakup resource
cart_data_sales_view,segments.conversion_attribution_event_typedishopping_performance_view,segments.mobile_device_platform, dansegments.ad_network_typediperformance_max_placement_view. Menghapuscampaign.video_brand_safety_suitability(digantikan olehcustomer.video_brand_safety_suitability),segments.ad_sub_network_typedicampaign_budget, dansegments.click_typediad_group_asset,campaign_asset, dancustomer_asset(yang hanya dapat dipilih di v23).
- v25 dan yang lebih baru: Mencakup resource pengukuran peningkatan (seperti
- Kode error perincian tanggal: Kueri yang melakukan segmentasi menurut
segments.date,segments.week, atausegments.hour(atau memfilter rentang tanggal di bawah bulanan) di luar periode lihat balik 37 bulan akan menampilkanDateRangeError.REQUESTED_DATE_GRANULARITY_NOT_SUPPORTEDdi v24 dan yang lebih baru (atauDateRangeError.UNKNOWNdi v23). Lihat Rentang tanggal untuk mengetahui detailnya.
Contoh kode
Library klien memiliki contoh penggunaan Bahasa Kueri Google Ads
di GoogleAdsService. Folder basic operations memiliki contoh seperti
GetCampaigns, GetKeywords, dan SearchForGoogleAdsFields.