Transfer Google Ad Manager

Konektor BigQuery Data Transfer Service untuk Google Ad Manager memungkinkan Anda membuat dan mengelola tugas pemuatan berulang secara otomatis untuk data pelaporan Google Ad Manager (sebelumnya dikenal sebagai DoubleClick for Publishers).

Laporan yang didukung

Konektor BigQuery Data Transfer Service untuk Google Ad Manager mendukung opsi pelaporan berikut:

Untuk mengetahui informasi tentang transformasi laporan Google Ad Manager menjadi tabel dan tampilan BigQuery, lihat Transformasi laporan Google Ad 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

Google Ad Manager menyimpan file Transfer Data hingga 60 hari. File yang sudah lebih dari 60 hari akan dihapus oleh Google Ad Manager.

Penyerapan data dari transfer Google Ad Manager

Saat Anda mentransfer data dari Google Ad 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 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.

Update inkremental

Tabel yang dibuat dari file Transfer Data Google Ad Manager (DT Google Ad Manager) dapat diperbarui secara bertahap. Google Ad Manager menambahkan file DT Google Ad Manager ke bucket Cloud Storage. Proses transfer kemudian secara bertahap memuat file DT Google Ad Manager baru dari bucket Cloud Storage ke tabel BigQuery tanpa memuat ulang file yang telah ditransfer ke tabel BigQuery.

Misalnya: Google Ad Manager menambahkan file1 ke bucket pada pukul 01.00 dan file2 pada pukul 02.00. Transfer dimulai pada pukul 03.30 dan memuat file1 dan file2 ke BigQuery. Google Ad Manager kemudian menambahkan file3 pada pukul 05.00 dan file4 pada pukul 06.00. Transfer kedua dimulai pada pukul 07.30 dan menambahkan file3 dan file4 ke BigQuery, bukan menimpa tabel dengan memuat keempat file.

Sebelum memulai

Sebelum Anda membuat transfer data Google Ad Manager:

  • Pastikan Anda telah menyelesaikan semua tindakan yang diperlukan untuk mengaktifkan BigQuery Data Transfer Service.
  • Buat set data BigQuery untuk menyimpan data Google Ad Manager.
  • Pastikan organisasi Anda memiliki akses ke file Transfer Data Google Ad Manager (DT Google Ad Manager). File ini dikirimkan oleh tim Google Ad Manager ke bucket Cloud Storage. Untuk mendapatkan akses ke file DT Google Ad Manager, tinjau Laporan Transfer Data Ad Manager. Tagihan tambahan dari tim Google Ad Manager mungkin berlaku.

    Setelah menyelesaikan langkah ini, Anda akan menerima bucket Cloud Storage yang mirip dengan berikut ini:

        gdfp-12345678
      

    Tim Google Cloud TIDAK memiliki kemampuan untuk membuat atau memberikan akses ke file DT Google Ad Manager atas nama Anda. Hubungi dukungan Google Ad Manager untuk mengakses file DT Google Ad Manager.

  • Aktifkan akses API ke jaringan Google Ad Manager Anda.
  • Jika ingin menyiapkan notifikasi transfer data, Anda harus memiliki izin pubsub.topics.setIamPolicy untuk Pub/Sub. Izin Pub/Sub tidak diperlukan jika Anda baru saja menyiapkan notifikasi email. 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 dan bigquery.datasets.update pada set data target

    Peran IAM bigquery.admin yang telah ditetapkan mencakup izin bigquery.transfers.update, bigquery.datasets.update, dan bigquery.datasets.get. Untuk mengetahui informasi lebih lanjut tentang peran IAM dalam BigQuery Data Transfer Service, lihat Kontrol akses.

  • Google Ad Manager: Akses baca ke file DT Google Ad Manager yang tersimpan di Cloud Storage. Izin untuk file DT Google Ad Manager dikelola oleh tim Google Ad Manager. Selain file DT Google Ad Manager, orang yang membuat transfer data harus ditambahkan ke jaringan Google Ad Manager, dengan akses baca ke semua entitas yang diperlukan untuk membuat berbagai pencocokan tabel (item baris, pesanan, unit iklan, dll.). Hal ini dapat dilakukan dengan menambahkan pengguna Ad Manager yang mengautentikasi transfer data ke tim Semua Entitas di Ad Manager.

Menyiapkan transfer Google Ad Manager

