Segmentasi, yang tersedia di UI Google Ads sebagai menu terpisah, dapat
di Google Ads API dengan hanya menambahkan kolom yang sesuai ke kueri. Sebagai
contoh, menambahkan segments.device
ke
sendiri, menghasilkan laporan dengan baris untuk setiap kombinasi perangkat dan
resource yang ditentukan dalam klausa FROM
, dan
pemisahan nilai statistik (tayangan, klik, konversi, dll.).
Saat di UI Google Ads, hanya satu segmen yang dapat digunakan dalam satu waktu, dengan 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 terlihat seperti 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"
}
},
...
]
}
Perhatikan bahwa dalam hasil contoh di atas, atribut untuk termasuk nama sumber daya yang sama. Tayangan iklan dikelompokkan oleh device, sehingga dua objek atau lebih dapat ditampilkan untuk kampanye yang sama.
Segmentasi implisit
Setiap laporan awalnya disegmentasikan berdasarkan resource yang ditentukan dalam FROM
. Kolom resource_name resource di klausa FROM
adalah
dan metrik disegmentasikan, bahkan jika kolom resource_name
tidak disertakan secara eksplisit
dalam kueri. Misalnya, ketika Anda menentukan
ad_group
sebagai resource dalam klausa FROM
, lalu
ad_group.resource_name
akan
secara otomatis dikembalikan dan metrik secara implisit akan
melakukan segmentasi terhadap metrik tersebut di
ad_group.
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"
}
}
]
}
Perhatikan bahwa kolom resource_name
dari adGroup
selalu ditampilkan karena
ad_group
ditetapkan sebagai resource dalam klausa FROM
.
Kolom segmen yang dapat dipilih
Tidak semua kolom segmen dapat dipilih untuk resource tertentu dalam klausa FROM
.
Sebagai contoh, kita akan terus membuat kueri dari ad_group
resource Anda Agar kolom segmen dapat dipilih dari resource ad_group,
kolom tersebut harus ada dalam daftar Segments
untuk ad_group. Segments
adalah bagian berwarna kuning dari tabel kolom yang tersedia di
Halaman metadata resource ad_group
.
Resource segmen
Saat memilih dari beberapa resource, Anda mungkin memiliki opsi untuk bergabung secara implisit
pada resource terkait dengan memilih kolom di samping kolom
resource dalam klausa FROM
. Referensi terkait ini dapat ditemukan di
Daftar Attributed Resources
pada resource dalam metadata klausa FROM
kami. Dalam kasus resource ad_group
, Anda akan melihat
Anda juga dapat memilih kolom dari campaign
resource Anda Kolom resource_name dari Attributed Resources
mana pun yang setidaknya memiliki
1 kolom dalam klausa SELECT
akan otomatis ditampilkan, bahkan jika
Kolom resource_name tidak disertakan secara eksplisit dalam kueri.
Mirip dengan memilih Attributed Resource
kolom, Anda juga dapat memilih
Segmenting Resource
kolom. Jika resource yang diberikan memiliki Segmenting Resources
daftar di halaman metadatanya, lalu memilih bidang dari salah satu sumber daya yang tercantum
akan menyebabkan kueri disegmentasikan lebih lanjut oleh resource_name yang dikembalikan
Segmenting Resource
. Sebagai contoh, Anda akan menemukan bahwa
Resource campaign
dicantumkan sebagai Segmenting Resource
untuk resource campaign_budget
. Memilih salah satu
kolom kampanye, seperti campaign.name
, dari
sumber daya campaign_anggaran tidak hanya akan
menyebabkan kolom campaign.name
ditampilkan, tetapi akan menyebabkan
Kolom campaign.resource_name
yang akan
dikembalikan dan disegmentasikan.
Pilihan antara segmen dan metrik
Bidang segmen tertentu mungkin tidak kompatibel dengan beberapa segmen lainnya
kolom, atau dengan beberapa kolom metrik. Untuk mengidentifikasi {i>field
<i}segmen mana yang
kompatibel satu sama lain, Anda dapat meninjau daftar selectable_with
segmen dalam klausa SELECT
.
Dalam kasus
ad_group
, ada 50+ segmen yang tersedia yang
yang dapat Anda pilih. Namun, daftar selectable_with
untuk
segments.hotel_check_in_date
merupakan kumpulan segmen yang kompatibel
yang jauh lebih kecil. Artinya, jika Anda menambahkan
segments.hotel_check_in_date
ke dalam klausa SELECT
, Anda akan membatasi
segmen yang tersedia yang tersisa untuk Anda pilih pada perpotongan antara keduanya
daftar.
- Saat menambahkan beberapa segmen, metrik di baris ringkasan dapat menurun
- Saat
segments.keyword.info.match_type
ditambahkan ke kueri denganFROM 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 kasus ini, metrik akan lebih rendah karena akan mengecualikan metrik non-kata kunci.
Aturan untuk segmen dalam klausa WHERE
Saat segmen berada dalam klausa WHERE
, segmen tersebut juga harus berada di SELECT
. Pengecualian terhadap 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 tersebut berada dalam klausa
SELECT
, rentang tanggal yang 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 adalah
dalam klausa SELECT , Anda harus menentukan rentang tanggal yang
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 dihasilkan selama rentang tanggal. Perhatikan bahwa segments.date
tidak perlu muncul dalam klausa SELECT .
|
SELECT campaign.name, metrics.clicks FROM campaign WHERE segments.date > '2020-01-01' AND segments.date < '2020-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 > '2020-01-01' AND segments.date < '2020-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 > '2020-01-01' AND segments.date < '2020-02-01' |
Valid: Kueri ini menampilkan nama kampanye dan klik yang disegmentasikan berdasarkan kuartal kemudian bulan untuk semua bulan dalam rentang tahun. |
SELECT campaign.name, metrics.clicks, segments.quarter, segments.month FROM campaign WHERE segments.year > 2015 AND segments.year < 2020 |
search_term_view
Perhatikan bahwa untuk
search_term_view
, juga
secara implisit disegmentasikan menurut grup iklan, bukan hanya istilah penelusuran, seperti yang
struktur resource-nya
name, yang merupakan
juga mencakup grup iklan. Oleh karena itu, Anda akan mendapatkan beberapa
baris dengan istilah penelusuran yang sama muncul di hasil Anda padahal sebenarnya,
baris akan berada di grup iklan yang berbeda:
{
"results":[
{
"searchTermView":{
"resourceName":"customers/1234567890/searchTermViews/111111111~2222222222~Z29vZ2xlIHBob3RvcyBpb3M",
"searchTerm":"google photos"
},
"metrics":{
"impressions":"3"
},
"segments":{
"date":"2015-06-15"
}
},
{
"searchTermView":{
"resourceName":"customers/1234567890/searchTermViews/111111111~33333333333~Z29vZ2xlIHBob3RvcyBpb3M",
"searchTerm":"google photos"
},
"metrics":{
"impressions":"2"
},
"segments":{
"date":"2015-06-15"
}
}
]
}
Meskipun dua objek yang dikembalikan dalam contoh ini tampaknya duplikat,
nama sumber dayanya sebenarnya berbeda, terutama di "grup iklan"
bagian. Ini berarti bahwa istilah penelusuran "google foto" dikaitkan dengan dua
grup iklan (ID 2222222222
dan 33333333333
) pada tanggal yang sama (15-06-2015).
Dengan demikian, kita dapat menyimpulkan bahwa API berfungsi sebagaimana mestinya dan tidak ditampilkan
objek duplikat dalam kasus ini.