Klaviyo en BigQuery verbinden (Reverse ETL)
Advanced Klaviyo Data Platform is niet inbegrepen in Klaviyo’s standaard marketingtoepassing en je hebt een abonnement nodig om toegang te krijgen tot de bijbehorende functionaliteit. Ga naar onze factureringsgids om te lezen hoe je dit abonnement kunt aanschaffen.
Omgevingsinstelling en verbinding
Overzicht: Volg deze stappen om BigQuery voor Klaviyo voor te bereiden. Je maakt de vereiste schema's (in een dataset/project), stelt een speciaal serviceaccount en een sleutel in, wijst de minimaal vereiste rechten toe, verifieert de configuratie en koppelt BigQuery aan Klaviyo.
Zie Hoe import uit datawarehouse werkt in Klaviyo voor meer informatie over hoe import uit datawarehouse werkt in Klaviyo, waaronder de schemastructuur, vereiste tabellen en veldmappings.
1) Vereiste schema's/datasets maken
Maak in BigQuery twee datasets aan in het project dat je voor Klaviyo gaat gebruiken.
CREATE SCHEMA `KLAVIYO_IMPORT_FROM_DWH`;
CREATE SCHEMA `KLAVIYO_TMP`; KLAVIYO_IMPORT_FROM_DWH: Tabellen en weergaven die in deze dataset worden gemaakt, zijn beschikbaar voor Klaviyo om te lezen/schrijven.KLAVIYO_TMP: Tijdelijke of stagingdata die wordt gebruikt tijdens synchronisatiebewerkingen.
2) Het Klaviyo Service-account en de sleutel maken
Maak een Google-serviceaccount (bijv. KLAVIYO_DATA_TRANSFER_USER) dat Klaviyo exclusief voor deze integratie gebruikt. Download een JSON-sleutel voor dit account en bewaar deze veilig.
- Ga naar IAM & Beheerder → Serviceaccounts in de GCP-console.
- Maak een nieuw serviceaccount (of selecteer een bestaand account dat speciaal is bedoeld voor Klaviyo).
- Maak op het tabblad Keys een nieuwe sleutel aan van het type JSON. Bewaar dit sleutelbestand veilig – je hebt het nodig wanneer je de koppeling configureert in Klaviyo.
3) Vereiste machtigingen toewijzen
Geef het serviceaccount de volgende rollen, beperkt tot de twee datasets die je hebt gemaakt:
Gegevensset | Minimaal vereiste rollen | Beschrijving |
|---|---|---|
|
| Hiermee kan Klaviyo tijdelijke tabellen, taken enz. maken en beheren. |
|
| Hiermee kan Klaviyo uit je tabellen lezen. |
-- 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) Controleer je configuratie (optioneel)
4.1 Bevestig dat de datasets bestaan
SELECT schema_name
FROM `YOUR_PROJECT_ID.INFORMATION_SCHEMA.SCHEMATA`
WHERE schema_name IN ('KLAVIYO_IMPORT_FROM_DWH','KLAVIYO_TMP'); 4.2 Toegang tot het serviceaccount bevestigen
Gebruik de sleutel van het serviceaccount om te verifiëren met de BigQuery CLI of API en voer een eenvoudige query uit:
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 Controleer machtigingen voor elke dataset
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 Optioneel: create/read-bewerkingen valideren
-- 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; Tip: voer deze controles uit met hetzelfde serviceaccount en dezelfde sleutel die je aan Klaviyo gaat geven. Bewaar een kopie van de resultaten voor audits.
5) Klaviyo met BigQuery verbinden
Zodra je BigQuery-omgeving is geconfigureerd, rond je de verbinding in Klaviyo af.
- Ga in Klaviyo in de linkerzijbalk naar Geavanceerd → Synchroniseren.
- Klik op Synchronisatie aanmaken.
- Selecteer Gegevens importeren of exporteren naar je datawarehouse.
- Kies BigQuery als je datawarehouse.
- Klik op Verbinding maken met BigQuery.
Wanneer daarom wordt gevraagd, geef je de volgende configuratiegegevens voor de verbinding op:
Veld | Beschrijving | Waar je het kunt vinden |
|---|---|---|
Project-ID | Je Google Cloud-project-ID. | Te vinden in de GCP-console bovenaan de projectpagina. |
Gegevensset | De dataset (schema) met je Klaviyo-tabellen (bijv. | Gebruik de dataset die je in stap 1 hebt gemaakt. Selecteer die dataset wanneer je de koppeling configureert. |
Serviceaccountsleutel (JSON) | Het JSON-sleutelbestand dat je hebt gedownload voor de serviceaccount. | Upload of plak de inhoud van het JSON-sleutelbestand dat je in stap 2 hebt gemaakt. |
Nadat je verbinding hebt gemaakt: Klaviyo valideert de verbinding, test toegang tot je datasets en laat je daarna syncs configureren — zowel voor het importeren van data in Klaviyo als voor het exporteren van Klaviyo-data naar BigQuery.
Volgende stap: Nadat je succesvol verbinding hebt gemaakt, maak je je eerste import- of exportsync in Klaviyo en begin je data naar of vanuit BigQuery te verplaatsen.