Penyiapan transfer data BigQuery untuk Google Ad Manager memerlukan:

  • Bucket Cloud Storage: URI bucket Cloud Storage untuk file DT Google Ad Manager Anda, seperti yang dijelaskan di bagian Sebelum memulai. Nama bucket akan terlihat seperti berikut:

    gdfp-12345678
  • Kode Jaringan: Anda akan menemukan kode jaringan Google Ad Manager di URL saat login ke jaringan. Misalnya, di URL https://admanager.google.com/2032576#delivery, 2032576 adalah kode jaringan Anda. Untuk informasi selengkapnya, lihat Memulai Google Ad Manager.

Untuk membuat transfer data BigQuery Data Transfer Service untuk Google Ad Manager:

Konsol

  1. Buka halaman Data transfers di konsol Google Cloud.

    Buka Data transfers

  2. Klik Create a transfer.

  3. Di halaman Create Transfer:

    • Di bagian Source type, untuk Source, pilih Google Ad Manager (sebelumnya DFP).

    Sumber transfer

    • 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.

    Nama transfer

    • Di bagian Destination settings, untuk Dataset, pilih set data yang Anda buat untuk menyimpan data.

    Mentransfer set data

    • Di bagian Data source details:
      • Untuk Cloud Storage bucket, masukkan nama bucket Cloud Storage yang menyimpan file transfer data Anda. Saat Anda memasukkan nama bucket, jangan sertakan gs://.
      • Untuk Network code, masukkan kode jaringan.

    Detail sumber Google Ad Manager

    • Di menu Service account, pilih service account dari akun layanan yang terkait dengan project Google Cloud Anda. Anda dapat mengaitkan akun layanan dengan transfer, bukan menggunakan kredensial pengguna. Untuk 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 saat proses transfer gagal.
      • Klik tombol untuk mengaktifkan notifikasi operasi 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 yang dilakukan.
  4. 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 opsional:

  • --service_account_name - Menentukan akun layanan yang akan digunakan untuk autentikasi transfer Google Ad Manager, bukan akun pengguna Anda.
bq mk --transfer_config \
--project_id=project_id \
--target_dataset=dataset \
--display_name=name \
--params='parameters' \
--data_source=data_source \
--service_account_name=service_account_name

Dengan keterangan:

  • project_id adalah project ID Anda.
  • dataset adalah set data target untuk konfigurasi transfer.
  • name adalah nama tampilan untuk konfigurasi transfer data. Nama transfer dapat berupa nilai apa pun yang memungkinkan Anda mengidentifikasi transfer data jika perlu mengubahnya nanti.
  • parameters berisi parameter untuk konfigurasi transfer yang dibuat dalam format JSON. Contoh: --params='{"param":"param_value"}'. Untuk Google Ad Manager, Anda harus memberikan parameter bucket dan network_code. bucket adalah bucket Cloud Storage yang berisi file DT Google Ad Manager Anda. network_code adalah kode jaringan Anda.
  • data_source adalah sumber data — dfp_dt (Google Ad Manager).
  • service_account_name adalah nama akun layanan yang digunakan untuk mengautentikasi transfer data Anda. Akun layanan harus dimiliki oleh project_id yang sama yang digunakan untuk membuat transfer dan harus memiliki semua izin yang diperlukan.

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 Google Ad Manager bernama My Transfer menggunakan kode jaringan 12345678, bucket Cloud Storage gdfp-12345678, dan set data target mydataset. Transfer data dibuat di project default:

bq mk --transfer_config \
--target_dataset=mydataset \
--display_name='My Transfer' \
--params='{"bucket": "gdfp-12345678","network_code": "12345678"}' \
--data_source=dfp_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.

import com.google.api.gax.rpc.ApiException;
import com.google.cloud.bigquery.datatransfer.v1.CreateTransferConfigRequest;
import com.google.cloud.bigquery.datatransfer.v1.DataTransferServiceClient;
import com.google.cloud.bigquery.datatransfer.v1.ProjectName;
import com.google.cloud.bigquery.datatransfer.v1.TransferConfig;
import com.google.protobuf.Struct;
import com.google.protobuf.Value;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

// Sample to create a ad manager(formerly DFP) transfer config
public class CreateAdManagerTransfer {

