Segmentasi tersedia di UI Google Ads sebagai menu terpisah. Anda dapat menerapkan segmentasi di Google Ads API dengan menambahkan kolom yang tepat ke kueri. Misalnya, Anda menambahkan segments.device
ke kueri. Hal ini akan menghasilkan laporan dengan baris untuk setiap kombinasi perangkat
dan resource yang ditentukan dalam klausa FROM
, serta
nilai statistik (tayangan iklan, klik, konversi, dll.) yang dibagi di antara
keduanya.
Di UI Google Ads, hanya satu segmen yang dapat digunakan dalam satu waktu, tetapi dengan API, Anda dapat menentukan beberapa segmen dalam kueri yang sama.
SELECT
campaign.name,
campaign.status,
segments.device,
metrics.impressions
FROM campaign
Hasil dari pengiriman kueri ini ke
GoogleAdsService.SearchStream
akan menyerupai string JSON ini:
{
"results":[
{
"campaign":{
"resourceName":"customers/1234567890/campaigns/111111111",
"name":"Test campaign",
"status":"ENABLED"
},
"metrics":{
"impressions":"10922"
},
"segments":{
"device":"MOBILE"
}
},
{
"campaign":{
"resourceName":"customers/1234567890/campaigns/111111111",
"name":"Test campaign",
"status":"ENABLED"
},
"metrics":{
"impressions":"28297"
},
"segments":{
"device":"DESKTOP"
}
},
...
]
}
Dalam hasil contoh ini, atribut untuk objek pertama dan kedua, termasuk nama resource, sama. Tayangan diurutkan berdasarkan perangkat, dan dengan demikian, dua atau lebih objek dapat ditampilkan untuk kampanye yang sama.
Segmentasi implisit
Setiap laporan awalnya disegmentasikan menurut resource yang ditentukan dalam klausa FROM
clause. Kolom resource_name
dari resource dalam klausa FROM
ditampilkan dan metrik disegmentasikan berdasarkan kolom tersebut, meskipun kolom resource_name tidak disertakan secara eksplisit dalam kueri. Misalnya, saat Anda menentukan
ad_group
sebagai resource dalam klausa FROM
, maka
ad_group.resource_name
akan
otomatis ditampilkan dan metrik akan secara implisit disegmentasikan terhadapnya di tingkat
grup iklan.
Jadi untuk kueri ini,
SELECT metrics.impressions
FROM ad_group
Anda akan mendapatkan string JSON seperti ini:
{
"results":[
{
"adGroup":{
"resourceName":"customers/1234567890/adGroups/2222222222"
},
"metrics":{
"impressions":"237"
}
},
{
"adGroup":{
"resourceName":"customers/1234567890/adGroups/33333333333"
},
"metrics":{
"impressions":"15"
}
},
{
"adGroup":{
"resourceName":"customers/1234567890/adGroups/44444444444"
},
"metrics":{
"impressions":"0"
}
}
]
}
Kolom resource_name
dari adGroup
selalu ditampilkan karena ad_group
ditentukan sebagai resource dalam klausa FROM
.
Kolom segmen yang dapat dipilih
Tidak semua kolom segmen dapat dipilih untuk resource tertentu dalam klausa FROM
.
Sebagai contoh, misalkan Anda terus membuat kueri dari resource
ad_group
. Agar kolom segmen dapat dipilih
dari resource ad_group
, kolom tersebut harus ada dalam daftar Segments
untuk ad_group. Daftar Segments
adalah bagian kuning dari tabel kolom yang tersedia di halaman metadata resource ad_group
.
Sumber daya segmen
Saat memilih dari beberapa resource, Anda mungkin memiliki opsi untuk menggabungkan secara implisit
resource terkait dengan memilih kolomnya bersama kolom
resource dalam klausa FROM
. Referensi terkait ini dapat ditemukan dalam daftar Attributed Resources
di resource pada halaman metadata klausa FROM
. Dalam kasus resource ad_group
, Anda akan melihat
bahwa Anda juga dapat memilih kolom dari resource campaign
. Kolom resource_name
dari Attributed Resources
apa pun dengan setidaknya
satu kolom dalam klausa SELECT
akan otomatis ditampilkan, meskipun kolom
resource_name tidak disertakan secara eksplisit dalam kueri.
Serupa dengan memilih Attributed Resource
kolom, Anda juga dapat memilih
Segmenting Resource
kolom. Jika resource tertentu memiliki daftar Segmenting Resources
di halaman metadatanya, maka jika Anda memilih kolom dari salah satu resource yang tercantum tersebut, kueri akan disegmentasikan lebih lanjut berdasarkan resource_name
Segmenting Resource
yang ditampilkan. Sebagai contoh, Anda akan menemukan bahwa resource campaign
dicantumkan sebagai
Segmenting Resource
untuk resource campaign_budget
. Memilih kolom kampanye apa pun, seperti
campaign.name
, dari resource campaign_budget
tidak hanya menyebabkan kolom campaign.name
ditampilkan, tetapi juga menyebabkan
kolom campaign.resource_name
ditampilkan dan disegmentasikan.
Kemampuan pemilihan antara segmen dan metrik
Kolom segmen tertentu mungkin tidak kompatibel dengan beberapa kolom segmen lainnya, atau dengan beberapa kolom metrik. Untuk mengidentifikasi kolom segmen mana yang kompatibel satu sama lain, tinjau daftar selectable_with
segmen dalam klausa SELECT
.
Dalam kasus resource
ad_group
, ada lebih dari 50 segmen yang tersedia yang dapat Anda pilih. Namun, daftar selectable_with
untuk
segments.hotel_check_in_date
adalah kumpulan segmen yang kompatibel yang jauh lebih kecil. Artinya, jika Anda menambahkan kolom
segments.hotel_check_in_date
ke dalam klausa SELECT
, Anda akan membatasi
segmen yang tersedia yang tersisa untuk dipilih ke persimpangan kedua
daftar ini.
Saat Anda menambahkan segmen tertentu, metrik di baris ringkasan dapat berkurang. Jika
segments.keyword.info.match_type
ditambahkan ke kueri dengan FROM ad_group_ad
,
segmen tersebut memberi tahu kueri untuk hanya mendapatkan baris data yang memiliki
kata kunci, dan menghapus baris yang tidak terkait dengan kata kunci. Dalam
hal ini, metrik akan lebih rendah karena mengecualikan metrik non-kata kunci.
Aturan untuk segmen dalam klausa WHERE
Jika segmen berada dalam klausa WHERE
, segmen tersebut juga harus berada dalam klausa SELECT
. Pengecualian untuk aturan ini adalah segmen tanggal berikut, yang disebut sebagai segmen tanggal inti:
segments.date
segments.week
segments.month
segments.quarter
segments.year
Aturan untuk kolom segmen tanggal inti
Segmen segments.date
, segments.week
, segments.month
,
segments.quarter
, dan segments.year
berfungsi sebagai berikut:
Segmen ini dapat difilter dalam klausa
WHERE
tanpa muncul dalam klausaSELECT
.Jika salah satu segmen ini ada dalam klausa
SELECT
, rentang tanggal terbatas yang terdiri dari segmen tanggal inti harus ditentukan dalam klausaWHERE
. Segmen tanggal tidak harus sama dengan yang ditentukan dalamSELECT
.
Contoh
Tidak valid: Karena segments.date berada
dalam klausa SELECT , Anda harus menentukan rentang tanggal terbatas dalam
klausa WHERE untuk segments.date ,
segments.week , segments.month ,
segments.quarter , atau segments.year .
|
SELECT campaign.name, metrics.clicks, segments.date FROM campaign |
Valid: Kueri ini menampilkan nama kampanye dan
klik yang diperoleh selama rentang tanggal. Perhatikan bahwa segments.date
tidak perlu muncul dalam klausa SELECT .
|
SELECT campaign.name, metrics.clicks FROM campaign WHERE segments.date > '2024-01-01' AND segments.date < '2024-02-01' |
Valid: Kueri ini menampilkan nama kampanye dan klik yang disegmentasikan menurut tanggal untuk semua hari dalam rentang tanggal. |
SELECT campaign.name, metrics.clicks, segments.date FROM campaign WHERE segments.date > '2024-01-01' AND segments.date < '2024-02-01' |
Valid: Kueri ini menampilkan nama kampanye dan klik yang disegmentasikan menurut bulan untuk semua hari dalam rentang tanggal. |
SELECT campaign.name, metrics.clicks, segments.month FROM campaign WHERE segments.date > '2024-01-01' AND segments.date < '2024-02-01' |
Valid: Kueri ini menampilkan nama kampanye dan klik yang dikelompokkan menurut kuartal, lalu menurut bulan untuk semua bulan dalam rentang tahun. |
SELECT campaign.name, metrics.clicks, segments.quarter, segments.month FROM campaign WHERE segments.year > 2019 AND segments.year < 2024 |
search_term_view
Resource
search_term_view
juga
secara implisit disegmentasikan menurut grup iklan, bukan hanya istilah penelusuran, sebagaimana tercermin dalam
struktur
nama resource-nya,
yang juga mencakup grup iklan. Oleh karena itu, Anda akan mendapatkan beberapa baris yang tampaknya duplikat dengan istilah penelusuran yang sama yang muncul di hasil, tetapi baris ini termasuk dalam grup iklan yang berbeda.
{
"results":[
{
"searchTermView":{
"resourceName":"customers/1234567890/searchTermViews/111111111~2222222222~Z29vZ2xlIHBob3RvcyBpb3M",
"searchTerm":"google photos"
},
"metrics":{
"impressions":"3"
},
"segments":{
"date":"2024-06-15"
}
},
{
"searchTermView":{
"resourceName":"customers/1234567890/searchTermViews/111111111~33333333333~Z29vZ2xlIHBob3RvcyBpb3M",
"searchTerm":"google photos"
},
"metrics":{
"impressions":"2"
},
"segments":{
"date":"2024-06-15"
}
}
]
}
Meskipun kedua objek yang ditampilkan dalam contoh ini tampak duplikat, nama resource-nya sebenarnya berbeda, terutama di bagian "grup iklan". Artinya, istilah penelusuran "google foto" diatribusikan ke dua grup iklan (ID 2222222222
dan 33333333333
) pada tanggal yang sama (15-06-2024).
Dengan demikian, kita dapat menyimpulkan bahwa API berfungsi sebagaimana mestinya dan tidak menampilkan objek duplikat dalam kasus ini.