Segmentation

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 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 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 klausa SELECT.

  • Jika salah satu segmen tersebut berada dalam klausa SELECT, rentang tanggal yang terbatas yang terdiri dari segmen tanggal inti harus ditentukan dalam klausa WHERE (segmen tanggal tidak harus sama dengan yang ditentukan dalam SELECT).

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.