Bahasa Kueri Google Ads

Terminologi utama

Resource
Entitas di Google Ads, seperti campaign atau ad_group.
Segmen
Dimensi yang digunakan untuk mengelompokkan data, seperti segments.date atau segments.device. Jika segmen disertakan dalam klausa SELECT dengan metrik, metrik akan dibagi menurut segmen.
Metrik
Pengukuran performa, seperti metrics.impressions atau metrics.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

Bahasa Kueri Google Ads dapat membuat kueri Google Ads API untuk jenis informasi berikut:

  • Resource dan atribut, segmen, serta metrik terkait menggunakan GoogleAdsService Search atau SearchStream: Hasil dari kueri GoogleAdsService adalah daftar instance GoogleAdsRow, dengan setiap GoogleAdsRow mewakili resource.

    Jika ada atribut atau metrik yang diminta, baris tersebut juga akan 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 GoogleAdsFieldService adalah daftar instance GoogleAdsField, dengan setiap GoogleAdsField berisi detail tentang kolom yang diminta.

Untuk mengetahui detail selengkapnya tentang struktur kueri, lihat Struktur Kueri dan Tata Bahasa Bahasa Kueri Google Ads Google Ads.

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 Campaign dokumentasi referensi.

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 Metrics dokumentasi.

Membuat 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 memiliki lebih dari 1.000 tayangan iklan. Namun, kueri ini mensegmentasikan data menurut tanggal. Hal ini menyebabkan setiap GoogleAdsRow yang dihasilkan mewakili tuple kampanye dan Segment tanggal. Segmentasi membagi metrik yang dipilih, yang dikelompokkan menurut setiap segmen dalam klausa SELECT.

Untuk mengetahui daftar segmen yang dapat dikueri, lihat Segments dokumentasi.

Dalam kueri untuk resource tertentu, Anda mungkin dapat menggabungkan resource lain yang terkait jika tersedia. Resource terkait ini dikenal sebagai "resource yang diatribusikan". Anda dapat menggabungkan resource yang diatribusikan secara implisit dengan memilih atribut dalam kueri.

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 butuhkan untuk menghindari waktu respons yang lama dan waktu tunggu habis.
  • Gunakan LIMIT selama pengembangan dan pengujian untuk menghindari pemrosesan kumpulan hasil yang besar.
  • Terapkan filter dalam klausa WHERE untuk meminimalkan transfer data dan ukuran respons.
  • Gunakan GoogleAdsFieldService untuk 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 kompleks, dapat meningkatkan biaya kueri.

Melakukan mutasi 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: 1. Jalankan kueri untuk semua kampanye yang saat ini PAUSED dan memiliki tayangan iklan lebih dari 1.000. 1. Dapatkan objek Campaign dari kolom campaign setiap GoogleAdsRow dalam respons. 1. Ubah status setiap kampanye dari PAUSED menjadi ENABLED. 1. Panggil CampaignService.MutateCampaigns dengan kampanye yang diubah 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 API 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 GoogleAdsField dokumentasi.

Contoh kode

Library klien memiliki contoh penggunaan Bahasa Kueri Google Ads di GoogleAdsService. Folder basic operations memiliki contoh seperti GetCampaigns, GetKeywords, dan SearchForGoogleAdsFields.