Verknüpfen von Klaviyo und BigQuery (Reverse ETL)
Advanced Klaviyo Data Platform ist nicht in der Standard-Marketing-Anwendung von Klaviyo enthalten, und für den Zugriff auf die zugehörigen Funktionen ist ein Abonnement erforderlich. In unserem Abrechnungsleitfaden erfährst du, wie du diesen Plan kaufen kannst.
Umgebung einrichten und verbinden
Übersicht: Folge diesen Schritten, um BigQuery für Klaviyo vorzubereiten. Du erstellst die erforderlichen Schemas (in einem Dataset/Projekt), richtest ein dediziertes Service-Konto und einen Schlüssel ein, weist die mindestens erforderlichen Berechtigungen zu, überprüfst die Konfiguration und verbindest BigQuery mit Klaviyo.
Weitere Informationen dazu, wie der Data-Warehouse-Import in Klaviyo funktioniert – einschließlich Schemastruktur, erforderlicher Tabellen und Feldzuordnungen – findest du unter So funktionieren Data-Warehouse-Importe in Klaviyo.
1) Erforderliche Schemas/Datasets erstellen
Erstelle in BigQuery zwei Datasets in dem Projekt, das du für Klaviyo verwendest.
CREATE SCHEMA `KLAVIYO_IMPORT_FROM_DWH`;
CREATE SCHEMA `KLAVIYO_TMP`; KLAVIYO_IMPORT_FROM_DWH: Tabellen und Ansichten, die in diesem Dataset erstellt werden, sind für Klaviyo zum Lesen/Schreiben verfügbar.KLAVIYO_TMP: Temporäre oder Staging-Daten, die während Synchronisierungsvorgängen verwendet werden.
2) Das Klaviyo Service-Konto und den Key erstellen
Erstelle ein Google-Dienstkonto (z. B. KLAVIYO_DATA_TRANSFER_USER), das Klaviyo ausschließlich für diese Integrationen verwendet. Lade einen JSON-Schlüssel für dieses Konto herunter und speichere ihn sicher.
- Gehe in der GCP Console zu IAM & Administrator → Servicekonten.
- Erstelle ein neues Dienstkonto (oder wähle ein vorhandenes aus, das Klaviyo gewidmet ist).
- Erstelle im Tab „Schlüssel“ einen neuen Schlüssel vom Typ JSON. Bewahre diese Schlüsseldatei sicher auf – du benötigst sie, wenn du die Verbindung in Klaviyo konfigurierst.
3) Erforderliche Berechtigungen zuweisen
Weise dem Dienstkonto die folgenden Rollen zu, mit Geltungsbereich auf die zwei Datensätze, die du erstellt hast:
Datensatz | Mindestens erforderliche Rollen | Beschreibung |
|---|---|---|
|
| Ermöglicht Klaviyo, temporäre Tabellen, Jobs usw. zu erstellen und zu verwalten. |
|
| Ermöglicht Klaviyo, aus deinen Tabellen zu lesen. |
-- Example commands in GCP CLI (replace placeholders):
gcloud projects add-iam-policy-binding YOUR_PROJECT_ID \
--member="serviceAccount:KLAVIYO_DATA_TRANSFER_USER@YOUR_PROJECT_ID.iam.gserviceaccount.com" \
--role="roles/bigquery.dataEditor" \
--condition=None \
--dataset="KLAVIYO_TMP"
gcloud projects add-iam-policy-binding YOUR_PROJECT_ID \
--member="serviceAccount:KLAVIYO_DATA_TRANSFER_USER@YOUR_PROJECT_ID.iam.gserviceaccount.com" \
--role="roles/bigquery.dataViewer" \
--condition=None \
--dataset="KLAVIYO_IMPORT_FROM_DWH" 4) Einrichtung verifizieren (optional)
4.1 Bestätigen, dass die Datensätze vorhanden sind
SELECT schema_name
FROM `YOUR_PROJECT_ID.INFORMATION_SCHEMA.SCHEMATA`
WHERE schema_name IN ('KLAVIYO_IMPORT_FROM_DWH','KLAVIYO_TMP'); 4.2 Zugriff auf das Servicekonto bestätigen
Verwende den Schlüssel für das Servicekonto, um dich beim BigQuery-CLI oder bei der API zu authentifizieren und eine einfache Abfrage auszuführen:
bq --project_id=YOUR_PROJECT_ID \
--dataset_id=KLAVIYO_IMPORT_FROM_DWH \
query --use_legacy_sql=false \
'SELECT COUNT(*) FROM `YOUR_PROJECT_ID.KLAVIYO_IMPORT_FROM_DWH.some_table` LIMIT 1' 4.3 Berechtigungen für jeden Datensatz überprüfen
SELECT *
FROM `YOUR_PROJECT_ID.KLAVIYO_IMPORT_FROM_DWH.INFORMATION_SCHEMA.OBJECT_PRIVILEGES`
WHERE grantee = 'KLAVIYO_DATA_TRANSFER_USER@YOUR_PROJECT_ID.iam.gserviceaccount.com'; 4.4 Optional: Vorgänge zum Erstellen/Lesen validieren
-- Test create in KLAVIYO_TMP
CREATE TABLE `YOUR_PROJECT_ID.KLAVIYO_TMP.test_permissions` (id INT64);
DROP TABLE `YOUR_PROJECT_ID.KLAVIYO_TMP.test_permissions`;
-- Test select in KLAVIYO_IMPORT_FROM_DWH
SELECT * FROM `YOUR_PROJECT_ID.KLAVIYO_IMPORT_FROM_DWH.some_existing_table` LIMIT 1; Tipp: Führe diese Prüfungen mit demselben Dienstkonto und Schlüssel aus, das/den du Klaviyo zur Verfügung stellen wirst. Bewahre eine Kopie der Ergebnisse für Audits auf.
5) Klaviyo mit BigQuery verbinden
Sobald deine BigQuery-Umgebung konfiguriert ist, schließe die Verbindung in Klaviyo ab.
- Navigiere in Klaviyo in der linken Seitenleiste zu Erweitert → Synchronisierung.
- Klicke auf Synchronisierung erstellen.
- Wähle Daten in dein Data Warehouse importieren oder exportieren aus.
- BigQuery als Data Warehouse auswählen.
- Klicke auf Mit BigQuery verbinden.
Gib bei Aufforderung die folgenden Details zur Verbindungskonfiguration an:
Feld | Beschreibung | Wo du es findest |
|---|---|---|
Projekt-ID | Deine Google Cloud-Projekt-ID. | Oben auf der Projektseite in der GCP-Konsole zu finden. |
Datensatz | Das Dataset (Schema), das deine Klaviyo-Tabellen (z. B. | Verwende den Datensatz, den du in Schritt 1 erstellt hast. Wähle diesen Datensatz bei der Konfiguration der Verbindung aus. |
Dienstkontoschlüssel (JSON) | Die JSON-Schlüsseldatei, die du für das Dienstkonto heruntergeladen hast. | Lade den Inhalt der JSON-Schlüsseldatei hoch, die du in Schritt 2 erstellt hast, oder füge ihn ein. |
Nachdem du die Verbindung hergestellt hast: Klaviyo validiert die Verbindung, testet den Zugriff auf deine Datasets und ermöglicht dir dann, Syncs zu konfigurieren – sowohl für das Importieren von Daten in Klaviyo als auch für das Exportieren von Klaviyo-Daten in BigQuery.
Nächster Schritt: Erstelle nach dem erfolgreichen Verbinden deine erste Import- oder Export-Synchronisierung in Klaviyo und beginne damit, Daten nach oder von BigQuery zu übertragen.