Transfer Campaign Manager
Konektor BigQuery Data Transfer Service untuk Campaign Manager memungkinkan Anda menjadwalkan dan mengelola tugas pemuatan berulang secara otomatis untuk data pelaporan Campaign Manager.
Laporan yang Didukung
BigQuery Data Transfer Service untuk Campaign Manager (sebelumnya dikenal sebagai DoubleClick Campaign Manager) mendukung opsi pelaporan berikut:
- File Transfer Data v2 (Campaign Manager DTv2)
- Tabel pencocokan Transfer Data v2 (Campaign Manager DTv2)
Untuk mengetahui informasi tentang transformasi laporan Campaign Manager menjadi tabel dan tampilan BigQuery, lihat Transformasi laporan Campaign Manager.
Opsi pelaporan | Dukungan |
---|---|
Frekuensi pengulangan | Setiap 8 jam, berdasarkan waktu pembuatan. Tidak dapat dikonfigurasi |
Jendela refresh | 2 hari terakhir Tidak dapat dikonfigurasi |
Durasi pengisian ulang maksimum | 60 hari terakhir Campaign Manager menyimpan file Transfer Data hingga 60 hari. File yang sudah lebih dari 60 hari akan dihapus oleh Campaign Manager. |
Penyerapan data dari transfer Campaign Manager
Saat Anda mentransfer data dari Campaign Manager 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 refresh 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.
Sebelum memulai
Sebelum membuat transfer data Campaign Manager:
- Pastikan Anda telah menyelesaikan semua tindakan yang diperlukan untuk mengaktifkan BigQuery Data Transfer Service.
- Buat set data BigQuery untuk menyimpan data Campaign Manager.
Pastikan organisasi Anda memiliki akses ke file Transfer Data Campaign Manager v2 (Campaign Manager DTv2). File ini dikirimkan oleh tim Campaign Manager ke bucket Cloud Storage. Untuk mendapatkan akses ke file Campaign Manager DTv2, langkah Anda berikutnya bergantung pada apakah Anda memiliki kontrak langsung dengan Campaign Manager. Dalam kedua kasus tersebut, biaya tambahan mungkin berlaku.
- Jika Anda memiliki kontrak dengan Campaign Manager, hubungi dukungan Campaign Manager untuk menyiapkan file Campaign Manager DTv2.
- Jika Anda tidak memiliki kontrak dengan Campaign Manager, agensi iklan atau reseller Campaign Manager Anda mungkin memiliki akses ke file Campaign Manager DTv2. Hubungi agensi atau reseller Anda untuk mendapatkan akses ke file tersebut.
Setelah menyelesaikan langkah ini, Anda akan menerima nama bucket Cloud Storage yang mirip dengan berikut ini:
dcdt_-dcm_account123456
Jika ingin menyiapkan notifikasi operasi transfer untuk Pub/Sub, Anda harus memiliki izin
pubsub.topics.setIamPolicy
. Untuk mengetahui informasi selengkapnya, lihat Notifikasi operasi BigQuery Data Transfer Service.
Izin yang diperlukan
BigQuery: Pastikan orang yang membuat transfer data memiliki izin berikut di BigQuery:
- Izin
bigquery.transfers.update
untuk membuat transfer data - Izin
bigquery.datasets.get
danbigquery.datasets.update
pada set data target
Peran IAM
bigquery.admin
yang telah ditetapkan mencakup izinbigquery.transfers.update
,bigquery.datasets.update
, danbigquery.datasets.get
. Untuk mengetahui informasi lebih lanjut tentang peran IAM dalam BigQuery Data Transfer Service, lihat Kontrol akses.- Izin
Campaign Manager: Akses baca ke file DTv2 Campaign Manager yang disimpan di Cloud Storage. Akses dikelola oleh entity tempat Anda menerima bucket Cloud Storage.
Menyiapkan transfer Campaign Manager
Penyiapan transfer data Campaign Manager memerlukan:
Bucket Cloud Storage: URI bucket Cloud Storage untuk file DTv2 Campaign Manager Anda seperti yang dijelaskan di bagian Sebelum memulai. Nama bucket akan terlihat seperti berikut:
dcdt_-dcm_account123456
ID Campaign Manager: ID Jaringan Campaign Manager, Pengiklan, atau Floodlight Anda. ID jaringan adalah induk dalam hierarki.
Menemukan ID Campaign Manager
Untuk mengambil ID Campaign Manager, Anda dapat menggunakan konsol Cloud Storage untuk memeriksa file di bucket Cloud Storage Transfer Data Campaign Manager. ID Campaign Manager digunakan untuk mencocokkan file di bucket Cloud Storage yang disediakan. ID disematkan dalam nama file, bukan nama bucket Cloud Storage.
Contoh:
- Dalam file bernama
dcm_account123456_activity_*
, ID-nya adalah 123456. - Dalam file bernama
dcm_floodlight7890_activity_*
, ID-nya adalah 7890. - Dalam file bernama
dcm_advertiser567_activity_*
, ID-nya adalah 567.
Menemukan awalan nama file Anda
Dalam kasus yang jarang terjadi, file di bucket Cloud Storage Anda mungkin memiliki nama file kustom nonstandar yang disiapkan oleh tim layanan Google Marketing Platform untuk Anda.
Contoh:
- Dalam file bernama
dcm_account123456custom_activity_*
, awalannya adalah dcm_account123456custom — semuanya sebelum_activity
.
Hubungi dukungan Campaign Manager jika Anda memerlukan bantuan.
Membuat transfer data untuk Campaign Manager
Konsol
Buka halaman Data transfers di konsol Google Cloud.
Klik
Create transfer.Di halaman Create Transfer:
Di bagian Source type, untuk Source, pilih Campaign Manager.
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 Schedule, biarkan nilai defaultnya (Start now) atau klik Start at a set time.
Untuk Repeats, pilih opsi seberapa sering transfer dijalankan.
- Harian (default)
- Mingguan
- Bulanan
- Khusus
- Sesuai permintaan
Jika Anda memilih opsi selain Harian, opsi tambahan tersedia. Misalnya, jika Anda memilih Mingguan, sebuah opsi akan muncul untuk memilih hari.
Untuk Tanggal mulai dan waktu proses, masukkan tanggal dan waktu untuk memulai transfer data. Jika Anda memilih Start now, opsi ini akan dinonaktifkan.
Di bagian Destination settings, untuk Destination dataset, pilih set data yang Anda buat untuk menyimpan data.
Di bagian Data source details:
- Untuk Cloud Storage bucket, masukkan atau cari nama bucket Cloud Storage yang menyimpan file Transfer Data V2.0 Anda. Saat Anda memasukkan nama bucket, jangan sertakan
gs://
. - Untuk DoubleClick ID, masukkan ID Campaign Manager yang sesuai.
(Opsional) Jika file Anda memiliki nama standar seperti contoh ini, kosongkan kolom File name prefix. Tentukan awalan nama file jika file di bucket Cloud Storage memiliki nama file kustom.
- Untuk Cloud Storage bucket, masukkan atau cari nama bucket Cloud Storage yang menyimpan file Transfer Data V2.0 Anda. Saat Anda memasukkan nama bucket, jangan sertakan
(Opsional) Di bagian Notification options:
- Klik tombol untuk mengaktifkan notifikasi email. Saat Anda mengaktifkan opsi ini, administrator transfer akan menerima notifikasi email saat proses transfer gagal.
- Untuk Select a Pub/Sub topic, pilih nama topik atau klik Create a topic. Opsi ini mengonfigurasi notifikasi operasi Pub/Sub untuk transfer Anda.
Klik Simpan.
bq
Masukkan perintah bq mk
dan berikan flag pembuatan transfer — --transfer_config
. Flag berikut juga diperlukan:
--data_source
--target_dataset
--display_name
--params
bq mk --transfer_config \ --project_id=project_id \ --target_dataset=dataset \ --display_name=name \ --params='parameters' \ --data_source=data_source
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 data yang dibuat dalam format JSON. Contoh:
--params='{"param":"param_value"}'
. Untuk Campaign Manager, Anda harus menyediakan parameterbucket
dannetwork_id
.bucket
adalah bucket Cloud Storage yang berisi file DTv2 Campaign Manager Anda.network_id
adalah jaringan, Floodlight, atau ID pengiklan Anda. - data_source adalah sumber data —
dcm_dt
(Campaign Manager).
Anda juga dapat memberikan flag --project_id
untuk menentukan project tertentu. Jika --project_id
tidak ditentukan, project default akan digunakan.
Misalnya, perintah berikut akan membuat transfer data
Campaign Manager bernama My Transfer
menggunakan ID Campaign Manager 123456
,
bucket Cloud Storage dcdt_-dcm_account123456
, dan set data target
mydataset
. Parameter file_name_prefix
bersifat opsional dan hanya digunakan untuk nama file kustom yang langka.
Transfer data dibuat di project default:
bq mk --transfer_config \
--target_dataset=mydataset \
--display_name='My Transfer' \
--params='{"bucket": "dcdt_-dcm_account123456","network_id": "123456","file_name_prefix":"YYY"}' \
--data_source=dcm_dt
Setelah menjalankan perintah, 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 petunjuknya, lalu tempel kode autentikasi di 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.
Memecahkan masalah penyiapan transfer Campaign Manager
Jika Anda mengalami masalah saat menyiapkan transfer data, lihat Masalah transfer Campaign Manager di bagian Memecahkan masalah konfigurasi transfer.
Membuat kueri data Anda
Saat data Anda ditransfer ke BigQuery, data tersebut akan 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.
Contoh kueri Campaign Manager
Anda dapat menggunakan contoh kueri Campaign Manager 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 Campaign Manager dengan BigQuery. Untuk pertanyaan tambahan mengenai apa yang dapat Anda lakukan dengan laporan ini, hubungi perwakilan teknis Campaign Manager Anda.
Di setiap kueri berikut, ganti variabel seperti dataset dengan nilai Anda.
Kampanye terbaru
Contoh kueri SQL berikut mengambil kampanye terbaru.
SELECT Campaign, Campaign_ID FROM `dataset.match_table_campaigns_campaign_manager_id` WHERE _DATA_DATE = _LATEST_DATE
Tayangan dan pengguna berbeda menurut kampanye
Contoh kueri SQL berikut menganalisis jumlah tayangan dan pengguna yang berbeda berdasarkan kampanye selama 30 hari terakhir.
# START_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY) # END_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY) SELECT Campaign_ID, _DATA_DATE AS Date, COUNT(*) AS count, COUNT(DISTINCT User_ID) AS du FROM `dataset.impression_campaign_manager_id` WHERE _DATA_DATE BETWEEN start_date AND end_date GROUP BY Campaign_ID, Date
Kampanye terbaru yang diurutkan berdasarkan kampanye dan tanggal
Contoh kueri SQL berikut menganalisis kampanye terbaru dalam 30 hari terakhir, yang diurutkan berdasarkan kampanye dan tanggal.
# START_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY) # END_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY) SELECT Campaign, Campaign_ID, Date FROM ( SELECT Campaign, Campaign_ID FROM `dataset.match_table_campaigns_campaign_manager_id` WHERE _DATA_DATE = _LATEST_DATE ), ( SELECT date AS Date FROM `bigquery-public-data.utility_us.date_greg` WHERE Date BETWEEN start_date AND end_date ) ORDER BY Campaign_ID, Date
Tayangan dan pengguna yang berbeda menurut kampanye dalam rentang tanggal
Contoh kueri SQL berikut menganalisis jumlah tayangan dan pengguna yang berbeda menurut kampanye antara start_date dan end_date.
# START_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY) # END_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY) SELECT base.*, imp.count AS imp_count, imp.du AS imp_du FROM ( SELECT * FROM ( SELECT Campaign, Campaign_ID FROM `dataset.match_table_campaigns_campaign_manager_id` WHERE _DATA_DATE = _LATEST_DATE ), ( SELECT date AS Date FROM `bigquery-public-data.utility_us.date_greg` WHERE Date BETWEEN start_date AND end_date ) ) AS base LEFT JOIN ( SELECT Campaign_ID, _DATA_DATE AS Date, COUNT(*) AS count, COUNT(DISTINCT User_ID) AS du FROM `dataset.impression_campaign_manager_id` WHERE _DATA_DATE BETWEEN start_date AND end_date GROUP BY Campaign_ID, Date ) AS imp ON base.Campaign_ID = imp.Campaign_ID AND base.Date = imp.Date WHERE base.Campaign_ID = imp.Campaign_ID AND base.Date = imp.Date ORDER BY base.Campaign_ID, base.Date
Tayangan, klik, aktivitas, dan pengguna berbeda menurut kampanye
Contoh kueri SQL berikut menganalisis jumlah tayangan, klik, aktivitas, dan pengguna berbeda berdasarkan kampanye selama 30 hari terakhir. Di kueri ini, ganti variabel seperti campaign_list dengan nilai Anda. Misalnya, ganti campaign_list dengan daftar yang dipisahkan koma dari semua kampanye Campaign Manager yang diinginkan dalam cakupan kueri.
# START_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY) # END_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY) SELECT base.*, imp.count AS imp_count, imp.du AS imp_du, click.count AS click_count, click.du AS click_du, activity.count AS activity_count, activity.du AS activity_du FROM ( SELECT * FROM ( SELECT Campaign, Campaign_ID FROM `dataset.match_table_campaigns_campaign_manager_id` WHERE _DATA_DATE = _LATEST_DATE ), ( SELECT date AS Date FROM `bigquery-public-data.utility_us.date_greg` WHERE Date BETWEEN DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY) AND DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY) ) ) AS base LEFT JOIN ( SELECT Campaign_ID, _DATA_DATE AS Date, COUNT(*) AS count, COUNT(DISTINCT User_ID) AS du FROM `dataset.impression_campaign_manager_id` WHERE _DATA_DATE BETWEEN DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY) AND DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY) GROUP BY Campaign_ID, Date ) AS imp ON base.Campaign_ID = imp.Campaign_ID AND base.Date = imp.Date LEFT JOIN ( SELECT Campaign_ID, _DATA_DATE AS Date, COUNT(*) AS count, COUNT(DISTINCT User_ID) AS du FROM `dataset.click_campaign_manager_id` WHERE _DATA_DATE BETWEEN DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY) AND DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY) GROUP BY Campaign_ID, Date ) AS click ON base.Campaign_ID = click.Campaign_ID AND base.Date = click.Date LEFT JOIN ( SELECT Campaign_ID, _DATA_DATE AS Date, COUNT(*) AS count, COUNT(DISTINCT User_ID) AS du FROM `dataset.activity_campaign_manager_id` WHERE _DATA_DATE BETWEEN DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY) AND DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY) GROUP BY Campaign_ID, Date ) AS activity ON base.Campaign_ID = activity.Campaign_ID AND base.Date = activity.Date WHERE base.Campaign_ID IN campaign_list AND (base.Date = imp.Date OR base.Date = click.Date OR base.Date = activity.Date) ORDER BY base.Campaign_ID, base.Date
Aktivitas kampanye
Contoh kueri SQL berikut menganalisis aktivitas kampanye selama 30 hari terakhir. Dalam kueri ini, ganti variabel seperti campaign_list dengan nilai Anda. Misalnya, ganti campaign_list dengan daftar yang dipisahkan koma dari semua kampanye Campaign Manager yang diinginkan dalam cakupan kueri.
# START_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY) # END_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY) SELECT base.*, activity.count AS activity_count, activity.du AS activity_du FROM ( SELECT * FROM ( SELECT Campaign, Campaign_ID FROM `dataset.match_table_campaigns_campaign_manager_id` WHERE _DATA_DATE = _LATEST_DATE ), ( SELECT mt_at.Activity_Group, mt_ac.Activity, mt_ac.Activity_Type, mt_ac.Activity_Sub_Type, mt_ac.Activity_ID, mt_ac.Activity_Group_ID FROM `dataset.match_table_activity_cats_campaign_manager_id` AS mt_ac JOIN ( SELECT Activity_Group, Activity_Group_ID FROM `dataset.match_table_activity_types_campaign_manager_id` WHERE _DATA_DATE = _LATEST_DATE ) AS mt_at ON mt_at.Activity_Group_ID = mt_ac.Activity_Group_ID WHERE _DATA_DATE = _LATEST_DATE ), ( SELECT date AS Date FROM `bigquery-public-data.utility_us.date_greg` WHERE Date BETWEEN start_date AND end_date ) ) AS base LEFT JOIN ( SELECT Campaign_ID, Activity_ID, _DATA_DATE AS Date, COUNT(*) AS count, COUNT(DISTINCT User_ID) AS du FROM `dataset.activity_campaign_manager_id` WHERE _DATA_DATE BETWEEN DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY) AND DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY) GROUP BY Campaign_ID, Activity_ID, Date ) AS activity ON base.Campaign_ID = activity.Campaign_ID AND base.Activity_ID = activity.Activity_ID AND base.Date = activity.Date WHERE base.Campaign_ID IN campaign_list AND base.Activity_ID = activity.Activity_ID ORDER BY base.Campaign_ID, base.Activity_Group_ID, base.Activity_ID, base.Date