Schritt 1: Google Cloud Platform (GCP) einrichten
WARNUNG: GCP-Projekte, die Eigentum von Google sind, werden möglicherweise von Enforcern (ECP) erzwungen. In diesem Fall schlägt die Installation fehl und Sie werden nach einem Sicherheitsschlüssel gefragt. Um dies zu vermeiden, erstellen Sie ein neues GCP-Projekt (es dauert etwa 24 Stunden, bis ECP Ihr Projekt gefunden hat) oder verwenden Sie ein öffentliches, das nicht erzwungen wird, während wir versuchen, eine dauerhafte Lösung für dieses Problem zu finden.
1.1 GCP-Projekt auswählen oder erstellen
Erstellen Sie ein neues Google Cloud Platform-Projekt oder verwenden Sie ein vorhandenes Projekt. Öffnen Sie es und prüfen Sie, ob der Projektname oben auf der Seite angezeigt wird.
Schritt 2: TCRM installieren
2.1 Zugriff auf den TCRM-Codeordner anfordern
Bis TCRM als Open Source verfügbar und extern verfügbar ist, ist für jede Verwendung eine Klonberechtigung erforderlich. Senden Sie dieses Anfrageformular, um Zugriff auf den Klon des TCRM-Codeordners zu erhalten.
2.2 TCRM installieren
Klicken Sie rechts oben auf der Seite auf das Cloud Shell-Symbol, um die GCP-Befehlszeile zu öffnen.
Führen Sie in der Shell den folgenden Befehl aus, um den TCRM-Codeordner zu klonen:
git clone https://github.com/google/TaglessCRM.git
Führen Sie als Nächstes diesen Befehl aus:
cd TaglessCRM && sh setup.sh --project_id=$GOOGLE_CLOUD_PROJECT
HINWEIS: Dieser Befehl führt die folgenden drei Schritte aus:
- Erstellen Sie eine virtuelle Python-Umgebung und installieren Sie alle erforderlichen Python-Pakete.
- Aktivieren Sie die erforderlichen Cloud APIs im GCP-Projekt.
- Cloud Composer-Umgebung erstellen und die TCRM-DAGs darin bereitstellen
HINWEIS: Die Installation sollte etwa zwei Stunden dauern. Bitte warten Sie, bis das Skript abgeschlossen ist.
Schritt 3: Airflow konfigurieren und Variablen einrichten
3.1 BigQuery-Verbindung einrichten
Zum Lesen von Daten aus BigQuery müssen Sie Ihr Dienstkonto mit der BigQuery-Verbindung verknüpfen.
Klicken Sie auf „Identität“ → „Dienstkonten“. Klicken Sie dann auf die drei Punkte neben dem Dienstkonto, das mit tcrm-sa
beginnt, und wählen Sie „Schlüssel erstellen“ → „JSON“ → „Erstellen“ aus.
Öffnen Sie den heruntergeladenen Schlüssel in einem Texteditor und kopieren Sie die JSON-Datei darin.
Gehen Sie zurück zu Airflow (Composer → Airflow) und wählen Sie „Admin“ → „Verbindungen“ aus.
Klicken Sie auf das Stiftsymbol neben der Verbindung bigquery_default
.
HINWEIS: Der Standardverbindungsname ist bigquery_default
. Wenn Sie einen anderen BigQuery-Verbindungsnamen verwenden, müssen Sie die Airflow-Variablen monitoring_bq_conn_id
und bq_conn_id
(Variablen, nicht Verbindungen) mit dem neuen Verbindungsnamen festlegen.
TIPP: Weitere Informationen zum Verwalten von Airflow-Verbindungen finden Sie auf dieser Seite.
Fügen Sie die JSON-Datei des Dienstkontos in das Feld für die Schlüsseldatei ein und klicken Sie auf „Speichern“.
3.2 Variablen über die Airflow-UI einrichten
Öffnen Sie das Menü oben links auf dem Bildschirm. Klicken Sie dann auf
Composer
, um die Seite Composer-Umgebungen zu öffnen.Suchen Sie im Composer-Bildschirm die Zeile
tcrm-env
auf der linken Seite der Liste. Klicken Sie in dieser Zeile auf den LinkAirflow
, um die Airflow-Konsole zu öffnen.Klicken Sie in der Airflow-Konsole in der oberen Menüleiste auf die Option
Admin
und wählen Sie dannVariables
aus dem Drop-down-Menü aus.Klicken Sie im Bildschirm „Variablen“ auf
Create
.Zum Hinzufügen einer neuen Variablen geben Sie den Variablenschlüsselnamen und den Wert ein und klicken dann auf
save
. In den nächsten 2 Schritten erfahren Sie, welche Variablen für jeden DAG erforderlich sind.
3.3 Allgemeine DAG-Variablen konfigurieren
Die folgende Tabelle enthält die allgemeinen Variablen, die von allen DAGs benötigt werden.
Für diese Variablen sind bereits automatisch Standardwerte festgelegt. Sie müssen also nichts ändern, wenn die Standardwerte Ihren Anforderungen entsprechen. Sie können diese Variablen jedoch jederzeit ändern. Dazu legen Sie für eine Airflow-Variable mit derselben Variable Name
einen anderen Wert fest.
Damit verschiedene DAGs unterschiedliche Konfigurationen haben können, enthalten einige Variablennamen den DAG-Namen als Präfix. Ersetzen Sie unbedingt den Teil <DAG Name>
und verwenden Sie den richtigen DAG-Namen.
Beispiel: Wenn Sie die Zeitplanvariable für den DAG tcrm_gcs_to_ga
festlegen möchten, verwenden Sie den Variablennamen aus der folgenden Tabelle <DAG Name>_schedule
und erstellen eine Variable namens tcrm_gcs_to_ga_schedule
. Erstellen Sie zum Planen des DAG tcrm_gcs_to_ads_oc
eine Variable namens tcrm_gcs_to_ads_oc_schedule
.
Den DAG-Namen finden Sie auf der Airflow-UI auf dem Tab „DAGs“:
3.3.1 Tabelle mit allgemeinen Variablen
Variablenname | Standardwert | Variableninformationen |
---|---|---|
<DAG_Name>_retries |
0 |
Integer. Häufigkeit, mit der Airflow versucht, den DAG bei Fehlschlagen noch einmal auszuführen. Wir empfehlen, diesen Wert bei 0 zu lassen, da TCRM einen eigenen Wiederholungsmechanismus hat. Das Festlegen einer anderen Ganzzahl führt zwar nicht zu Fehlern, es wird jedoch nicht versucht, zuvor fehlgeschlagene Ereignisse noch einmal zu senden. |
<DAG_Name>_retry_delay |
3 |
Integer. Anzahl der Minuten zwischen den einzelnen DAG-Wiederholungen. |
<DAG_Name>_schedule |
@once |
Ein DAG-Zeitplan. Weitere Informationen zum Planen von DAGs finden Sie im Abschnitt 3.3.2 DAG planen. |
<DAG_Name>_is_retry |
1 |
1 zum Aktivieren, 0 zum Deaktivieren. Gibt an, ob der DAG zuvor fehlgeschlagene Ereignisse an dieselbe Ausgabequelle senden soll. Dies ist eine interne Wiederholung, um fehlgeschlagene Ereignisse aus vorherigen ähnlichen Ausführungen zu senden. Sie unterscheidet sich vom Airflow-Wiederholungsversuch des gesamten DAG. Weitere Informationen finden Sie im Abschnitt Wiederholungsmechanismus dieses Nutzungsleitfadens. |
<DAG_Name>_is_run |
1 |
1 zum Aktivieren, 0 zum Deaktivieren. Gibt an, ob der DAG einen Hauptlauf enthalten soll. Diese Option kann deaktiviert werden, wenn der Nutzer die Hauptausführung überspringen und nur den Wiederholungsvorgang ausführen möchte. Weitere Informationen finden Sie in diesem Nutzungsleitfaden im Abschnitt Ausführen. |
<DAG_Name>_enable_run_report |
0 |
1 zum Aktivieren, 0 zum Deaktivieren. Gibt an, ob der DAG einen Ausführungsbericht zurückgibt. Nicht alle DAGs haben Berichte. Weitere Informationen finden Sie in diesem Nutzungsleitfaden im Abschnitt Berichte. |
<DAG_Name>_enable_monitoring |
1 |
1 zum Aktivieren, 0 zum Deaktivieren. Weitere Informationen finden Sie im Abschnitt Monitoring dieses Nutzungsleitfadens. |
monitoring_dataset |
tcrm_monitoring_dataset |
Die Dataset-ID der Monitoring-Tabelle. |
monitoring_table |
tcrm_monitoring_table |
Der Tabellenname der Monitoring-Tabelle. |
monitoring_bq_conn_id |
bigquery_default |
BigQuery-Verbindungs-ID für die Monitoring-Tabelle. Sie kann mit der eingegebenen BQ-Verbindungs-ID übereinstimmen oder davon abweichen. |
3.3.2 DAG planen
Erstellen Sie zum Einrichten des DAG-Planers für jeden DAG, den Sie planen möchten, eine Zeitplanvariable. Der Variablenname sollte mit dem DAG-Namen beginnen, gefolgt von _schedule
.
Der Wert der Variablen sollte das Intervall sein, in dem Sie Ihren DAG planen möchten. Beispiel:
Geben Sie @once ein, um den DAG nur einmal auszuführen, oder @daily
oder @weekly
, um den DAG entsprechend auszuführen. In diesem Leitfaden finden Sie alle verfügbaren Planungsoptionen.
Das sind optionale Variablen. Wenn keine Zeitplanvariablen festgelegt sind, wird für alle DAGs der Standardzeitplan @once
verwendet.
3.4 Bestimmte DAG-Variablen konfigurieren
Im folgenden Abschnitt sehen Sie, welche Variablen zum Ausführen der einzelnen DAG erforderlich sind. Sie müssen nur Variablen für die DAGs einrichten, die Sie verwenden möchten.
3.4.1 tcrm_bq_to_ga
-DAG
Legen Sie die folgenden Variablen fest, um den DAG tcrm_bq_to_ga
auszuführen:
bq_dataset_id
: Der Name des BigQuery-Datasets, das die Daten enthält. Beispiel:my_dataset
bq_table_id
: Der Name der BigQuery-Tabelle, die die Daten enthält. Beispiel:my_table
ga_tracking_id
: Google Analytics-Tracking-ID Beispiel:UA-123456789-1
3.4.2 tcrm_gcs_to_ga
-DAG
Legen Sie zum Ausführen des DAG tcrm_gcs_to_ga
die folgenden Variablen fest:
gcs_bucket_name
: Cloud Storage-Bucket-Name. Beispiel:my_bucket
gcs_bucket_prefix
: Der Pfad zum Datenordner im Bucket. Beispiel:folder/sub_folder
gcs_content_type
(optional): Cloud Storage-Inhaltstyp.JSON
oderCSV
.ga_tracking_id
: Google Analytics-Tracking-ID Beispiel:UA-123456789-1
3.4.3 tcrm_bq_to_ads_oc
-DAG
Legen Sie zum Ausführen des DAG tcrm_bq_to_ads_oc
die folgenden Variablen fest:
bq_dataset_id
: Der Name des BigQuery-Datasets, das die Daten enthält. Beispiel:my_dataset
bq_table_id
: Der Name der BigQuery-Tabelle, die die Daten enthält. Beispiel:my_table
ads_credentials
: Die Authentifizierungsinformationen für die Google Ads API. Weitere Informationen finden Sie unter 3.5.1 „ads_credentials“ für Google Ads-Authentifizierung erstellen.
3.4.4 tcrm_gcs_to_ads_oc
-DAG
Legen Sie zum Ausführen des DAG tcrm_gcs_to_ads_oc
die folgenden Variablen fest:
gcs_bucket_name
: Cloud Storage-Bucket-Name. Beispiel:my_bucket
gcs_bucket_prefix
: Der Pfad zum Datenordner im Bucket. Beispiel:folder/sub_folder
gcs_content_type
(optional): Cloud Storage-Inhaltstyp.JSON
oderCSV
.ads_credentials
: Die Authentifizierungsinformationen für die Google Ads API. Weitere Informationen finden Sie unter 3.5.1 „ads_credentials“ für Google Ads-Authentifizierung erstellen.
3.5 Authentifizierung gegenüber Google-Plattformen
3.5.1 YAML-String für ads_credentials für die Google Ads-Authentifizierung erstellen
Wenn Sie sich für Google Ads authentifizieren möchten, müssen Sie einen String im YAML-Format erstellen und als Airflow-Parameter speichern. Dieser Parameter wird von TCRM für die Authentifizierung zwischen TCRM und Google Ads verwendet. Das Stringformat ist:
developer_token: abcd
client_id: test.apps.googleusercontent.com
client_secret: secret
refresh_token: 1//token
login_customer_id: 1234567890
use_proto_plus: True
Die login_customer_id befindet sich nach der Anmeldung in Google Ads oben rechts über Ihrer E-Mail. Die Kundennummer muss eine Kundencenter-Kontonummer mit den Google Ads-Konten sein, die Sie automatisieren möchten.
developer_token befindet sich im API Center, nachdem Sie sich in Ihrem Google Ads-Kundencenterkonto angemeldet haben.
client_id und client_secret können in der GCP Console auf der Seite „APIs und Dienste“ erstellt werden.
refresh_token kann folgendermaßen generiert werden:
Führen Sie das Python-Skript mit den erforderlichen Parametern in einem Terminal aus.
python generate_refresh_token.py --client_id INSERT_CLIENT_ID --client_secret INSERT_CLIENT_SECRET
Klicken Sie auf den Link.
- Wählen Sie das E-Mail-Konto aus, das zum Ändern Ihrer Google Ads-Daten berechtigt ist, und klicken Sie auf „Zulassen“.
- Kopieren Sie den Code und fügen Sie ihn in das Terminal nach dem Code ein. Das Aktualisierungstoken wird unten angezeigt.
Schritt 4: Daten zum Senden vorbereiten
4.1 Daten für Google Analytics vorbereiten
HINWEIS: Weitere Informationen finden Sie in der Measurement Protocol API.
Zum Senden Ihrer Daten an Google Analytics haben Sie drei Möglichkeiten:
Über BigQuery mit dem DAG
tcrm_bq_to_ga
im SQL-Tabellenformat.Aus Google Cloud Storage mit dem DAG
tcrm_gcp_to_ga
im JSON-Format.
{"cid": "12345.67890", "t":"event", "ec": "video", "ea": "play", "el": "holiday", "ev": "300" }
{"cid": "12345.67891", "t":"event", "ec": "video", "ea": "play", "el": "holiday", "ev": "301" }
{"cid": "12345.67892", "t":"event", "ec": "video", "ea": "play", "el": "holiday", "ev": "302" }
{"cid": "12345.67893", "t":"event", "ec": "video", "ea": "play", "el": "holiday", "ev": "303" }
- Aus Google Cloud Storage mit dem DAG
tcrm_gcp_to_ga
im CSV-Format.
cid,t,ec,ea,el,ev
12345.67890,event,video,play,holiday,300
12345.67891,event,video,play,holiday,301
12345.67892,event,video,play,holiday,302
12345.67893,event,video,play,holiday,303
WARNUNG: Damit Google Analytics die von TCRM gesendeten Daten akzeptiert, müssen Sie die Bot-Filterung von Google Analytics konfigurieren. Rufen Sie dazu Admin -> View Settings -> Bot
Filtering
in der Google Analytics-Benutzeroberfläche auf und deaktivieren Sie „Alle Treffer von bekannten Bots und Spidern ausschließen“.
4.2 Daten für Google Ads Offline-Conversions vorbereiten
Sie haben drei Möglichkeiten, Daten an Google Ads zu senden:
Über BigQuery mit dem DAG
tcrm_bq_to_ads_oc
im SQL-Tabellenformat.Aus Google Cloud Storage mit dem DAG
tcrm_gcs_to_ads_oc
im JSON-Format.
{"conversionName": "my_conversion_1", "conversionTime":"20191030 122301 Asia/Calcutta", "conversionValue": "0.47", "googleClickId": "gclid1"}
{"conversionName": "my_conversion_1", "conversionTime":"20191030 122401 Asia/Calcutta", "conversionValue": "0.37", "googleClickId": "gclid2"}
{"conversionName": "my_conversion_2", "conversionTime":"20191030 122501 Asia/Calcutta", "conversionValue": "0.41", "googleClickId": "gclid3"}
{"conversionName": "my_conversion_2", "conversionTime":"20191030 122601 Asia/Calcutta", "conversionValue": "0.17", "googleClickId": "gclid4"}
- Aus Google Cloud Storage mit dem DAG
tcrm_gcp_to_ads_oc
im CSV-Format.
conversionName,conversionTime,conversionValue,googleClickId
my_conversion_1,20191030 122301 Asia/Calcutta,0.47,gclid1
my_conversion_1,20191030 122401 Asia/Calcutta,0.37,gclid2
my_conversion_2,20191030 122501 Asia/Calcutta,0.41,gclid3
my_conversion_2,20191030 122601 Asia/Calcutta,0.17,gclid4
Schritt 5: TCRM ausführen
Klicken Sie in der Airflow-Konsole in der oberen Menüleiste auf die Option DAGs
. Suchen Sie in der Liste auf der linken Seite nach dem DAG, den Sie ausführen möchten. Klicken Sie dann rechts in der Liste auf die Schaltfläche Play
.