ELT-Pipeline für Marketinganalysedaten erstellen

In dieser Anleitung erfahren Sie, wie Sie einen ELT-Workflow einrichten, mit dem Marketinganalysedaten in BigQuery extrahiert, geladen und transformiert werden.

Bei einem typischen ELT-Workflow werden regelmäßig neue Kundendaten aus Ihrer Datenquelle extrahiert und in BigQuery geladen. Die unstrukturierten Daten werden dann in aussagekräftige Messwerte umgewandelt. In dieser Anleitung erstellen Sie einen ELT-Workflow, indem Sie eine Datenübertragung für Marketinganalysen mit dem BigQuery Data Transfer Service einrichten. Anschließend planen Sie, dass Dataform regelmäßig Transformationen für die Daten ausführt.

In dieser Anleitung verwenden Sie Google Ads als Datenquelle. Sie können aber auch eine der vom BigQuery Data Transfer Service unterstützten Datenquellen verwenden.

Hinweise

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  5. Verify that billing is enabled for your Google Cloud project.

  6. Erforderliche Rollen

    Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für das Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Ausführen dieser Anleitung benötigen:

    Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

    Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.

    Wiederkehrende Datenübertragungen planen

    Damit BigQuery immer die neuesten Marketingdaten aus Ihrer Datenquelle enthält, können Sie mit dem BigQuery Data Transfer Service wiederkehrende Datenübertragungen einrichten, um Daten nach einem Zeitplan zu extrahieren und zu laden.

    In dieser Anleitung verwenden Sie Google Ads als Beispiel-Datenquelle. Eine vollständige Liste der vom BigQuery Data Transfer Service unterstützten Datenquellen finden Sie unter Unterstützte Datenquellen.

    1. Rufen Sie in der Google Cloud -Console die Seite „Datenübertragungen“ auf.

      Zu „Datenübertragungen”

    2. Klicken Sie auf Übertragung erstellen.

    3. Wählen Sie im Abschnitt Quelltyp als Quelle die Option Google Ads aus.

    4. Im Abschnitt Data source details (Details zur Datenquelle):

      1. Geben Sie als Kundennummer Ihre Google Ads-Kundennummer ein.
      2. Wählen Sie unter Berichtstyp die Option Standard aus. Der Standardbericht enthält die standardmäßigen Berichte und Felder, die unter Google Ads-Berichte umwandeln beschrieben sind.
        • Geben Sie als Aktualisierungsfenster 5 ein.
    5. Wählen Sie im Abschnitt Zieleinstellungen für Dataset das Dataset aus, das Sie zum Speichern Ihrer Daten erstellt haben.

    6. Geben Sie im Abschnitt Konfigurationsname für Übertragung für Anzeigename Marketing tutorial ein.

    7. Im Abschnitt Zeitplanoptionen:

      • Wählen Sie für Wiederholungshäufigkeit die Option Tage aus.
      • Geben Sie für Um 08:00 ein.
    8. Klicken Sie auf Speichern.

    Nachdem Sie die Konfiguration gespeichert haben, beginnt der BigQuery Data Transfer Service mit der Datenübertragung. Gemäß den Einstellungen in der Übertragungskonfiguration wird die Datenübertragung einmal täglich um 8:00 Uhr UTC ausgeführt und es werden Daten aus Google Ads der letzten fünf Tage extrahiert.

    Sie können laufende Übertragungsjobs überwachen, um den Status der einzelnen Datenübertragungen zu prüfen.

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

    In den folgenden Abschnitten finden Sie Beispielabfragen, mit denen Sie Ihre übertragenen Daten untersuchen können.

    Kampagnenleistung

    Die folgende Beispielabfrage analysiert die Google Ads-Kampagnenleistung der letzten 30 Tage.

    Console

    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'

    Ersetzen Sie Folgendes:

    • DATASET: der Name des Datasets, das Sie zum Speichern der übertragenen Tabelle erstellt haben
    • CUSTOMER_ID: Ihre Google Ads-Kundennummer.

    Anzahl Keywords

    Die folgende Beispielabfrage analysiert die Keywords unter Berücksichtigung der Kampagne, Anzeigengruppe und des Keyword-Status. Diese Abfrage verwendet die Funktion KeywordMatchType. Über die Keyword-Option können Sie definieren, welche Suchanfragen dazu führen, dass Ihre Anzeige angezeigt wird. Weitere Informationen finden Sie unter Keyword-Optionen.

    Console

      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'

    Ersetzen Sie Folgendes:

    • DATASET: der Name des Datasets, das Sie zum Speichern der übertragenen Tabelle erstellt haben
    • CUSTOMER_ID: Ihre Google Ads-Kundennummer.

    Dataform-Repository erstellen

    Nachdem Sie die Datenübertragungskonfiguration zum Übertragen der neuesten Daten aus Google Ads erstellt haben, richten Sie Dataform so ein, dass Ihre Marketinganalysedaten regelmäßig transformiert werden. Mit Dataform können Sie regelmäßige Datentransformationen planen und diese Transformationen mit SQL definieren, während Sie mit anderen Datenanalysten zusammenarbeiten.

    Erstellen Sie ein Dataform-Repository zum Speichern der SQLX-Abfragen, aus denen Ihr Transformationscode besteht.

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

      Zu Dataform

    2. Klicken Sie auf Repository erstellen.

    3. Führen Sie auf der Seite Repository erstellen die folgenden Schritte aus:

      1. Geben Sie im Feld Repository-ID den Wert marketing-tutorial-repository ein.
      2. Wählen Sie in der Liste Region eine Region aus.
      3. Klicken Sie auf Erstellen.

    Das Repository marketing-tutorial-repository wird jetzt in der Liste Ihrer Dataform-Repositories angezeigt.

    Weitere Informationen zu Dataform-Repositories finden Sie unter Dataform-Repositories.

    Entwicklungsarbeitsbereich für Dataform erstellen und initialisieren

    Erstellen Sie einen Dataform-Entwicklungsarbeitsbereich, damit Sie den Transformationscode in Ihrem Repository bearbeiten können, bevor Sie Ihre Änderungen committen und in Ihr Repository übertragen.

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

      Zu Dataform

    2. Klicken Sie auf marketing-tutorial-repository.

    3. Klicken Sie auf  Entwicklungsarbeitsbereich erstellen.

    4. Führen Sie im Fenster Entwicklungsarbeitsbereich erstellen die folgenden Schritte aus:

      1. Geben Sie im Feld Workspace-ID den Wert marketing-tutorial-workspace ein.
      2. Klicken Sie auf Erstellen.

      Die Seite „Entwicklerarbeitsbereich“ wird angezeigt.

    5. Klicken Sie auf Arbeitsbereich initialisieren.

    Der Entwicklerarbeitsbereich marketing-tutorial-workspace wird jetzt in Ihrem marketing-tutorial-repository-Repository auf dem Tab Entwicklerarbeitsbereiche zusammen mit zwei Beispieldateien im Verzeichnis definitions mit den Namen *first_view.sqlx und *second_view.sqlx angezeigt.

    Weitere Informationen zu Dataform-Entwicklungsarbeitsbereichen finden Sie unter Entwicklungsarbeitsbereiche.

    Google Ads-Tabelle als Tabellenquelle deklarieren

    Verbinden Sie die neu übertragene Google Ads-Tabelle mit Dataform, indem Sie sie als Datenquelle deklarieren. Gehen Sie dazu so vor:

    SQLX-Datei für die Deklaration von Datenquellen erstellen

    In Dataform deklarieren Sie ein Datenquellenziel, indem Sie eine SQLX-Datei im Verzeichnis definitions/ erstellen:

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

      Zur Dataform-Seite

    2. Wählen Sie marketing-tutorial-repository aus.

    3. Wählen Sie marketing-tutorial-workspace aus.

    4. Klicken Sie im Bereich Dateien neben definitions/ auf das Menü Mehr.

    5. Klicken Sie auf Datei erstellen.

    6. Führen Sie im Bereich Neue Datei erstellen die folgenden Schritte aus:

      1. Geben Sie im Feld Dateipfad hinzufügen nach definitions/ den Namen definitions/googleads-declaration.sqlx ein.
      2. Klicken Sie auf Datei erstellen.

    Datenquelle deklarieren

    Bearbeiten Sie die definitions/googleads-declaration.sqlx, um eine übertragene Google Ads-Tabelle als Datenquelle zu deklarieren. In diesem Beispiel wird die Tabelle ads_Campaign als Datenquelle deklariert:

    1. Klicken Sie in Ihrem Entwicklerarbeitsbereich im Bereich Dateien auf Ihre SQLX-Datei für die Datenquellendeklaration.
    2. Geben Sie in die Datei das folgende Code-Snippet ein:

          config {
              type: "declaration",
              database: "PROJECT_ID",
              schema: "DATASET",
              name: "ads_Campaign_CUSTOMER_ID",
          }

    Transformation definieren

    Definieren Sie Ihre Datentransformationen, indem Sie eine SQLX-Datei im Verzeichnis definitions/ erstellen. In dieser Anleitung erstellen Sie eine tägliche Transformation, mit der Messwerte wie Klicks, Impressionen, Kosten und Conversions anhand einer Datei mit dem Namen daily_performance.sqlx aggregiert werden.

    SQLX-Datei für Transformation erstellen

    1. Klicken Sie im Bereich Dateien neben definitions/ auf das Menü Mehr und wählen Sie Datei erstellen aus.
    2. Geben Sie im Feld Dateipfad hinzufügen definitions/daily_performance.sqlx ein.
    3. Klicken Sie auf Datei erstellen.

    SQLX-Datei für die Transformation definieren

    1. Maximieren Sie im Bereich Dateien das Verzeichnis definitions/.
    2. Wählen Sie daily_performance.sqlx aus und geben Sie die folgende Abfrage ein:

          config {
              type: "table",
              schema: "reporting",
              tags: ["daily", "google_ads"]
          }
          SELECT
              date,
              campaign_id,
              campaign_name,
          SUM(clicks) AS total_clicks
          FROM
              `ads_Campaign_CUSTOMER_ID`
          GROUP BY
              date,
              campaign_id,
              campaign_name
              ORDER BY
              date DESC

    Commit durchführen und Änderungen per Push-Befehl übertragen

    Nachdem Sie die Änderungen in Ihrem Entwicklungsarbeitsbereich vorgenommen haben, können Sie sie mit den folgenden Schritten in Ihr Repository übertragen:

    1. Klicken Sie im Arbeitsbereich marketing-tutorial-workspace auf 1 Änderung übernehmen.
    2. Geben Sie im Bereich Neuer Commit eine Commit-Beschreibung in das Feld Commit-Nachricht hinzufügen ein.
    3. Klicken Sie auf Commit all changes (Alle Änderungen übernehmen).
    4. Klicken Sie im Arbeitsbereich marketing-tutorial-workspace auf In Standardbranch übertragen.

    Nachdem Ihre Änderungen erfolgreich in Ihr Repository übertragen wurden, wird die Meldung Workspace ist auf dem neuesten Stand angezeigt.

    Datentransformation planen

    Nachdem Sie die Datei für die Datentransformation definiert haben, planen Sie die Datentransformationen.

    Produktionsrelease erstellen

    Durch eine Produktionsversion in Dataform wird dafür gesorgt, dass Ihre Umgebung immer mit den Ergebnissen Ihrer Datentransformationen aktualisiert wird. In den folgenden Schritten wird beschrieben, wie Sie den main-Branch des marketing-tutorial-repository-Repositorys angeben, in dem Ihre Datentransformationen gespeichert werden sollen:

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

      Zur Dataform-Seite

    2. Wählen Sie marketing-tutorial-repository aus.

    3. Klicken Sie auf den Tab Releases und Planung.

    4. Klicken Sie auf Produktionsrelease erstellen.

    5. Konfigurieren Sie im Bereich Releasekonfiguration erstellen die folgenden Einstellungen:

      1. Geben Sie im Feld Release-ID den Wert transformations ein.
      2. Übernehmen Sie im Feld Git commitish den Standardwert main .
      3. Wählen Sie im Abschnitt Planungshäufigkeit die Option Auf Abruf aus.
    6. Klicken Sie auf Erstellen.

    Workflowkonfiguration erstellen

    Nachdem Sie eine Produktionsversion erstellt haben, können Sie eine Workflowkonfiguration erstellen, mit der Ihre Datentransformationen nach einem bestimmten Zeitplan in Ihrem Repository ausgeführt werden. Die folgenden Schritte zeigen, wie Sie tägliche Transformationen aus der Datei transformations planen:

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

      Zur Dataform-Seite

    2. Wählen Sie marketing-tutorial-repository aus.

    3. Klicken Sie auf den Tab Releases und Planung.

    4. Klicken Sie im Bereich Workflowkonfigurationen auf Erstellen.

    5. Geben Sie im Bereich Workflowkonfiguration erstellen im Feld Konfigurations-ID den Wert transformations ein.

    6. Wählen Sie im Menü Releasekonfiguration die Option transformations aus.

    7. Wählen Sie unter Authentifizierung die Option Mit Nutzeranmeldedaten ausführen aus.

    8. Führen Sie im Abschnitt Planungshäufigkeit folgende Schritte aus:

      1. Select **Repeat**.
      1. For **Repeats**, select `Daily`.
      1. For **At time**, enter `10:00 AM`.
      1. For **Timezone**, select `Coordinated Universal Time (UTC)`.
      
    9. Klicken Sie auf Auswahl von Tags.

    10. Wählen Sie im Feld Auszuführende Tags auswählen die Option Täglich aus.

    11. Klicken Sie auf Erstellen.

    Die von Ihnen erstellte Workflowkonfiguration führt das gesamte aktuelle Kompilierungsergebnis aus, das von der Releasekonfiguration transformations erstellt wird.

    Bereinigen

    Mit den folgenden Schritten vermeiden Sie, dass Ihrem Google Cloud -Konto die auf dieser Seite verwendeten Ressourcen in Rechnung gestellt werden:

    In BigQuery erstelltes Dataset löschen

    Löschen Sie das Dataset dataform, um zu vermeiden, dass für BigQuery-Assets Gebühren in Rechnung gestellt werden.

    1. Öffnen Sie in der Google Cloud Console die Seite BigQuery.

      BigQuery aufrufen

    2. Maximieren Sie im Bereich Explorer Ihr Projekt und wählen Sie dataform aus.

    3. Klicken Sie auf das Menü  Aktionen und wählen Sie Löschen aus.

    4. Geben Sie im Dialogfeld Dataset löschen den Wert delete in das Feld ein und klicken Sie auf Löschen.

    Entwicklungsarbeitsbereich und Konfigurationen für Dataform löschen

    Für das Erstellen von Entwicklungsarbeitsbereichen für Dataform fallen keine Kosten an. So löschen Sie einen Entwicklungsarbeitsbereich:

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

      Zu Dataform

    2. Klicken Sie auf quickstart-repository.

    3. Klicken Sie auf den Tab Release und Planung.

    4. Klicken Sie im Bereich Releasekonfigurationen neben der Konfiguration production auf das Menü  Mehr und dann auf Löschen.

    5. Klicken Sie im Abschnitt Workflowkonfigurationen neben der Konfiguration transformations auf das Menü  Mehr und dann auf Löschen.

    6. Klicken Sie auf dem Tab Entwicklungsarbeitsbereiche auf das Menü  Mehr quickstart-workspace und wählen Sie dann Löschen aus.

    7. Klicken Sie zur Bestätigung auf Löschen.

    Dataform-Repository löschen

    Für das Erstellen von Dataform-Repositories fallen keine Kosten an. So löschen Sie ein Repository:

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

      Zu Dataform

    2. Klicken Sie neben quickstart-repository auf das Menü  Mehr und wählen Sie Löschen aus.

    3. Geben Sie im Fenster Repository löschen den Namen des Repositorys ein, um das Löschen zu bestätigen.

    4. Klicken Sie zur Bestätigung auf Löschen.