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 digabungkan secara implisit ke resource utama dalam klausa
FROM, sehingga Anda dapat memilih atributnya bersama dengan atribut resource utama.
Membuat kueri untuk informasi resource atau metadata
Bahasa Kueri Google Ads dapat mengkueri Google Ads API untuk jenis informasi berikut:
Resource dan atribut, segmen, serta metrik terkaitnya menggunakan
GoogleAdsServiceSearch atau SearchStream: Hasil dari kueriGoogleAdsServiceadalah daftar instanceGoogleAdsRow, dengan setiapGoogleAdsRowmewakili resource.Jika ada atribut atau metrik yang diminta, baris juga akan menyertakan kolom tersebut. Jika ada segmen yang diminta, respons juga akan menampilkan baris tambahan untuk setiap tuple resource segmen.
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 Google Ads Query Language.
Membuat 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 berdasarkan 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.
Membuat 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 berdasarkan 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
Serupa dengan kueri untuk metrik, kueri ini memfilter hanya kampanye yang
memiliki status PAUSED dan memiliki lebih dari 1.000 tayangan iklan. Namun, kueri ini menyegmentasikan data menurut tanggal. Hal ini menyebabkan setiap GoogleAdsRow yang dihasilkan mewakili tuple kampanye dan segmen tanggal.
Segmentasi membagi metrik yang dipilih, mengelompokkan menurut setiap segmen dalam klausa SELECT.
Untuk mengetahui daftar segmen yang dapat dikueri, lihat dokumentasi Segments.
Membuat kueri untuk atribut resource terkait
Dalam kueri untuk resource tertentu, Anda mungkin dapat menggabungkan dengan resource terkait lainnya jika tersedia. Referensi terkait ini dikenal sebagai "referensi 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 mengambil 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 perlukan untuk menghindari waktu tunggu dan waktu respons yang lama.
- 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. - Perlu diingat bahwa beberapa kolom, terutama yang melibatkan data dalam jumlah besar atau penghitungan yang kompleks, dapat meningkatkan biaya kueri.
Mengubah berdasarkan hasil kueri
Saat membuat kueri untuk resource tertentu, Anda dapat langsung mengambil 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, v25, dan v26), katalog resource, segmen, metrik, dan perilaku pelaporan yang dapat dikueri berbeda menurut versi utama. Buat kueri
GoogleAdsFieldService di endpoint versi API target
untuk memeriksa kolom dan aturan kompatibilitas untuk versi tersebut:
- Tampilan aset perluasan URL final:
- Dukungan kampanye Shopping (v26 dan yang lebih baru):
final_url_expansion_asset_viewmendukung kampanye Shopping (campaign.advertising_channel_type = 'SHOPPING') selain kampanye Performa Maksimal dan Penelusuran. Untuk kampanye Shopping, Anda dapat memilih dan memfilter menurut kolomad_group, tetapi Anda tidak dapat memilih kolomasset_group. - Metrik yang dapat dipilih (v25 dan yang lebih baru): Membuat kueri
final_url_expansion_asset_viewakan menampilkan semua metrik yang dapat dipilih untuk tampilan. Di v24 dan versi sebelumnya, respons hanya menyertakanmetrics.conversionsdanmetrics.conversions_valueuntuk kampanye Performa Maksimal danmetrics.impressionsuntuk kampanye Penelusuran.
- Dukungan kampanye Shopping (v26 dan yang lebih baru):
- Resource 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). - 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:
- v26 dan yang lebih baru: Menyertakan
resource
search_lift_keyword_bundle,campaign.lift_measurement_config,local_services_lead.campaign,segments.search_lift_keyword_bundle,segments.search_property, dan metrik Search Lift (sepertimetrics.relative_search_lift,metrics.normalized_incremental_searches,metrics.search_lift_cost_micros, danmetrics.search_lift_impressions). - 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: Menyertakan
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(diganti dengancustomer.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).
- v26 dan yang lebih baru: Menyertakan
resource
- Kode error lihat balik tanggal terperinci: Kueri yang menyegmentasikan menurut
segments.date,segments.week, atausegments.hour(atau memfilter rentang tanggal sub-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 operasi dasar memiliki contoh seperti
GetCampaigns, GetKeywords, dan SearchForGoogleAdsFields.