TCRM-Installationsanleitung

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

  1. Klicken Sie rechts oben auf der Seite auf das Cloud Shell-Symbol, um die GCP-Befehlszeile zu öffnen.

  2. Führen Sie in der Shell den folgenden Befehl aus, um den TCRM-Codeordner zu klonen:

      git clone https://github.com/google/TaglessCRM.git
    

  3. 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:

  1. Erstellen Sie eine virtuelle Python-Umgebung und installieren Sie alle erforderlichen Python-Pakete.
  2. Aktivieren Sie die erforderlichen Cloud APIs im GCP-Projekt.
  3. 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

  1. Öffnen Sie das Menü oben links auf dem Bildschirm. Klicken Sie dann auf Composer, um die Seite Composer-Umgebungen zu öffnen.

  2. Suchen Sie im Composer-Bildschirm die Zeile tcrm-env auf der linken Seite der Liste. Klicken Sie in dieser Zeile auf den Link Airflow, um die Airflow-Konsole zu öffnen.

  3. Klicken Sie in der Airflow-Konsole in der oberen Menüleiste auf die Option Admin und wählen Sie dann Variables aus dem Drop-down-Menü aus.

  4. Klicken Sie im Bildschirm „Variablen“ auf Create.

  5. 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 oder CSV.
  • 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 oder CSV.
  • 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:

  • Python-Skript für Downloads

  • 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:

  1. Über BigQuery mit dem DAG tcrm_bq_to_ga im SQL-Tabellenformat.

  2. 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" }
  1. 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:

  1. Über BigQuery mit dem DAG tcrm_bq_to_ads_oc im SQL-Tabellenformat.

  2. 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"}
  1. 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.