Vraag vroegtijdige toegang aan

Vul je voornaam en je zakelijke e-mailadres in. We sturen je een link om je aanvraag voor toegang tot Tajo te bevestigen.

Klaviyo-connector

Connectorstatus: In ontwikkeling In aanbouw. Nog niet geverifieerd.

Illustratie · voorbeelddata

Voorbeeld van synchronisatie

Eén record controleren

Bron

Klaviyo

Connectorstatus: In ontwikkeling

Bestemming

Je andere tool

Connectorstatus: Eigen tool

BronveldDoelveldVoorbeeldwaarde
record.id source_id record_1042
record.updated_at updated_at 2026-10-18T08:00:00Z
record.value value sample_value
  1. Opstellen
  2. Eén record controleren
  3. Deze versie goedkeuren

Statussen gelden per connector en garanderen niet dat deze synchronisatie klaar is. De velden zijn illustratief. Controleer het echte schema en de rechten voordat een synchronisatie draait.

Verbind Klaviyo met Brevo via Tajo om marketingdata tussen platforms te migreren of synchroniseren. Synchroniseer profielen, events, lijsten, segmenten, flows en campagnedata voor een uniforme multi-channel-marketingstrategie.

Overzicht

EigenschapWaarde
PlatformKlaviyo
CategorieMarketing
SetupcomplexiteitGemiddeld
Officiële integratieNee
Gesynchroniseerde dataProfielen, Events, Lijsten, Segmenten, Campagnes
Beschikbare skills10
API-standaardJSON:API

Functies

  • Profielsync - Bidirectionele sync van klantprofielen tussen Klaviyo en Brevo
  • Event-forwarding - Stuur in Klaviyo gevolgde events door naar Brevo als automation-triggers
  • Lijstmigratie - Synchroniseer Klaviyo-lijsten naar Brevo-contactlijsten
  • Segmentsync - Exporteer Klaviyo-segmenten als Brevo-lijsten of -segmenten
  • Flow-data-export - Haal flowprestatiedata op voor cross-platform-analytics
  • Campagnesync - Coördineer campagnes over Klaviyo- en Brevo-kanalen heen
  • Catalogussync - Spiegel productcatalogi tussen platforms
  • Couponbeheer - Synchroniseer couponcodes en gebruiksdata

Vereisten

Voordat je begint, zorg dat je beschikt over:

  1. Een Klaviyo-account met API-toegang
  2. Een Private API Key met de juiste scopes
  3. Je Klaviyo Public API Key (6-character company ID)
  4. Een Brevo-account met API-toegang
  5. Een Tajo-account met API-inloggegevens

Authenticatie

Private API key

Klaviyo gebruikt private API-sleutels met gescopete toegang voor server-side-authenticatie. Zet de sleutel in de Authorization-header:

Terminal window
curl https://a.klaviyo.com/api/profiles/ \
-H "Authorization: Klaviyo-API-Key your-private-api-key" \
-H "revision: 2026-01-15"

Scopes van API-sleutels

Configureer scopes bij het aanmaken van je private key:

ScopeToegangBeschrijving
profilesRead/FullToegang tot contactprofielen
eventsRead/FullToegang tot getrackte events
listsRead/FullToegang tot contactlijsten
segmentsReadToegang tot segmenten
campaignsReadToegang tot campagnedata
metricsReadToegang tot metric-definities
flowsReadToegang tot flowconfiguraties
catalogsReadToegang tot productcatalogi

Public API key

Gebruik voor client-side-tracking de 6-character company ID:

Terminal window
curl -X POST "https://a.klaviyo.com/client/events/?company_id=COMPANY_ID" \
-H "Content-Type: application/json" \
-d '{"data": {...}}'

OAuth (partnerintegraties)

Klaviyo ondersteunt OAuth voor tech-partners, met betere beveiliging en hogere ratelimits:

Terminal window
curl https://a.klaviyo.com/api/profiles/ \
-H "Authorization: Bearer YOUR_OAUTH_TOKEN" \
-H "revision: 2026-01-15"

