Inzicht in het importeren van datawarehouse-gebeurtenissen in Klaviyo
Opmerking: import uit datawarehouse is onderdeel van Advanced Klaviyo Data Platform en is niet inbegrepen bij Klaviyo’s standaard marketingapplicatie. Je hebt een abonnement nodig om toegang te krijgen tot deze functionaliteit.
Inzicht in het importeren van datawarehouse-gebeurtenissen in Klaviyo
Wat je leert
Leer hoe je gebeurtenisimport uit een Datawarehouse gebruikt om gebeurtenisgegevens van je warehouse naar Klaviyo te synchroniseren, zodat je segmenten, flow en rapportage kunt versterken met gedrag dat afkomstig is van buiten de eigen integraties van Klaviyo (bijv. POS-systemen, supportplatforms of aangepaste toepassingen).
Wat is gebeurtenisimport in een datawarehouse?
Metgebeurtenisimport in een datawarehouse kan Klaviyo rechtstreeks verbinding maken met je datawarehouse en importsynchronisaties configureren vanuit magazijntabellen of -weergaven die gebeurtenisgegevens bevatten.
Elke rij in je brontabel wordt in Klaviyo behandeld als een enkele gebeurtenis:
- De tijdstempels, meetwaardenaam en identificatoren van de rij definiëren wat er,wanneer envoor wie is gebeurd.
- Extra kolommen worden gebeurteniseigenschappen die je kunt gebruiken in segmentatie, flow en analyses.
Gebeurtenisimport is gebouwd op dezelfde import uit datawarehouseinfrastructuur als profielimport, maar richt zich op Klaviyo's gebeurtenisopnamepipeline in plaats van profiel.
Hoe werkt het importeren van gebeurtenissen in een datawarehouse?
Nadat je Klaviyo met je warehouse hebt verbonden en een gebeurtenissynchronisatie hebt geconfigureerd:
- Klaviyo vraagt je magazijn om de geconfigureerde tabel of weergave.
- Bij elke uitvoering leest Klaviyo alleen rijen waarvan de tijdstempel van de wijzigingsdetectie nieuwer is dan de laatste geslaagde synchronisatie. Dit maakt incrementele imports mogelijk zonder de hele tabel opnieuw te verwerken.
- Elke rij wordt dan als volgt verwerkt:
- Klaviyo bepaalt de meetwaardenaam (gebeurtenistype) op basis van de opties die zijn geselecteerd tijdens het instellen van de synchronisatie: ofwel een enkele gekozen meetwaarde of dynamisch op basis van de waarde van een aangewezen meetwaardenaamkolom in de brontabel.
- De tijdstempel van de gebeurtenis, profiel-ID's en optionele unieke ID, waarde en waardevaluta worden ingesteld op basis van veldtoewijzingen die zijn geconfigureerd tijdens het instellen van de synchronisatie.
- Alle resterende kolommen worden opgenomen als eventeigenschappen, waarbij de kolomnamen als eigenschapsnamen worden gebruikt. Kolomnamen met drie underscores (bijv.
parent___child1,parent___child2) kunnen worden gebruikt om een eventeigenschap (parent) met onderliggende eigenschappen te maken.
- Klaviyo laadt de resulterende gebeurtenissen in je account, waar ze zich gedragen als andere aangepaste API-meetwaarden in segmentatie, flow en analyses.
Imports worden met een terugkerende frequentie uitgevoerd (bijv. elk uur), dus nieuwe of bijgewerkte rijen in je warehouse worden regelmatig vertaald naar gebeurtenissen in Klaviyo.
Voordat je van start gaat
Zorg ervoor dat aan de volgende vereisten wordt voldaan voordat je een importsynchronisatie van gebeurtenissen maakt:
- Je account heeft toegang tot Advanced Klaviyo Data Platform en het datawarehouse importeren.
- Je hebt een datawarehouse-verbinding gemaakt en gevalideerd in Klaviyo. Bekijk de supportcentrum-artikelen voor je datawarehouse voor meer informatie over het vereiste serviceaccount en -schema's.
- Je brontabel of weergave bevat de vereiste kolommen hieronder.
- Je hebt voldoende rechten in je warehouse om de benodigde tabellen/weergaven beschikbaar te maken aan de servicegebruiker van Klaviyo.
Brontabelstructuur voor gebeurtenissen
Om ervoor te zorgen dat je gebeurtenisgegevens correct kunnen worden geïmporteerd, moet je brontabel of -weergave voldoen aan de verplichte velden en structuur van Klaviyo.
Verplichte velden
De volgende kolommen zijn vereist in V1 van het importeren van gebeurtenissen in een datawarehouse:
Kolom | Vereist? | Type | Beschrijving |
|---|---|---|---|
Tijdstempel van gebeurtenis | Vereist | Tijdstempel/datumtijd | Wanneer de gebeurtenis heeft plaatsgevonden. |
Meetwaardenaam | Vereist als er geen enkele meetwaarde is geselecteerd tijdens het instellen van de synchronisatieconfiguratie. | Tekenreeks/tekst | De event- of meetwaardenaam (bijv. |
Profiel-ID | Vereist (minstens 1) | Tekenreeks/tekst | Een van: e-mail, telefoonnummer, externe ID of Klaviyo-ID. Je kunt meerdere in de rij opnemen, maar je moet er minstens één toewijzen. |
Tijdstempel van detectie wijzigen | Vereist | Tijdstempel | Stabiele tijdstempel die wordt gebruikt om nieuwe of bijgewerkte rijen te detecteren sinds de laatste uitvoering. Moet anders zijn dan de tijdstempel van de gebeurtenis, zodat je historische gebeurtenissen veilig kunt importeren. Dit moet aangeven wanneer de rij aan de dataset is toegevoegd en moet stabiel zijn om te zorgen dat de synchronisatie correct werkt. |
Optionele velden
Deze velden worden aanbevolen indien van toepassing, maar zijn niet strikt vereist:
Kolom | Vereist? | Type | Beschrijving |
|---|---|---|---|
Unique ID | Aanbevolen | Tekenreeks/nummer | Unieke ID van de gebeurtenis (gebruikt voor ontdubbeling). |
Waarde | Aanbevolen | Aantal | Numerieke waarde voor de gebeurtenis (bijvoorbeeld totaalbedrag van de bestelling, gebruikte punten). Komt overeen met het |
Waardevaluta | Aanbevolen | Tekenreeks/tekst | Valutacode die is gekoppeld aan |
Gebeurteniseigenschappen
Alle andere kolommen in je tabel worden behandeld als gebeurteniseigenschappen:
- Kolommen worden geïmporteerd als afgeplatte eigenschappen, waarbij de kolomnaam direct wordt gebruikt als eigenschapsnaam in Klaviyo.
- Je hoeft niet expliciet elke eigenschap toe te wijzen. niet-toegewezen kolommen worden opgenomen als gebeurteniseigenschappen.
- Geneste JSON kan indien nodig worden opgeslagen in een individuele eigenschapswaarde (bijvoorbeeld een JSON-object van regelitems), maar de naam van de eigenschap zelf komt uit een kolom op het hoogste niveau.
Klaviyo voert gebeurteniseigenschappen naar best vermogen-type parsing uit en biedt geen transformatielogica per veld als onderdeel van het instellen van de gebeurtenis.
Veelvoorkomende gebruikssituaties
Klanten gebruiken Datawarehouse-gebeurtenisimport meestal voor:
1) Offline of POS-gebeurtenissen importeren
Neem gebeurtenissen in de winkel of offline mee (zoals POS-aankopen, retourzendingen of afspraken) vanuit je warehouse, zodat ze zich net als andere gebeurtenissen van Klaviyo en meetwaarde gedragen.
Voorbeelden:
In-Store Purchaseevents met ordertotalen, winkellocatie en betaalmethodeAppointment Completedgebeurtenissen met medewerker, servicetype en duur
2) Service- en supportinteracties
Synchroniseer support- en servicegebeurtenissen zoals het aanmaken, oplossen van tickets of retourzendingen om de tijdlijnen van je klant en het sturen van berichten mogelijk te maken op basis van de servicegeschiedenis.
Voorbeelden:
Support Ticket CreatedenSupport Ticket ResolvedOrder Returnedmet redencodes en terugbetalingsbedragen
3) Gemodelleerde of afgeleide gebeurtenissen
Zet magazijn-gemodelleerd gedrag om in gebeurtenissen die gemakkelijker te gebruiken zijn in Klaviyo.
Voorbeelden:
High Churn Riskevents die worden gegenereerd vanuit een model in je datawarehouseLifecycle Milestone Reachedgebeurtenissen wanneer een klant van fase verandert in een aangepast lifecyclemodel
Importsynchronisatie van datawarehouse-gebeurtenissen instellen
1) Koppel je datawarehouse
Als je je warehouse nog niet hebt verbonden:
- Ga in Klaviyo naar Advanced Klaviyo Data Platform > Gegevensbeheer > Synchroniseren.
- Klik op Datawarehouse toevoegen en selecteer je warehouse- connector.
- Voltooi de verbindingsstappen voor je platform volgens de toepasselijke verbindingsgids die is gelinkt vanuit het overzichtsartikel van Import uit datawarehouse.
Klaviyo ondersteunt één actieve Datawarehouse-verbinding per account.
2) Nieuwe importsynchronisatie voor gebeurtenissen maken
Zodra je warehouse is verbonden:
- Selecteer in Advanced Klaviyo Data Platform > Gegevensbeheer > Synchroniseren je warehouseverbinding.
- Kies Gegevens importeren (als je imports voor het eerst configureert) of klik op Synchronisatie maken/Synchronisatie toevoegen voor een bestaande verbinding.
- Als er om het gegevenstype wordt gevraagd, selecteer je Gebeurtenissen (in plaats van profiel).
- Kies de tabel of weergave in je magazijn die de gebeurtenissen bevat die je wilt importeren.
3) Wijs Verplichte velden toe
Vervolgens wijs je kolommen van je magazijntabel toe aan de verplichte gebeurtenisvelden van Klaviyo.
De configuratie van gebeurtenisimport vereist dat je toewijzingen opgeeft voor:
- Tijdstempel van gebeurtenis
- meetwaardenaam (een constante die je selecteert in de configuratie of een kolom die de meetwaardenaam per rij bevat)
- profiel-identificator (minstens één)
- Tijdstempel van detectie wijzigen
Je kunt ook aanbevolen velden toewijzen:
- Unique ID
- Waarde
- Waardevaluta
Alle resterende kolommen die je niet expliciet aan deze kernvelden toewijst, worden automatisch gebeurteniseigenschappen.
De configuratie-UI voorkomt dat je meerdere kolommen toewijst aan hetzelfde veld op het hoogste niveau en controleert of alle verplichte velden aanwezig zijn voordat je opslaat.
4) Kies synchronisatiefrequentie en historisch bereik
Wanneer je de gebeurtenisimport opslaat:
- Klaviyo plant dat terugkerende synchronisaties met een regelmatige frequentie worden uitgevoerd (meestal elk uur).
- Bij elke uitvoering worden alleen rijen verwerkt waarvan de tijdstempel van de wijzigingsdetectie nieuwer is dan de laatste succesvolle uitvoering, zodat de import inactief is.
Voor historische aanvulling kun je:
- je gebeurtenisimport op een tabel of weergave te richten die alle relevante historische gebeurtenissen al bevat, of
- Begin met een speciale historische tabel en schakel later over naar een weergave door middel van wijziging van gegevens voor doorlopende updates.
Hoe geïmporteerde gebeurtenissen zich gedragen in Klaviyo
Eenmaal geïmporteerd:
- Elke rij verschijnt als een gebeurtenis van een aangepaste API-meetwaarde in Klaviyo.
- De naam van de meetwaarde die je hebt toegewezen (of als constante hebt geconfigureerd) bepaalt de naam van het eventtype dat je in het product ziet (bijvoorbeeld
Placed Order). - Alle profiel-identificatoren worden waar mogelijk omgezet naar bestaand profiel; anders maakt Klaviyo een nieuw profiel met de beschikbare identificatorvelden, vergelijkbaar met andere gebeurtenisopnamepaden.
Je kunt deze gebeurtenissen gebruiken om:
- Stel segmenten samen op basis van wat iemand heeft gedaan en filter op gebeurteniseigenschappen.
- Trigger- en filterflow.
- Analyseer gedrag in meetwaarde en rapportage naast gebeurtenissen uit andere bronnen.
Beperkingen en best practices
Houd het volgende in gedachten wanneer je gebeurtenisimport in een datawarehouse gebruikt:
- V1 van gebeurtenisimport is alleen gericht op gebeurtenisgegevens. profieleigenschappen moeten worden bijgewerkt via profiel import of andere ondersteunde paden.
- De tijdstempel van wijzigingsdetectie moet verschillen van de tijdstempel van de gebeurtenis. Als je voor beide dezelfde kolom gebruikt, kan dit voorkomen dat je historische gebeurtenissen na je eerste synchronisatie veilig importeert.
- Voor een optimale snelheid stel je het veld wijzigingsdetectie in op de tijdstempel van wanneer de nieuwe tabel wordt gemaakt. Records worden in synchronisatiecycli gegroepeerd met behulp van deze waarde, dus de tijd om historische records te importeren kan worden verkort als alle historische records een wijzigingsdetectie-tijdstempel in een smal bereik hebben (bijv. de tijdstempel van een taak die de nieuwe tabel maakt).
- Gebruik waar mogelijk een stabiele unieke ID per gebeurtenis om ontdubbeling te verbeteren en downstream debuggen te vergemakkelijken.
- Als je tabel meerdere gebeurtenistypen (meetwaarde) met verschillende reeksen kolommen bevat, is het over het algemeen prima om ze bij elkaar te houden: kolommen die NULL zijn voor bepaalde rijen, worden voor die gebeurtenissen gewoon genegeerd in Klaviyo.
- Voor complexe geneste objecten (bijv. regelitemreeksen) raden we aan waar mogelijk af te platten in meerdere kolommen, vooral voor eigenschappen die je verwacht te gebruiken in segmentatie of flow.
```
- Houd het tijdstempel van wijzigingsdetectie dicht bij de huidige datum. Klaviyo leest data in perioden van 1 uur, waarbij hij vooruitloopt vanaf het oudste tijdstempel van wijzigingsdetectie in je tabel. Als een rij een tijdstempel voor wijzigingsdetectie heeft dat ver in het verleden ligt (bijvoorbeeld een enkel record uit 2023 en alle andere zijn recent), scant Klaviyo elk venster van 1 uur vanaf die datum bij elke synchronisatiecyclus, wat resulteert in een langzame historische aanvulling synchronisatietijd.
- Gebruik niet meer dan ongeveer 100.000 rijen in een enkel tijdstempelvenster van 1 uur voor wijzigingsdetectie. Als te veel rijen hetzelfde venster van 1 uur hebben, kan er een time-out optreden voor de synchronisatiequery.
Aanbevolen instelling van Snowflake-clustersleutels
Voor Snowflake-tabellen helpt clustering in de tijdstempelkolom van wijzigingsdetectie om Klaviyo's query's te helpen onnodige micropartities over te slaan, waardoor zowel de synchronisatietijd als de Snowflake-rekenkosten worden verminderd:
ALTER TABLE your_schema.your_table CLUSTER BY (your_change_timestamp_column);