  public static void main(String[] args) throws IOException {
    // TODO(developer): Replace these variables before running the sample.
    final String projectId = "MY_PROJECT_ID";
    String datasetId = "MY_DATASET_ID";
    String bucket = "gs://cloud-sample-data";
    // the network_code can only be digits with length 1 to 15
    String networkCode = "12345678";
    Map<String, Value> params = new HashMap<>();
    params.put("bucket", Value.newBuilder().setStringValue(bucket).build());
    params.put("network_code", Value.newBuilder().setStringValue(networkCode).build());
    TransferConfig transferConfig =
        TransferConfig.newBuilder()
            .setDestinationDatasetId(datasetId)
            .setDisplayName("Your Ad Manager Config Name")
            .setDataSourceId("dfp_dt")
            .setParams(Struct.newBuilder().putAllFields(params).build())
            .build();
    createAdManagerTransfer(projectId, transferConfig);
  }

  public static void createAdManagerTransfer(String projectId, TransferConfig transferConfig)
      throws IOException {
    try (DataTransferServiceClient client = DataTransferServiceClient.create()) {
      ProjectName parent = ProjectName.of(projectId);
      CreateTransferConfigRequest request =
          CreateTransferConfigRequest.newBuilder()
              .setParent(parent.toString())
              .setTransferConfig(transferConfig)
              .build();
      TransferConfig config = client.createTransferConfig(request);
      System.out.println("Ad manager transfer created successfully :" + config.getName());
    } catch (ApiException ex) {
      System.out.print("Ad manager transfer was not created." + ex.toString());
    }
  }
}

Memecahkan masalah penyiapan transfer Google Ad Manager

Jika Anda mengalami masalah saat menyiapkan transfer data, lihat Masalah transfer Google Ad Manager di 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.

Anda dapat menggunakan contoh kueri Google Ad 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 Google Ad Manager dengan BigQuery. Untuk pertanyaan tambahan mengenai apa yang dapat Anda lakukan dengan laporan ini, hubungi perwakilan teknis Google Ad Manager Anda.

Di setiap kueri berikut, ganti variabel seperti dataset dengan nilai Anda. Misalnya, ganti network_code dengan kode jaringan Google Ad Manager Anda.

Tayangan dan pengguna unik menurut kota

Contoh kueri SQL berikut menganalisis jumlah tayangan dan pengguna unik berdasarkan kota selama 30 hari terakhir.

# START_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY)
# END_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY)
SELECT
  City,
  _DATA_DATE AS Date,
  count(*) AS imps,
  count(distinct UserId) AS uniq_users
FROM `dataset.NetworkImpressionsnetwork_code`
WHERE
  _DATA_DATE BETWEEN start_date AND end_date
GROUP BY City, Date

Tayangan dan pengguna unik menurut jenis item baris

Contoh kueri SQL berikut menganalisis jumlah tayangan dan pengguna unik berdasarkan jenis item baris selama 30 hari terakhir.

# START_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY)
# END_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY)
SELECT
  MT.LineItemType AS LineItemType,
  DT._DATA_DATE AS Date,
  count(*) AS imps,
  count(distinct UserId) AS uniq_users
FROM `dataset.NetworkImpressionsnetwork_code` AS DT
LEFT JOIN `dataset.MatchTableLineItem_network_code` AS MT
ON
  DT.LineItemId = MT.Id
WHERE
  DT._DATA_DATE BETWEEN start_date AND end_date
GROUP BY LineItemType, Date
ORDER BY Date desc, imps desc

Tayangan menurut unit iklan

Contoh kueri SQL berikut menganalisis jumlah tayangan berdasarkan unit iklan selama 30 hari terakhir.

# START_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY)
# END_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY)
SELECT
  MT.AdUnitCode AS AdUnitCode,
  DT.DATA_DATE AS Date,
  count(*) AS imps
FROM `dataset.NetworkImpressionsnetwork_code` AS DT
LEFT JOIN `dataset.MatchTableLineItem_network_code` AS MT
ON
  DT.AdUnitId = MT.Id
WHERE
  DT._DATA_DATE BETWEEN start_date AND end_date
GROUP BY AdUnitCode, Date
ORDER BY Date desc, imps desc

Tayangan menurut item baris

Kueri contoh SQL berikut menganalisis jumlah tayangan berdasarkan item baris selama 30 hari terakhir.

# START_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY)
# END_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY)
SELECT
  MT.Name AS LineItemName,
  DT._DATA_DATE AS Date,
  count(*) AS imps
FROM `dataset.NetworkImpressionsnetwork_code` AS DT
LEFT JOIN `dataset.MatchTableLineItem_network_code` AS MT
ON
  DT.LineItemId = MT.Id
WHERE
  DT._DATA_DATE BETWEEN start_date AND end_date
GROUP BY LineItemName, Date
ORDER BY Date desc, imps desc