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
- 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.
-
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 theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
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 theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
BigQuery-Administrator (
roles/bigquery.admin
) -
Dataform-Administrator (
roles/dataform.admin
) Rufen Sie in der Google Cloud -Console die Seite „Datenübertragungen“ auf.
Klicken Sie auf
Übertragung erstellen.Wählen Sie im Abschnitt Quelltyp als Quelle die Option Google Ads aus.
Im Abschnitt Data source details (Details zur Datenquelle):
- Geben Sie als Kundennummer Ihre Google Ads-Kundennummer ein.
- 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.
- Geben Sie als Aktualisierungsfenster
Wählen Sie im Abschnitt Zieleinstellungen für Dataset das Dataset aus, das Sie zum Speichern Ihrer Daten erstellt haben.
Geben Sie im Abschnitt Konfigurationsname für Übertragung für Anzeigename
Marketing tutorial
ein.Im Abschnitt Zeitplanoptionen:
- Wählen Sie für Wiederholungshäufigkeit die Option Tage aus.
- Geben Sie für Um
08:00
ein.
Klicken Sie auf Speichern.
DATASET
: der Name des Datasets, das Sie zum Speichern der übertragenen Tabelle erstellt habenCUSTOMER_ID
: Ihre Google Ads-Kundennummer.DATASET
: der Name des Datasets, das Sie zum Speichern der übertragenen Tabelle erstellt habenCUSTOMER_ID
: Ihre Google Ads-Kundennummer.Rufen Sie in der Google Cloud Console die Seite Dataform auf.
Klicken Sie auf
Repository erstellen.Führen Sie auf der Seite Repository erstellen die folgenden Schritte aus:
- Geben Sie im Feld Repository-ID den Wert
marketing-tutorial-repository
ein. - Wählen Sie in der Liste Region eine Region aus.
- Klicken Sie auf Erstellen.
- Geben Sie im Feld Repository-ID den Wert
Rufen Sie in der Google Cloud Console die Seite Dataform auf.
Klicken Sie auf
marketing-tutorial-repository
.Klicken Sie auf
Entwicklungsarbeitsbereich erstellen.Führen Sie im Fenster Entwicklungsarbeitsbereich erstellen die folgenden Schritte aus:
- Geben Sie im Feld Workspace-ID den Wert
marketing-tutorial-workspace
ein. - Klicken Sie auf Erstellen.
Die Seite „Entwicklerarbeitsbereich“ wird angezeigt.
- Geben Sie im Feld Workspace-ID den Wert
Klicken Sie auf Arbeitsbereich initialisieren.
Rufen Sie in der Google Cloud Console die Seite Dataform auf.
Wählen Sie
marketing-tutorial-repository
aus.Wählen Sie
marketing-tutorial-workspace
aus.Klicken Sie im Bereich Dateien neben
definitions/
auf das Menü Mehr.Klicken Sie auf Datei erstellen.
Führen Sie im Bereich Neue Datei erstellen die folgenden Schritte aus:
- Geben Sie im Feld Dateipfad hinzufügen nach
definitions/
den Namendefinitions/googleads-declaration.sqlx
ein. - Klicken Sie auf Datei erstellen.
- Geben Sie im Feld Dateipfad hinzufügen nach
- Klicken Sie in Ihrem Entwicklerarbeitsbereich im Bereich Dateien auf Ihre SQLX-Datei für die Datenquellendeklaration.
Geben Sie in die Datei das folgende Code-Snippet ein:
config { type: "declaration", database: "PROJECT_ID", schema: "DATASET", name: "ads_Campaign_CUSTOMER_ID", }
- Klicken Sie im Bereich Dateien neben
definitions/
auf das Menü Mehr und wählen Sie Datei erstellen aus. - Geben Sie im Feld Dateipfad hinzufügen
definitions/daily_performance.sqlx
ein. - Klicken Sie auf Datei erstellen.
- Maximieren Sie im Bereich Dateien das Verzeichnis
definitions/
. 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
- Klicken Sie im Arbeitsbereich
marketing-tutorial-workspace
auf 1 Änderung übernehmen. - Geben Sie im Bereich Neuer Commit eine Commit-Beschreibung in das Feld Commit-Nachricht hinzufügen ein.
- Klicken Sie auf Commit all changes (Alle Änderungen übernehmen).
- Klicken Sie im Arbeitsbereich
marketing-tutorial-workspace
auf In Standardbranch übertragen. Rufen Sie in der Google Cloud Console die Seite Dataform auf.
Wählen Sie
marketing-tutorial-repository
aus.Klicken Sie auf den Tab Releases und Planung.
Klicken Sie auf Produktionsrelease erstellen.
Konfigurieren Sie im Bereich Releasekonfiguration erstellen die folgenden Einstellungen:
- Geben Sie im Feld Release-ID den Wert
transformations
ein. - Übernehmen Sie im Feld Git commitish den Standardwert
main
. - Wählen Sie im Abschnitt Planungshäufigkeit die Option Auf Abruf aus.
- Geben Sie im Feld Release-ID den Wert
Klicken Sie auf Erstellen.
Rufen Sie in der Google Cloud Console die Seite Dataform auf.
Wählen Sie
marketing-tutorial-repository
aus.Klicken Sie auf den Tab Releases und Planung.
Klicken Sie im Bereich Workflowkonfigurationen auf Erstellen.
Geben Sie im Bereich Workflowkonfiguration erstellen im Feld Konfigurations-ID den Wert
transformations
ein.Wählen Sie im Menü Releasekonfiguration die Option
transformations
aus.Wählen Sie unter Authentifizierung die Option Mit Nutzeranmeldedaten ausführen aus.
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)`.
Klicken Sie auf Auswahl von Tags.
Wählen Sie im Feld Auszuführende Tags auswählen die Option Täglich aus.
Klicken Sie auf Erstellen.
Öffnen Sie in der Google Cloud Console die Seite BigQuery.
Maximieren Sie im Bereich Explorer Ihr Projekt und wählen Sie
dataform
aus.Klicken Sie auf das Menü
Aktionen und wählen Sie Löschen aus.Geben Sie im Dialogfeld Dataset löschen den Wert
delete
in das Feld ein und klicken Sie auf Löschen.Rufen Sie in der Google Cloud Console die Seite Dataform auf.
Klicken Sie auf
quickstart-repository
.Klicken Sie auf den Tab Release und Planung.
Klicken Sie im Bereich Releasekonfigurationen neben der Konfiguration
production
auf das Menü Mehr und dann auf Löschen.Klicken Sie im Abschnitt Workflowkonfigurationen neben der Konfiguration
transformations
auf das Menü Mehr und dann auf Löschen.Klicken Sie auf dem Tab Entwicklungsarbeitsbereiche auf das Menü
Mehrquickstart-workspace
und wählen Sie dann Löschen aus.Klicken Sie zur Bestätigung auf Löschen.
Rufen Sie in der Google Cloud Console die Seite Dataform auf.
Klicken Sie neben
quickstart-repository
auf das Menü Mehr und wählen Sie Löschen aus.Geben Sie im Fenster Repository löschen den Namen des Repositorys ein, um das Löschen zu bestätigen.
Klicken Sie zur Bestätigung auf Löschen.
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.
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:
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:
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.
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.
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:
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:
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
SQLX-Datei für die Transformation definieren
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:
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:
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:
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.
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:
Dataform-Repository löschen
Für das Erstellen von Dataform-Repositories fallen keine Kosten an. So löschen Sie ein Repository: