Google Ad Manager-Übertragungen

Mit dem BigQuery Data Transfer Service für Google Ad Manager können Sie wiederkehrende Ladejobs für die Berichtsdaten von Google Ad Manager (früher bekannt als DoubleClick for Publishers) automatisch erstellen und verwalten.

Unterstützte Berichte

Der BigQuery Data Transfer Service für Google Ad Manager unterstützt derzeit die folgenden Berichtsoptionen:

Informationen zur Umwandlung von Google Ad Manager-Berichten in BigQuery-Tabellen und -Ansichten finden Sie unter Google Ad Manager-Berichte umwandeln.

Berichtsoption Support
Planen

Alle acht Stunden, je nach Erstellungszeitpunkt

Nicht konfigurierbar

Berichtszeitraum

Letzte zwei Tage

Nicht konfigurierbar

Maximale Backfill-Dauer

Letzte 60 Tage

Google Ad Manager speichert Data Transfer-Dateien bis zu 60 Tage lang. Dateien, die älter als 60 Tage sind, werden von Google Ad Manager gelöscht.

Vorbereitung

Führen Sie die folgenden Aktionen aus, bevor Sie eine Google Ad Manager-Übertragung erstellen:

  • Überprüfen Sie, ob Sie alle erforderlichen Aktionen ausgeführt haben, damit Sie den BigQuery Data Transfer Service aktivieren können.
  • Erstellen Sie ein BigQuery-Dataset zum Speichern der Google Ad Manager-Daten.
  • Achten Sie darauf, dass Ihre Organisation Zugriff auf die Data Transfer-Dateien von Google Ad Manager (Google Ad Manager DT) hat. Diese Dateien werden vom Google Ad Manager-Team an einen Cloud Storage-Bucket geliefert. Informationen zum Zugriff auf DT-Dateien von Google Ad Manager finden Sie in den Ad Manager-Datenübertragungsberichten. Möglicherweise fallen zusätzliche Kosten vom Google Ad Manager-Team an.

    Nach der Ausführung dieses Schritts erhalten Sie einen Cloud Storage-Bucket ähnlich dem folgenden:

    gdfp-12345678

    Das Google Cloud-Team kann in Ihrem Namen KEINE DT-Dateien von Google Ad Manager generieren oder Zugriff auf sie gewähren. Wenden Sie sich an den Support von Google Ad Manager, um auf DT-Dateien von Google Ad Manager zuzugreifen.

  • Aktivieren Sie den API-Zugriff auf Ihr Google Ad Manager-Netzwerk.
  • Wenn Sie Übertragungsbenachrichtigungen einrichten möchten, benötigen Sie Berechtigungen des Typs pubsub.topics.setIamPolicy für Pub/Sub. Pub/Sub-Berechtigungen sind nicht erforderlich, wenn Sie nur E-Mail-Benachrichtigungen einrichten. Weitere Informationen finden Sie unter Ausführungsbenachrichtigungen im BigQuery Data Transfer Service.
  • Erforderliche Berechtigungen

    • BigQuery: Achten Sie darauf, dass die Person, die die Übertragung erstellt, die folgenden Berechtigungen in BigQuery hat:

      • bigquery.transfers.update Berechtigungen zum Erstellen der Übertragung
      • Die Berechtigungen bigquery.datasets.get und bigquery.datasets.update für das Ziel-Dataset

      Die vordefinierte IAM-Rolle bigquery.admin enthält die Berechtigungen bigquery.transfers.update, bigquery.datasets.update und bigquery.datasets.get. Weitere Informationen zu IAM-Rollen in BigQuery Data Transfer Service finden Sie in der Zugriffssteuerung.

    • Google Ad Manager: Lesezugriff auf die DT-Dateien von Google Ad Manager, die in Cloud Storage gespeichert sind. Berechtigungen für DT-Dateien von Google Ad Manager werden vom Google Ad Manager-Team verwaltet. Zusätzlich zu den DT-Dateien von Google Ad Manager muss die Person, die die Übertragung erstellt, dem Google Ad Manager-Netzwerk mit Lesezugriff auf alle Entitäten hinzugefügt werden, die zum Erstellen der verschiedenen Match-Tables (Position, Auftrag, Anzeigenblock usw.) erforderlich sind. Dies kann am einfachsten erfolgen, indem Sie den Ad Manager-Nutzer hinzufügen, der die Übertragung für das Team für alle Entitäten in Ad Manager authentifiziert hat.

    Google Ad Manager-Übertragung einrichten

    Zur Einrichtung einer BigQuery-Datenübertragung für Google Ad Manager wird Folgendes benötigt:

    • Cloud Storage-Bucket: Der Cloud Storage-Bucket-URI für die DT-Dateien von Google Ad Manager, wie unter Vorbereitung beschrieben. Der Bucket-Name sollte so aussehen:

      gdfp-12345678
    • Netzwerkcode: Sie finden den Netzwerkcode für Google Ad Manager in der URL, wenn Sie in Ihrem Netzwerk angemeldet sind. In der URL https://admanager.google.com/2032576#delivery ist beispielsweise 2032576 der Netzwerkcode. Weitere Informationen finden Sie in der Einführung zu Google Ad Manager.

    So erstellen Sie einen BigQuery Data Transfer Service für Google Ad Manager:

    Console

    1. Rufen Sie in der Google Cloud Console die Seite "BigQuery" auf.

      Zur Seite „BigQuery“

    2. Klicken Sie auf Datenübertragungen.

    3. Klicken Sie auf Create Transfer (Übertragung erstellen).

    4. Gehen Sie auf der Seite Create Transfer (Übertragung erstellen) so vor:

      • Wählen Sie im Abschnitt Source type (Quelltyp) für Source (Quelle) die Option Google Ad Manager aus.

        Übertragungsquelle

      • Geben Sie im Abschnitt Transfer config name (Konfigurationsname für Übertragung) für Display name (Anzeigename) einen Namen wie My Transfer für die Übertragung ein. Der Übertragungsname kann ein beliebiger Wert sein, mit dem Sie die Übertragung einfach identifizieren können, wenn Sie sie später ändern müssen.

        Name der Übertragung

      • Wählen Sie im Abschnitt Destination settings (Zieleinstellungen) für Destination dataset (Ziel-Dataset) das Dataset aus, das Sie zum Speichern Ihrer Daten erstellt haben.

        Dataset übertragen

      • Im Abschnitt Data source details (Details zur Datenquelle):

        • Geben Sie für Cloud Storage bucket (Cloud Storage-Bucket) den Namen des Cloud Storage-Buckets ein, in dem die Datenübertragungsdateien gespeichert sind. Geben Sie den Bucket-Namen ohne gs:// ein.
        • Geben Sie als Netzwerkcode Ihren Netzwerkcode ein.

          Details zur Google Ad Manager-Quelle

      • Wählen Sie im Menü Dienstkonto ein Dienstkonto aus den Dienstkonten aus, die mit Ihrem Google Cloud-Projekt verknüpft sind. Sie können Ihre Übertragung mit einem Dienstkonto verknüpfen, anstatt Ihre Nutzeranmeldedaten zu verwenden. Weitere Informationen zur Verwendung von Dienstkonten mit Datenübertragungen finden Sie unter Dienstkonten verwenden.

      • (Optional) Im Abschnitt Notification options (Benachrichtigungsoptionen):

        • Klicken Sie auf die Umschaltfläche, um E-Mail-Benachrichtigungen zu aktivieren. Wenn Sie diese Option aktivieren, erhält der Übertragungsadministrator eine E-Mail-Benachrichtigung, wenn ein Übertragungsvorgang fehlschlägt.
        • Wählen Sie unter Pub/Sub-Thema auswählen Ihr Thema aus oder klicken Sie auf Thema erstellen. Mit dieser Option werden Pub/Sub-Ausführungsbenachrichtigungen für Ihre Übertragung konfiguriert.
    5. Klicken Sie auf Speichern.

    bq

    Geben Sie den Befehl bq mk ein und geben Sie das Flag --transfer_config für die Übertragungserstellung an. Die folgenden Flags sind ebenfalls erforderlich:

    • --data_source
    • --target_dataset
    • --display_name
    • --params

    Optionale Flags:

    • --service_account_name: Gibt ein Dienstkonto an, das für die Übertragungsauthentifizierung in Google Ad Manager anstelle Ihres Nutzerkontos verwendet werden soll.
    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
    

    Wobei:

    • project_id ist die Projekt-ID.
    • dataset ist das Ziel-Dataset für die Übertragungskonfiguration.
    • name ist der angezeigte Name für die Übertragungskonfiguration. Der Name der Übertragung kann ein beliebiger Wert sein, mit dem Sie die Übertragung einfach identifizieren können, wenn Sie sie später ändern müssen.
    • parameters enthält die Parameter für die erstellte Übertragungskonfiguration im JSON-Format. Beispiel: --params='{"param":"param_value"}'. Bei Google Ad Manager müssen Sie die Parameter bucket und network_code angeben. bucket ist der Cloud Storage-Bucket, der die DT-Dateien von Google Ad Manager enthält. network_code ist der Netzwerkcode.
    • data_source ist die Datenquelle: dfp_dt (Google Ad Manager).
    • service_account_name ist der Name des Dienstkontos, der zur Authentifizierung der Übertragung verwendet wird. Das Dienstkonto sollte zum selben project_id gehören, das für die Erstellung der Übertragung verwendet wurde, und sollte alle erforderlichen Berechtigungen haben.

    Sie können auch das Flag --project_id bereitstellen, um ein bestimmtes Projekt anzugeben. Wenn --project_id nicht angegeben ist, wird das Standardprojekt verwendet.

    Mit dem folgenden Befehl wird beispielsweise eine Google Ad Manager-Übertragung mit dem Namen My Transfer erstellt. Dabei werden der Netzwerkcode 12345678, der Cloud Storage-Bucket gdfp-12345678 und das Ziel-Dataset mydataset verwendet. Die Übertragung wird im Standardprojekt erstellt:

    bq mk --transfer_config \
    --target_dataset=mydataset \
    --display_name='My Transfer' \
    --params='{"bucket": "gdfp-12345678","network_code": "12345678"}' \
    --data_source=dfp_dt
    

    Nachdem Sie den Befehl ausgeführt haben, erhalten Sie eine Meldung wie die Folgende:

    [URL omitted] Please copy and paste the above URL into your web browser and follow the instructions to retrieve an authentication code.

    Folgen Sie der Anleitung und fügen Sie den Authentifizierungscode in die Befehlszeile ein.

    API

    Verwenden Sie die Methode projects.locations.transferConfigs.create und geben Sie eine Instanz der Ressource TransferConfig an.

    Java

    Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von Java in der BigQuery-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Angaben finden Sie in der Referenzdokumentation zur BigQuery Java API.

    Richten Sie zur Authentifizierung bei BigQuery die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.

    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());
        }
      }
    }

    Fehlerbehebung bei der Einrichtung der Google Ad Manager-Übertragung

    Falls beim Einrichten von Übertragungen Probleme auftreten, finden Sie unter Fehlerbehebung bei Übertragungskonfigurationen im Abschnitt Übertragungsprobleme mit Google Ad Manager weitere Informationen.

    Daten abfragen

    Bei der Übertragung Ihrer Daten in BigQuery werden die Daten in zeitpartitionierte Tabellen geschrieben. Weitere Informationen finden Sie unter Einführung in partitionierte Tabellen.

    Wenn Sie die Tabellen direkt abfragen, anstatt die automatisch generierten Ansichten zu verwenden, müssen Sie in der Abfrage die Pseudospalte _PARTITIONTIME verwenden. Weitere Informationen finden Sie unter Partitionierte Tabellen abfragen.

    Sie können die folgenden Google Ad Manager-Beispielabfragen verwenden, um Ihre übertragenen Daten zu analysieren. Sie können die Abfragen auch in einem Visualisierungstool wie Looker Studio aufrufen. Diese Abfragen werden zur Verfügung gestellt, um Ihnen den Einstieg in das Abfragen Ihrer Google Ad Manager-Daten mit BigQuery zu erleichtern. Bei weiteren Fragen zur Nutzung dieser Berichte wenden Sie sich an einen technischen Mitarbeiter von Google Ad Manager.

    Ersetzen Sie in jeder der folgenden Abfragen Variablen wie dataset durch Ihre Werte. Ersetzen Sie beispielsweise network_code durch Ihren Google Ad Manager-Netzwerkcode.

    Impressionen und einzelne Nutzer nach Stadt

    Die folgende SQL-Beispielabfrage analysiert die Anzahl von Impressionen und einzelnen Nutzern nach Stadt in den letzten 30 Tagen.

    # 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
    

    Impressionen und einzelne Nutzer nach Werbebuchungstyp

    Die folgende SQUL-Beispielabfrage analysiert die Anzahl von Impressionen und einzelnen Nutzern nach Werbebuchungstyp in den letzten 30 Tagen.

    # 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
    

    Impressionen nach Anzeigenblock

    Die folgende SQL-Beispielabfrage analysiert die Anzahl von Impressionen nach Anzeigenblock in den letzten 30 Tagen.

    # 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
    

    Impressionen nach Werbebuchung

    Die folgende SQL-Beispielabfrage analysiert die Anzahl von Impressionen nach Werbebuchung in den letzten 30 Tagen.

    # 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