Transfer Google Ad Manager

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

BigQuery Data Transfer Service untuk Google Ad Manager saat ini 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
Jadwal

Setiap 8 jam, berdasarkan waktu pembuatan.

Tidak dapat dikonfigurasi

Frekuensi pemuatan ulang

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.

Sebelum memulai

Sebelum Anda membuat transfer 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, 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 memiliki izin berikut di BigQuery:

      • Izin bigquery.transfers.update untuk membuat transfer
      • 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 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 paling mudah dicapai dengan menambahkan pengguna Ad Manager yang mengautentikasi transfer 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 BigQuery Data Transfer Service untuk Google Ad Manager:

    Konsol

    1. Buka halaman BigQuery di konsol Google Cloud.

      Buka halaman BigQuery

    2. Klik Data transfers.

    3. Klik Create Transfer.

    4. Di halaman Create Transfer:

      • Di bagian Source type, untuk Source, pilih Google Ad Manager.

        Sumber transfer

      • Di bagian Transfer config name, untuk Display name, masukkan nama untuk transfer, misalnya My Transfer. Nama transfer dapat berupa nilai apa pun yang memungkinkan Anda mengidentifikasi transfer dengan mudah jika perlu mengubahnya nanti.

        Nama transfer

      • Di bagian Destination settings, untuk Destination 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 Anda, bukan menggunakan kredensial pengguna. Untuk mengetahui informasi selengkapnya tentang cara menggunakan akun layanan dengan transfer data, lihat Menggunakan akun layanan.

      • (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.
    5. 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. Nama transfer dapat berupa nilai apa pun yang memudahkan 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 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 Anda. Akun layanan harus dimiliki oleh project_id yang sama dengan 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 Google Ad Manager bernama My Transfer menggunakan kode jaringan 12345678, bucket Cloud Storage gdfp-12345678, dan set data target mydataset. Transfer 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 mengetahui 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 mengalami masalah saat menyiapkan transfer, 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