Configuratie

Basisopzet

connectors:
klaviyo:
enabled: true
private_api_key: "your-klaviyo-private-key"
public_api_key: "XXXXXX"
api_revision: "2026-01-15"
# Data sync options
sync:
profiles: true
events: true
lists: true
segments: true
catalogs: false
# Brevo list assignment
lists:
all_contacts: 20
subscribers: 21
high_value: 22

Profielmapping

Koppel Klaviyo-profieleigenschappen aan Brevo-contactattributen:

profile_mapping:
email: email
first_name: FIRSTNAME
last_name: LASTNAME
phone_number: SMS
city: CITY
region: REGION
country: COUNTRY
zip: ZIP
organization: COMPANY
title: JOB_TITLE
# Custom properties
lifetime_value: LTV
total_orders: ORDER_COUNT
last_order_date: LAST_ORDER_DATE
preferred_channel: CHANNEL_PREF

Event-mapping

Koppel Klaviyo-metrics aan Brevo-events:

event_mapping:
"Placed Order": "order_completed"
"Ordered Product": "product_purchased"
"Started Checkout": "checkout_started"
"Added to Cart": "cart_updated"
"Viewed Product": "product_viewed"
"Subscribed to List": "customer_subscribed"
"Received Email": "email_received"
"Opened Email": "email_opened"
"Clicked Email": "email_clicked"

API-endpoints

MethodeEndpointBeschrijving
GET/api/profiles/Profielen opvragen
POST/api/profiles/Profiel aanmaken
PATCH/api/profiles/{id}/Profiel bijwerken
POST/api/profile-merge/Duplicaatprofielen samenvoegen
GET/api/events/Events opvragen
POST/api/events/Event aanmaken
GET/api/lists/Alle lijsten opvragen
POST/api/lists/{id}/relationships/profiles/Profielen aan lijst toevoegen
GET/api/segments/Segmenten opvragen
GET/api/campaigns/Campagnes opvragen
GET/api/flows/Flows opvragen
GET/api/metrics/Metrics opvragen
POST/api/metric-aggregates/Metric-aggregates opvragen
GET/api/catalog-items/Catalogusitems opvragen

Codevoorbeelden

Klaviyo-connector initialiseren

import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({
apiKey: process.env.TAJO_API_KEY,
brevoApiKey: process.env.BREVO_API_KEY
});
// Connect Klaviyo account
await tajo.connectors.connect('klaviyo', {
privateApiKey: process.env.KLAVIYO_PRIVATE_KEY,
publicApiKey: process.env.KLAVIYO_PUBLIC_KEY
});

Profielen naar Brevo synchroniseren

// Fetch Klaviyo profiles and sync to Brevo
const response = await fetch('https://a.klaviyo.com/api/profiles/', {
headers: {
'Authorization': `Klaviyo-API-Key ${PRIVATE_KEY}`,
'revision': '2026-01-15',
'Accept': 'application/vnd.api+json'
}
});
const { data } = await response.json();
// Each profile follows JSON:API format
// {
// "type": "profile",
// "id": "01ABCDEF",
// "attributes": {
// "email": "[email protected]",
// "first_name": "Jane",
// "last_name": "Kim",
// "phone_number": "+15551234567",
// "properties": { "lifetime_value": 450.00 }
// }
// }

Event aanmaken

// Track an event in Klaviyo (forwarded to Brevo via Tajo)
await fetch('https://a.klaviyo.com/api/events/', {
method: 'POST',
headers: {
'Authorization': `Klaviyo-API-Key ${PRIVATE_KEY}`,
'revision': '2026-01-15',
'Content-Type': 'application/vnd.api+json',
'Accept': 'application/vnd.api+json'
},
body: JSON.stringify({
data: {
type: 'event',
attributes: {
metric: {
data: { type: 'metric', attributes: { name: 'Placed Order' } }
},
profile: {
data: { type: 'profile', attributes: { email: '[email protected]' } }
},
properties: {
OrderId: 'ORD-1234',
Value: 89.99,
Items: [
{ ProductName: 'Widget Pro', Price: 89.99, Quantity: 1 }
]
},
value: 89.99
}
}
})
});

