Så exporterar du Klaviyo-data till Databricks
Advanced Klaviyo Data Platform ingår inte i Klaviyos standardmarknadsföringsapplikation och en prenumeration krävs för att få tillgång till tillhörande funktionalitet. Gå till vår faktureringsguide och läs mer om hur du köper den här planen.
Du kommer att lära dig
Lär dig hur du konfigurerar Databricks som ett målsystem för utgående synkronisering så att Klaviyo kontinuerligt skriver dina profil-, händelse- och mättalsdata till Delta-tabeller i din egen Databricks-arbetsyta. När du har anslutit kan ditt datateam koppla samman Klaviyo-data med resten av ditt lakehouse för analys, modellering och rapportering.
Vill du i stället hämta in data till Klaviyo från Databricks? Se Ansluta Klaviyo och Databricks.
Innan du börjar
Se till att du har följande:
- En Databricks-arbetsyta med Unity Catalog aktiverat. Arbetsytor med endast Hive-metastore stöds inte. Om du använder Hive-metastore kan du överväga federation av Hive-metastore.
- Ett SQL-datalager som har stöd för
VARIANTkolumner och sessionsbaserade temporära tabeller så att Klaviyo kan skriva data. Serverless SQL-datalager rekommenderas; Classic- och Pro-datalager kan ta flera minuter att starta, vilket kan försena synkningar. - Behörighet att skapa scheman, tabeller och bevilja behörigheter i den katalog du kommer att använda (eller hjälp från en Databricks-administratör).
- Behörighet att hantera integrationer i Klaviyo.
- Klaviyo's utgående IP-adresser på tillåtelselistan, om din arbetsyta begränsar inkommande trafik med IP-åtkomstlistor:
184.72.183.187/3252.206.71.52/323.227.146.32/3244.198.39.11/3235.172.58.121/323.228.37.244/3254.88.219.8/323.214.211.176/32
Du kan bara ha 1 exportdestination för datalager per Klaviyo-konto. Om du redan exporterar till ett annat datalager (till exempel Snowflake eller S3) måste du ta bort den destinationen innan du lägger till Databricks.
Steg 1: skapa ett schema för Klaviyo-data
I Databricks finns scheman i en katalog. Skapa ett dedikerat schema för att lagra tabellerna som Klaviyo skriver till. SQL-exemplen i den här artikeln använder main som katalog och KLAVIYO_EXPORT som schema. Om du använder andra namn ersätter du dem i alla SQL-exempel och anger samma namn i Klaviyo i steg 5.
USE CATALOG main; -- or your organization's designated catalog
CREATE SCHEMA IF NOT EXISTS KLAVIYO_EXPORT;Steg 2: skapa måltabellerna
Kör följande skript i schemat som du skapade i steg 1. Klaviyo skriver till tre tabeller:
klaviyo_profile: En rad per profil, inklusive standardfält, plats och anpassade egenskaper.klaviyo_event: En rad per händelse (till exempel Placed Order eller Opened Email), länkad till en profil och ett mättal.klaviyo_metric: En rad per mättal, används för att slå upp mättalets namn och källintegration för varje händelse.
Anpassade profilegenskaper och händelseegenskaper lagras i VARIANT -kolumner, så att du kan fråga kapslad JSON direkt utan att hantera hundratals enskilda kolumner.
USE SCHEMA main.KLAVIYO_EXPORT;
CREATE TABLE klaviyo_profile (
id STRING NOT NULL,
external_id STRING,
email STRING,
phone_number STRING,
first_name STRING,
last_name STRING,
title STRING,
organization STRING,
properties VARIANT,
image STRING,
created TIMESTAMP,
updated TIMESTAMP,
location_address1 STRING,
location_address2 STRING,
location_city STRING,
location_country STRING,
location_latitude STRING,
location_longitude STRING,
location_region STRING,
location_zip STRING,
PRIMARY KEY (id)
)
TBLPROPERTIES ('delta.feature.variantType-preview' = 'supported');
CREATE TABLE klaviyo_event (
id STRING NOT NULL,
metric_id STRING NOT NULL,
profile_id STRING,
event_properties VARIANT,
datetime TIMESTAMP,
uuid STRING,
PRIMARY KEY (id)
)
TBLPROPERTIES ('delta.feature.variantType-preview' = 'supported');
CREATE TABLE klaviyo_metric (
id STRING NOT NULL,
name STRING NOT NULL,
integration_id STRING,
integration_name STRING,
integration_category STRING,
created TIMESTAMP,
updated TIMESTAMP,
PRIMARY KEY (id)
);Tabellnamn måste matcha exakt. Klaviyo söker efter klaviyo_profile, klaviyo_event och klaviyo_metric i schemat som du anger under konfigurationen.
Steg 3: skapa ett tjänstekonto och en åtkomsttoken
Klaviyo autentiserar mot Databricks med en Personal Access Token (PAT). Vi rekommenderar att du skapar ett dedikerat tjänstekonto som endast används för den här integreringen, i stället för en persons konto.
- Skapa en tjänstens huvudnamn (eller en arbetsyteanvändare) för Klaviyo.
- Generera en personlig åtkomsttoken:
- Huvudtjänst: Be en arbetsyteadministratör att skapa den initiala token med Databricks CLI.
- Arbetsyteanvändare: Skapa en token i Databricks-gränssnittet.
- Lagra tokenen på en säker plats. Du klistrar in den i Klaviyo i steg 5.
Behandla åtkomsttoken som ett lösenord. Alla som har token kan komma åt Databricks med behörigheterna för det associerade kontot. Rotera den regelbundet och efter personalförändringar.
Om du redan har skapat ett tjänstekonto för import från Databricks kan du återanvända det. Lägg bara till exportbehörigheterna i steg 4.
Steg 4: bevilja behörigheter
Ge Klaviyos tjänsthuvudnamn åtkomst till katalogen, schemat och SQL Warehouse. Ersätt klaviyo_service_user med ditt tjänsthuvudkontos program-ID eller användarnamn.
GRANT USE CATALOG ON CATALOG main TO `klaviyo_service_user`;
GRANT USE SCHEMA, SELECT, MODIFY ON SCHEMA main.KLAVIYO_EXPORT TO `klaviyo_service_user`;Behörighet | Syfte |
|---|---|
| Ger Klaviyo åtkomst till katalogen som innehåller ditt exportschema. |
| Gör att Klaviyo kan komma åt exportschemat. |
| Gör att Klaviyo kan läsa befintliga rader så att det kan uppdatera poster i stället för att duplicera dem. |
| Gör att Klaviyo kan infoga, uppdatera och ta bort rader i destinationstabellerna. |
Ge också tjänstekontot behörigheten Kan använda för det SQL-datalager du planerar att använda. I Databricks går du till SQL-datalager, väljer ditt datalager, klickar på Behörigheter och lägger till tjänstekontot.
Verifiera din konfiguration (valfritt)
Med samma identitet och token som du ger till Klaviyo bekräftar du tabellerna och behörigheterna:
SHOW TABLES IN main.KLAVIYO_EXPORT;
SHOW GRANTS ON SCHEMA main.KLAVIYO_EXPORT;Du bör se alla 3 tabeller och tjänsthuvudmannen bör listas med USE SCHEMA, SELECT och MODIFY.
Steg 5: Anslut Databricks i Klaviyo
- I Klaviyo navigerar du till Avancerat > Datahantering > Synkronisering.
- Om du redan har en synk klickar du på Skapa synk.
- Välj Exportera data till ditt datalager.
- Välj Databricks och klicka sedan på Anslut till Databricks.
- Ange dina anslutningsuppgifter:
Fält | Beskrivning | Var hittar du det |
|---|---|---|
Namn | Ett namn som hjälper dig identifiera denna destination. | Ange ett beskrivande namn, till exempel Klaviyo-export. |
Servervärdnamn | Värden för din Databricks-arbetsyta. | Webbläsarens adressfält när du är inloggad på Databricks. Exempel: |
HTTP-sökväg | HTTP-sökvägen till SQL-datalagret som Klaviyo ska använda. | SQL-datalager > välj ditt datalager > Anslutningsinformation. Exempel: |
Katalog | Katalogen som innehåller ditt exportschema. | Katalogen som du använde i steg 1 (till exempel |
Schema | Schemat som innehåller de tre Klaviyo-tabellerna. | Schemat som du skapade i steg 1 (till exempel |
Åtkomsttoken | Den personliga åtkomsttoken för tjänstens huvudnamn eller arbetsyteanvändaren som du skapade. | Token som du genererade i steg 3. |
Klicka på Nästa för att konfigurera din synk.
Du hittar även Databricks i Klaviyos appmarknadsplats genom att gå till Integrationer > Utforska appar och söka efter Databricks.
Steg 6: Konfigurera din datasynkronisering
Välj vad Klaviyo skickar till Databricks och när det synkroniseras.
Dataobjekt
Välj att synka profiler, händelser eller båda. Mättalsdata synkas tillsammans med händelser så att du kan slå upp varje händelses mättalsnamn och källa.
Att synka all data från Klaviyo kan öka dina kostnader för Databricks-beräkning och -lagring.
Integrationer att exkludera
Välj eventuella integrationer vars händelser du inte vill skicka till Databricks. Detta gäller endast händelsedata; det utesluter inte profiler.
Selektiv synkronisering
Välj de mättal vars händelser du vill synkronisera, till exempel Placed Order. Lämna Selektiv synkronisering tomt för att synkronisera alla händelser från integrationer som du inte har exkluderat. Det här fältet visas bara om du väljer dataobjektet Händelser.
Synkroniseringskadens
Under Varje väljer du hur ofta nya och uppdaterade data ska synkroniseras: var 1, 2, 4, 6, 12 eller 24:e timme. Standardinställningen är 1 timme. Ange startdatum, starttid och tidszon för schemat.
Historiska data
Välj hur mycket historiska data som ska skickas under den första synkroniseringen:
- 30 dagar
- 90 dagar
- 1 år
- Total tid
Stora historiska synkroniseringar kan ta ett tag att slutföra och kan öka dina Databricks-kostnader. Överväg att börja med ett kortare tidsintervall om du bara behöver senaste data.
Steg 7: Granska, anslut och övervaka din synk
- Klicka på Nästa för att öppna Granska. Kontrollera dina anslutningsuppgifter, delade data, exkluderade integrationer, valda mättal och intervallet för den första datasynkroniseringen.
- Klicka på Anslut. Klaviyo testar anslutningen och skapar exporten om testet lyckas.
När konfigurationen lyckas visar Klaviyo ett bekräftelsemeddelande och tar dig tillbaka till Synkronisering. Din export är aktiverad, och du kan övervaka dess synkroniseringsstatus där.
Om anslutningstestet misslyckas kan du granska feldetaljerna. Klicka på Redigera autentiseringsuppgifter för att korrigera dina anslutningsuppgifter och klicka sedan på Nästa i datainställningarna för att gå tillbaka till Granska och klicka på Anslut igen.
Om du vill övervaka din synk går du till Advanced > Data management > Syncing och klickar på Databricks i raden som är markerad med Export. Använd de här flikarna:
- Historisk: Statusen för din första bakåtfyllning.
- Periodisk: Statusen för synkroniseringar enligt din valda frekvens, inklusive dataaktualitet (hur långt efter Klaviyo dina Databricks-tabeller ligger).
- Inställningar: Visa och redigera dina anslutningsuppgifter, dataval, synkroniseringsintervall och historiskt intervall. Klicka på Uppdatera information i avsnittet du ändrar för att spara.
Mer information om synkroniseringsstatusar, att pausa och återuppta synkroniseringar och att visa felloggar finns i Förstå datalagersynkronisering i Klaviyo.
Fråga efter din Klaviyo-data i Databricks
Här är några exempel för att komma igång.
Räkna händelser efter mättalsnamn de senaste 7 dagarna:
SELECT m.name AS metric, COUNT(*) AS events
FROM main.KLAVIYO_EXPORT.klaviyo_event e
JOIN main.KLAVIYO_EXPORT.klaviyo_metric m ON e.metric_id = m.id
WHERE e.datetime >= current_timestamp() - INTERVAL 7 DAYS
GROUP BY m.name
ORDER BY events DESC;Läs en anpassad profilegenskaper från kolumnen properties variation:
SELECT id, email, properties:loyalty_tier::STRING AS loyalty_tier
FROM main.KLAVIYO_EXPORT.klaviyo_profile
WHERE properties:loyalty_tier IS NOT NULL;Hämta ordervärde från Placed Order-händelser:
SELECT e.profile_id, e.datetime, e.event_properties:`$value`::DOUBLE AS order_value
FROM main.KLAVIYO_EXPORT.klaviyo_event e
JOIN main.KLAVIYO_EXPORT.klaviyo_metric m ON e.metric_id = m.id
WHERE m.name = 'Placed Order';Felsökning
Problem | Vad du ska kontrollera |
|---|---|
Anslutningstestet misslyckas med ett autentiseringsfel | Bekräfta att värdnamnet inte har något |
Anslutningstestet misslyckas med ett behörighetsfel | Bekräfta behörigheterna i steg 4, inklusive |
Klaviyo kan inte hitta måltabellerna | Bekräfta att katalogen och schemat i Klaviyo matchar där du körde skriptet i steg 2 och att tabellnamnen är exakt |
Fel om typen | Se till att ditt SQL Warehouse kör en Databricks SQL-version som stöder |
Synkroniseringar är långsamma att starta | Classic- och Pro-SQL Warehouse kan ta flera minuter att starta. Använd ett serverlöst SQL Warehouse eller öka Warehouse:ets tid för automatisk stopp. |
Förfrågningar blockeras | Om din arbetsyta använder IP-åtkomstlistor ska du lägga till Klaviyo-IP-adresserna som listas i Innan du börjar i godkännandelistan. |
Ta bort en Databricks-export
Om du tar bort exporten stoppas framtida synkningar. Data som redan har skrivits till dina Databricks-tabeller tas inte bort.
- Gå till integrationer i Klaviyo.
- Öppna menyn bredvid Databricks-exportintegrationen och välj Ta bort integration.
- Klicka på Ta bort integrationen i bekräftelsedialogrutan.