Transfer Google Ads
Konektor BigQuery Data Transfer Service untuk Google Ads (sebelumnya dikenal sebagai Google AdWords) memungkinkan Anda menjadwalkan dan mengelola tugas pemuatan berulang secara otomatis untuk data pelaporan Google Ads. Untuk mempelajari perubahan sumber data terbaru, lihat Log perubahan sumber data BigQuery Data Transfer Service.
Laporan yang didukung
BigQuery Data Transfer Service untuk Google Ads mendukung Google Ads API v16:
Untuk informasi tentang cara laporan Google Ads diubah menjadi tabel dan tabel virtual BigQuery Data Transfer Service, lihat Transformasi laporan Google Ads.
Untuk memetakan laporan Google Ads dengan informasi yang Anda lihat di UI Google Ads, lihat Memetakan laporan ke UI Google Ads.
Opsi pelaporan | Dukungan |
---|---|
Versi API yang didukung | |
Frekuensi pengulangan | Harian, pada saat transfer data pertama kali dibuat (default) Anda dapat mengonfigurasi waktu pada hari itu. |
Jendela refresh | 7 hari terakhir (default) Dapat dikonfigurasi hingga 30 hari Snapshot Tabel Pencocokan diambil sekali sehari dan disimpan di partisi untuk tanggal terakhir dijalankan. Snapshot Tabel Pencocokan tidak diupdate untuk pengisian ulang atau untuk hari yang dimuat menggunakan jendela refresh. |
Durasi pengisian ulang maksimum | Tak terbatas Meskipun Google Ads tidak memiliki batas retensi data yang diketahui kecuali Laporan Performa Klik, BigQuery Data Transfer Service memiliki batas pada jumlah hari yang dapat diminta dalam satu permintaan pengisian ulang. Untuk informasi tentang pengisian ulang, lihat Memicu transfer secara manual. |
Jumlah ID Pelanggan per akun pengelola | 8.000 BigQuery Data Transfer Service mendukung maksimum 8.000 ID Pelanggan untuk setiap akun pengelola (MCC) Google Ads. |
Penyerapan data dari transfer Google Ads
Saat Anda mentransfer data dari Google Ads ke BigQuery, data tersebut akan dimuat ke dalam tabel BigQuery yang dipartisi berdasarkan tanggal. Partisi tabel tempat data dimuat sesuai dengan tanggal dari sumber data. Jika Anda menjadwalkan beberapa transfer untuk tanggal yang sama, BigQuery Data Transfer Service akan menimpa partisi untuk tanggal tertentu tersebut dengan data terbaru. Beberapa transfer dalam satu hari atau menjalankan pengisian ulang tidak akan menghasilkan data duplikat, dan partisi untuk tanggal lain tidak akan terpengaruh.Memuat ulang jendela
Periode refresh adalah jumlah hari yang diperlukan transfer data untuk mengambil data saat transfer data terjadi. Misalnya, jika periode pembaruan adalah tiga hari dan transfer harian terjadi, BigQuery Data Transfer Service akan mengambil semua data dari tabel sumber Anda selama tiga hari terakhir. Dalam contoh ini, saat transfer harian terjadi, BigQuery Data Transfer Service akan membuat partisi tabel tujuan BigQuery baru dengan salinan data tabel sumber Anda dari hari ini, lalu otomatis memicu pengisian ulang untuk memperbarui partisi tabel tujuan BigQuery dengan data tabel sumber Anda dari dua hari terakhir. Proses pengisian ulang yang dipicu secara otomatis akan menimpa atau memperbarui tabel tujuan BigQuery secara inkremental, bergantung pada apakah update inkremental didukung di konektor BigQuery Data Transfer Service atau tidak.
Saat Anda menjalankan transfer data untuk pertama kalinya, transfer data akan mengambil semua data sumber yang tersedia dalam periode refresh. Misalnya, jika periode pembaruan adalah tiga hari dan Anda menjalankan transfer data untuk pertama kalinya, BigQuery Data Transfer Service akan mengambil semua data sumber dalam tiga hari.
Periode pembaruan dipetakan ke kolom API TransferConfig.data_refresh_window_days
.
Untuk mengambil data di luar periode pembaruan, seperti data historis, atau untuk memulihkan data dari gangguan atau kesenjangan transfer, Anda dapat memulai atau menjadwalkan operasi pengisian ulang.
Batasan
- Frekuensi maksimum yang dapat Anda konfigurasikan untuk transfer data Google Ads adalah sekali setiap 24 jam. Secara default, transfer dimulai saat Anda membuat transfer. Namun, Anda dapat mengonfigurasi waktu mulai transfer saat membuat transfer.
- BigQuery Data Transfer Service tidak mendukung transfer data inkremental selama transfer Google Ads. Saat Anda menentukan tanggal untuk transfer data, semua data yang tersedia untuk tanggal tersebut akan ditransfer.
Sebelum memulai
Sebelum membuat transfer data Google Ads, lakukan langkah berikut:
- Pastikan Anda telah menyelesaikan semua tindakan yang diperlukan untuk mengaktifkan BigQuery Data Transfer Service.
- Buat set data BigQuery Data Transfer Service untuk menyimpan data Google Ads.
- Jika ingin menyiapkan notifikasi operasi transfer untuk Pub/Sub, pastikan Anda memiliki izin
pubsub.topics.setIamPolicy
. Izin Pub/Sub tidak diperlukan jika Anda menyiapkan notifikasi email. Untuk informasi selengkapnya, lihat Notifikasi operasi BigQuery Data Transfer Service.
Izin yang diperlukan
Pastikan orang yang membuat transfer data memiliki izin yang diperlukan berikut:
BigQuery Data Transfer Service:
- Izin
bigquery.transfers.update
untuk membuat transfer data - Izin
bigquery.datasets.get
danbigquery.datasets.update
pada set data target
Peran IAM bawaan
bigquery.admin
mencakup izinbigquery.transfers.update
,bigquery.datasets.update
, danbigquery.datasets.get
. Untuk informasi selengkapnya tentang peran IAM dalam BigQuery Data Transfer Service, lihat Referensi kontrol akses.- Izin
Google Ads: Akses baca ke ID Pelanggan Google Ads atau akun pengelola (MCC) yang digunakan dalam konfigurasi transfer.
Membuat transfer data Google Ads
Untuk membuat transfer data untuk pelaporan Google Ads, Anda memerlukan ID pelanggan Google Ads atau akun pengelola (MCC). Untuk mendapatkan informasi tentang cara mengambil ID pelanggan Google Ads Anda, lihat Menemukan ID Pelanggan Anda.
Untuk membuat transfer data untuk pelaporan Google Ads, pilih salah satu opsi berikut:
Konsol
Buka halaman Data transfers di konsol Google Cloud.
Klik
Create transfer.Di bagian Source type, untuk Source, pilih Google Ads.
Di bagian Transfer config name, untuk Display name, masukkan nama untuk transfer data, seperti
My Transfer
. Nama transfer dapat berupa nilai apa pun yang memungkinkan Anda mengidentifikasi transfer jika perlu mengubahnya nanti.Di bagian Schedule options:
Untuk Repeat frequency, pilih opsi untuk seberapa sering transfer data dijalankan. Jika Anda memilih Days, berikan waktu yang valid dalam UTC.
- Jam
- Hari
- Sesuai permintaan
Jika ada, pilih Start now atau Start at set time dan masukkan tanggal mulai dan waktu proses.
Di bagian Destination settings, untuk Dataset, pilih set data yang Anda buat untuk menyimpan data.
Di bagian Data source details:
Untuk Customer ID, masukkan ID pelanggan Google Ads Anda:
Opsional: Pilih opsi untuk mengecualikan item yang dihapus atau dinonaktifkan, dan menyertakan tabel yang baru untuk Google Ads.
Opsional: Masukkan daftar tabel yang dipisahkan koma untuk disertakan, misalnya
Campaign, AdGroup
. Awali daftar ini dengan karakter-
untuk mengecualikan tabel tertentu, misalnya-Campaign, AdGroup
. Semua tabel disertakan secara default.Opsional: Pilih opsi untuk menyertakan tabel khusus untuk laporan Performa Maksimal. Untuk informasi selengkapnya tentang dukungan Performa Maksimal, lihat Dukungan Performa Maksimal.
Opsional: Untuk Periode pemuatan ulang, masukkan nilai antara 1 dan 30.
Di menu Service Account, pilih service account dari akun layanan yang terkait dengan project Google Cloud Anda. Anda dapat mengaitkan akun layanan dengan transfer data, bukan menggunakan kredensial pengguna. Untuk mengetahui informasi selengkapnya tentang cara menggunakan akun layanan dengan transfer data, lihat Menggunakan akun layanan.
- Jika Anda login dengan identitas gabungan, akun layanan diperlukan untuk membuat transfer. Jika Anda login dengan Akun Google, akun layanan untuk transfer bersifat opsional.
- Akun layanan harus memiliki izin yang diperlukan.
Opsional: Di bagian Notification options:
Klik tombol untuk mengaktifkan notifikasi email. Saat Anda mengaktifkan opsi ini, administrator transfer akan menerima notifikasi email jika transfer yang dijalankan gagal.
Klik tombol untuk mengaktifkan notifikasi Pub/Sub. Untuk Select a Cloud Pub/Sub topic, pilih nama topik Anda atau klik Create a topic. Opsi ini mengonfigurasi notifikasi operasi Pub/Sub untuk transfer Anda.
Klik Save.
bq
Masukkan perintah bq mk
dan berikan flag pembuatan transfer — --transfer_config
. Flag berikut juga diperlukan:
--data_source
--target_dataset
--display_name
--params
Flag berikut bersifat opsional:
--project_id
: Menentukan project yang akan digunakan. Jika flag tersebut tidak ditentukan, project default akan digunakan.--table_filter
: Menentukan tabel yang akan disertakan dalam transfer data. Jika flag tidak ditentukan, semua tabel akan disertakan. Untuk menyertakan tabel tertentu saja, gunakan daftar nilai yang dipisahkan koma (misalnya,Ad
,Campaign
,AdGroup
). Untuk mengecualikan tabel tertentu, awali nilai dengan tanda hubung (-
) (misalnya,-Ad
,Campaign
,AdGroup
).--schedule
: Menentukan seberapa sering kueri berjalan. Jika Anda tidak menentukan--schedule
, defaultnya ditetapkan keevery 24 hours
. Untuk informasi tentang sintaksis jadwal, lihat Memformat jadwal.--refresh_window_days
: Menentukan periode refresh untuk konfigurasi transfer dalam hari. Nilai defaultnya adalah7
.--service_account_name
: Menentukan akun layanan yang akan digunakan untuk autentikasi transfer Google Ads, bukan akun pengguna Anda.
bq mk \ --transfer_config \ --project_id=PROJECT_ID \ --target_dataset=DATASET \ --display_name=NAME \ --params='PARAMETERS' \ --data_source=DATA_SOURCE \ --table_filter=TABLES \ --schedule=SCHEDULE --refresh_window_days=REFRESH_DAYS --service_account_name=SERVICE_ACCOUNT_NAME
Dengan keterangan:
- PROJECT_ID adalah project ID Anda.
- DATASET adalah set data target untuk konfigurasi transfer data.
- NAME adalah nama tampilan untuk konfigurasi transfer data. Nama transfer dapat berupa nilai apa pun yang memungkinkan Anda mengidentifikasi transfer jika perlu mengubahnya nanti.
- PARAMETERS berisi parameter untuk konfigurasi transfer yang dibuat dalam format JSON. Contoh:
--params='{"param":"param_value"}'
. Untuk Google Ads, Anda harus memberikan parametercustomer_id
. Anda dapat memilih untuk menetapkan parameterexclude_removed_items
ketrue
agar entity dan metrik yang dihapus atau dinonaktifkan tidak ditransfer. - DATA_SOURCE adalah sumber data —
google_ads
. - TABLES adalah daftar tabel yang dipisahkan koma yang akan disertakan atau dikecualikan dari transfer data.
- SCHEDULE adalah seberapa sering Anda ingin kueri dijalankan. Jika
--schedule
tidak ditentukan, default-nya adalah setiap 24 jam, mulai dari saat transfer dibuat. - REFRESH_DAYS adalah bilangan bulat yang menentukan periode refresh
untuk konfigurasi transfer dalam hari. Nilai defaultnya adalah
7
. - SERVICE_ACCOUNT_NAME adalah nama akun layanan yang digunakan untuk
mengautentikasi transfer Anda. Akun layanan harus dimiliki oleh
project_id
yang sama yang digunakan untuk membuat transfer dan harus memiliki semua izin yang diperlukan.
Misalnya, perintah berikut akan membuat transfer data Google Ads bernama
My Transfer
menggunakan ID Pelanggan 123-123-1234
dan set data target
mydataset
. Transfer data dibuat di project default:
bq mk \
--transfer_config \
--target_dataset=mydataset \
--display_name='My Transfer' \
--params='{"customer_id":"123-123-1234","exclude_removed_items":"true"}' \
--data_source=google_ads
Saat pertama kali menjalankan perintah ini, Anda akan menerima pesan seperti berikut:
[URL omitted] Please copy and paste the above URL into your web browser and
follow the instructions to retrieve an authentication code.
Ikuti petunjuk dalam pesan, lalu tempel kode autentikasi pada command line.
API
Gunakan metode projects.locations.transferConfigs.create
dan berikan instance resource TransferConfig
.
Java
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di Panduan memulai BigQuery menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi BigQuery Java API.
Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Memicu transfer Google Ads secara manual
Saat Anda memicu transfer secara manual untuk Google Ads, snapshot Tabel Pencocokan diambil sekali sehari dan disimpan di partisi untuk tanggal terakhir dijalankan. Saat Anda memicu transfer manual, snapshot Tabel Pencocokan untuk tabel berikut tidak diupdate:
- Ad
- AdGroup
- AdGroupAudience
- AdGroupBidModifier
- AdGroupAdLabel
- AdGroupCriterion
- AdGroupCriterionLabel
- AdGroupLabel
- AgeRange
- Asset
- AssetGroup
- AssetGroupAsset
- AssetGroupListingGroupFilter
- AssetGroupSignal
- Audience
- BidGoal
- Budget
- Campaign
- CampaignAudience
- CampaignCriterion
- CampaignLabel
- Customer
- Gender
- Keyword
- LocationBasedCampaignCriterion
- ParentalStatus
- Placement
- Video
Dukungan Performa Maksimal
Konektor Google Ads memungkinkan Anda mengekspor data kampanye Performa Maksimal. Anda harus memilih kotak centang Sertakan Tabel Kampanye Performa Maksimal saat membuat transfer data, karena data Performa Maksimal tidak diekspor secara default.
Menyertakan data Performa Maksimal akan menghapus kolom ad_group
dari tabel tertentu dan menyertakan tabel baru. Anda tidak dapat menyertakan kolom ad_group
karena Google Ads API memfilter data Performa Maksimal.
Tabel berikut mengecualikan kolom terkait ad_group
saat kotak Include PMax Campaign Tables dicentang:
- GeoStats
- GeoConversionStats
- ShoppingProductConversionStats
- ShoppingProductStats
- LocationsUserLocationsStats
Tabel berikut ditambahkan jika kotak Include PMax Campaign Tables dicentang:
- Asset
- AssetGroup
- AssetGroupAsset
- AssetGroupListingGroupFilter
- AssetGroupSignal
- Audience
- AssetGroupProductGroupStats
- CampaignAssetStats
Dukungan untuk akun pengelola Google Ads
Pelanggan lama yang memiliki beberapa Transfer Google Ads khusus ID Pelanggan dianjurkan untuk menyiapkan satu Transfer Google Ads di tingkat Akun Pengelola (MCC), menjadwalkan pengisian ulang, dan menonaktifkan Transfer Google Ads khusus ID Pelanggan.
Menggunakan akun pengelola Google Ads akan memberikan beberapa manfaat dibandingkan penggunaan ID Pelanggan individual:
- Anda tidak perlu lagi mengelola beberapa transfer data untuk melaporkan beberapa ID Pelanggan.
- Kueri lintas-pelanggan jauh lebih mudah ditulis karena semua ID Pelanggan disimpan dalam tabel yang sama.
- Menggunakan MCC akan mengurangi masalah kuota pemuatan BigQuery Data Transfer Service karena beberapa ID Pelanggan dimuat di tugas yang sama.
Untuk informasi selengkapnya tentang akun pengelola Google Ads (MCC), lihat Menggunakan akun terkelola dan Tentang menautkan akun ke akun pengelola.
Contoh
Daftar berikut menunjukkan ID Pelanggan yang ditautkan ke akun pengelola Google Ads tertentu:
- 1234567890 — akun pengelola root
- 1234 — akun sub-pengelola
- 1111 — ID Pelanggan
- 2222 — ID Pelanggan
- 3333 — ID Pelanggan
- 4444 — ID Pelanggan
- 567 — akun sub-pengelola
- 5555 — ID Pelanggan
- 6666 — ID Pelanggan
- 7777 — ID Pelanggan
- 89 — akun sub-pengelola
- 8888 — ID Pelanggan
- 9999 — ID Pelanggan
- 0000 — ID Pelanggan
- 1234 — akun sub-pengelola
Setiap ID Pelanggan yang ditautkan ke akun pengelola akan muncul di setiap laporan. Untuk informasi selengkapnya mengenai struktur pelaporan Google Ads di BigQuery Data Transfer Service, lihat Transformasi laporan Google Ads.
Konfigurasi transfer untuk ID Pelanggan 1234567890
Konfigurasi transfer untuk akun pengelola root (ID Pelanggan 1234567890) akan menghasilkan proses transfer data yang menyertakan ID Pelanggan berikut:
- 1111 (melalui akun sub-pengelola 1234)
- 2222 (melalui akun sub-pengelola 1234)
- 3333 (melalui akun sub-pengelola 1234)
- 4444 (melalui akun sub-pengelola 1234)
- 5555 (melalui akun sub-pengelola 567 dan akun sub-pengelola 1234)
- 6666 (melalui akun sub-pengelola 567 dan akun sub-pengelola 1234)
- 7777 (melalui akun sub-pengelola 567 dan akun sub-pengelola 1234)
- 8888 (melalui akun sub-pengelola 89)
- 9999 (melalui akun sub-pengelola 89)
- 0000 (ID Pelanggan individual)
Konfigurasi transfer untuk ID Pelanggan 1234
Konfigurasi transfer untuk akun sub-pengelola 123 (ID Pelanggan 1234) akan menghasilkan proses transfer data yang menyertakan ID Pelanggan berikut:
- 1111
- 2222
- 3333
- 4444
- 5555 (melalui akun sub-pengelola 567)
- 6666 (melalui akun sub-pengelola 567)
- 7777 (melalui akun sub-pengelola 567)
Konfigurasi transfer untuk ID Pelanggan 567
Konfigurasi transfer untuk akun sub-pengelola 567 (ID Pelanggan 567) akan menghasilkan proses transfer data yang menyertakan ID Pelanggan berikut:
- 5555
- 6666
- 7777
Konfigurasi transfer untuk ID Pelanggan 89
Konfigurasi transfer untuk akun sub-pengelola 89 (ID Pelanggan 89) akan menghasilkan proses transfer data yang menyertakan ID Pelanggan berikut:
- 8888
- 9999
Konfigurasi transfer untuk ID Pelanggan 0000
Konfigurasi transfer untuk ID Pelanggan 0000 akan menghasilkan proses transfer data yang hanya menyertakan ID Pelanggan individual:
- 0000
Memigrasikan data Google Ads ke MCC
Untuk memigrasikan data Google Ads yang ada di BigQuery Data Transfer Service ke struktur MCC, Anda dapat menyiapkan pengisian ulang untuk menambahkan data yang sudah ada ke tabel yang dibuat oleh konfigurasi transfer yang ditautkan ke akun pengelola. Perhatikan bahwa saat Anda menjadwalkan pengisian ulang, tabel pencocokan tidak akan diupdate.
Memecahkan masalah penyiapan transfer Google Ads
Jika Anda mengalami masalah saat menyiapkan transfer data, lihat Masalah transfer Google Ads di bagian Memecahkan masalah konfigurasi transfer.
Membuat kueri data Anda
Saat data Anda ditransfer ke BigQuery Data Transfer Service, data tersebut ditulis ke tabel berpartisi berdasarkan waktu penyerapan. Untuk informasi selengkapnya, lihat Pengantar tabel berpartisi.
Jika membuat kueri tabel secara langsung, bukan menggunakan tabel virtual yang dihasilkan secara otomatis, Anda harus menggunakan kolom semu _PARTITIONTIME
dalam kueri. Untuk mengetahui informasi selengkapnya, lihat Membuat kueri tabel berpartisi.
Kueri contoh Google Ads
Anda dapat menggunakan kueri contoh Google Ads berikut untuk menganalisis data yang ditransfer. Anda juga dapat menggunakan kueri dalam alat visualisasi seperti Looker Studio. Kueri ini disediakan untuk membantu Anda mulai membuat kueri data Google Ads dengan BigQuery Data Transfer Service. Untuk pertanyaan tambahan mengenai apa yang dapat Anda lakukan dengan laporan ini, hubungi perwakilan teknis Google Ads Anda.
Di setiap kueri berikut, ganti dataset dengan nama set data Anda. Ganti customer_id dengan ID Pelanggan Google Ads Anda.
Jika membuat kueri tabel secara langsung, bukan menggunakan tabel virtual yang dihasilkan secara otomatis, Anda harus menggunakan kolom semu _PARTITIONTIME
dalam kueri. Untuk informasi selengkapnya, lihat Membuat kueri tabel berpartisi.
Performa kampanye
Contoh kueri berikut menganalisis performa kampanye Google Ads selama 30 hari terakhir.
Konsol
SELECT c.customer_id, c.campaign_name, c.campaign_status, SUM(cs.metrics_impressions) AS Impressions, SUM(cs.metrics_interactions) AS Interactions, (SUM(cs.metrics_cost_micros) / 1000000) AS Cost FROM `DATASET.ads_Campaign_CUSTOMER_ID` c LEFT JOIN `DATASET.ads_CampaignBasicStats_CUSTOMER_ID` cs ON (c.campaign_id = cs.campaign_id AND cs._DATA_DATE BETWEEN DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY) AND DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY)) WHERE c._DATA_DATE = c._LATEST_DATE GROUP BY 1, 2, 3 ORDER BY Impressions DESC
bq
bq query --use_legacy_sql=false ' SELECT c.customer_id, c.campaign_name, c.campaign_status, SUM(cs.metrics_impressions) AS Impressions, SUM(cs.metrics_interactions) AS Interactions, (SUM(cs.metrics_cost_micros) / 1000000) AS Cost FROM `DATASET.ads_Campaign_CUSTOMER_ID` c LEFT JOIN `DATASET.ads_CampaignBasicStats_CUSTOMER_ID` cs ON (c.campaign_id = cs.campaign_id AND cs._DATA_DATE BETWEEN DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY) AND DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY)) WHERE c._DATA_DATE = c._LATEST_DATE GROUP BY 1, 2, 3 ORDER BY Impressions DESC'
Jumlah kata kunci
Contoh kueri berikut menganalisis kata kunci berdasarkan kampanye, grup iklan, dan status kata kunci. Kueri ini menggunakan fungsi KeywordMatchType
. Jenis pencocokan kata kunci membantu menentukan penelusuran mana yang dapat memicu iklan Anda. Untuk informasi selengkapnya tentang opsi pencocokan kata kunci, lihat Tentang opsi pencocokan kata kunci.
Konsol
SELECT c.campaign_status AS CampaignStatus, a.ad_group_status AS AdGroupStatus, k.ad_group_criterion_status AS KeywordStatus, k.ad_group_criterion_keyword_match_type AS KeywordMatchType, COUNT(*) AS count FROM `DATASET.ads_Keyword_CUSTOMER_ID` k JOIN `DATASET.ads_Campaign_CUSTOMER_ID` c ON (k.campaign_id = c.campaign_id AND k._DATA_DATE = c._DATA_DATE) JOIN `DATASET.ads_AdGroup_CUSTOMER_ID` a ON (k.ad_group_id = a.ad_group_id AND k._DATA_DATE = a._DATA_DATE) WHERE k._DATA_DATE = k._LATEST_DATE GROUP BY 1, 2, 3, 4
bq
bq query --use_legacy_sql=false ' SELECT c.campaign_status AS CampaignStatus, a.ad_group_status AS AdGroupStatus, k.ad_group_criterion_status AS KeywordStatus, k.ad_group_criterion_keyword_match_type AS KeywordMatchType, COUNT(*) AS count FROM `DATASET.ads_Keyword_CUSTOMER_ID` k JOIN `DATASET.ads_Campaign_CUSTOMER_ID` c ON (k.campaign_id = c.campaign_id AND k._DATA_DATE = c._DATA_DATE) JOIN `DATASET.ads_AdGroup_CUSTOMER_ID` a ON (k.ad_group_id = a.ad_group_id AND k._DATA_DATE = a._DATA_DATE) WHERE k._DATA_DATE = k._LATEST_DATE GROUP BY 1, 2, 3, 4'