Metric-aggregates opvragen

// Get aggregate metric data for reporting
await fetch('https://a.klaviyo.com/api/metric-aggregates/', {
method: 'POST',
headers: {
'Authorization': `Klaviyo-API-Key ${PRIVATE_KEY}`,
'revision': '2026-01-15',
'Content-Type': 'application/vnd.api+json'
},
body: JSON.stringify({
data: {
type: 'metric-aggregate',
attributes: {
metric_id: 'METRIC_ID',
measurements: ['count', 'sum_value'],
interval: 'day',
filter: ['greater-or-equal(datetime,2024-01-01)',
'less-than(datetime,2024-02-01)']
}
}
})
});

Ratelimits

AuthenticatieBurst-limietContinue limiet
Private API key75 requests/sec700 requests/min
OAuth150 requests/sec1.500 requests/min
Client API100 requests/secN.v.t.
Bulk-operaties10 requests/sec100 requests/min

API-revision vereist

Alle Klaviyo API-requests vereisen de revision-header met een geldige API-versiedatum (bijv. 2026-01-15). Requests zonder deze header worden geweigerd.

Probleemoplossing

ProbleemOorzaakOplossing
400 Bad RequestOngeldige of ontbrekende API-sleutelVerifieer dat de private API-sleutel correct is
403 ForbiddenOnvoldoende scopeControleer of API-sleutel-scopes overeenkomen met de vereiste rechten
Ontbrekende revision-headerHeader niet ingesteldVoeg revision: 2026-01-15 toe aan alle requests
Profiel niet gevondenVerkeerde identifierGebruik Klaviyo-profiel-ID, geen e-mail, voor opzoeken
Events synchroniseren nietVerkeerde metricnaamMatch exacte metricnamen zoals gedefinieerd in Klaviyo
429 Too Many RequestsRatelimit overschredenImplementeer exponentiële backoff, overweeg OAuth voor hogere limieten
JSON:API-formaatfoutenVerkeerd content-typeGebruik application/vnd.api+json voor Content-Type- en Accept-headers

Best practices

  1. Gebruik JSON:API-formaat - Volg de JSON:API-specificatie voor alle request- en response-payloads
  2. Stel de revision-header in - Neem altijd de revision-header op met de nieuwste API-versiedatum
  3. Gebruik sparse fieldsets - Vraag alleen benodigde velden op met ?fields[profile]=email,first_name om payloads te verkleinen
  4. Benut relaties - Gebruik de JSON:API-include-parameter om gerelateerde resources in één request op te halen
  5. Gebruik cursor-paginatie - Navigeer grote resultsets met de page[cursor]-parameter
  6. Implementeer bulk-operaties - Gebruik bulk-endpoints voor batchimport van profielen en eventcreatie
  7. Gebruik OAuth voor hogere limieten - OAuth-authenticatie biedt 2x hogere ratelimits dan private keys

Beveiliging

  • Scopes voor private API-sleutels - Granulaire Read/Full-toegang per resource-type
  • OAuth-ondersteuning - Veilige tokengebaseerde authenticatie voor partnerintegraties
  • Isolatie van public key - Client-side-sleutels beperkt tot create-only-operaties
  • TLS 1.2+ - Alle API-communicatie versleuteld in transit
  • SOC 2 Type II - Klaviyo is SOC 2 Type II-gecertificeerd
  • AVG-compliance - Data Privacy API voor profielverwijderingsverzoeken

Gerelateerde resources

Vraag vroegtijdige toegang aan

Vul je voornaam en je zakelijke e-mailadres in. We sturen je een link om je aanvraag voor toegang tot Tajo te bevestigen.

AI-assistent

Hallo! Stel me vragen over de documentatie.

Deze pagina als Markdown: klaviyo.md

Markdown laden…
Openen in Claude Openen in ChatGPT