---
title: "Klaviyo Connector"
description: "Komplet guide til Klaviyo-integration til synkronisering af profiler, hændelser, lister, segmenter og kampagnedata med Brevo via Tajo."
url: https://tajo.io/dk/docs/connectors/marketing/klaviyo/
markdown: https://tajo.io/dk/docs/connectors/marketing/klaviyo.md
lang: da-DK
robots: noindex
---

Bed om tidlig adgang til Tajo

Indtast dit fornavn og din arbejds-e-mailadresse. Vi sender dig et link til at bekræfte din anmodning om adgang til Tajo.

# Klaviyo Connector

Connectorstatus: Under udvikling Under opbygning. Endnu ikke verificeret.

| Kildefelt | Destinationsfelt | Eksempelværdi |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

Forbind Klaviyo til Brevo via Tajo for at migrere eller synkronisere marketingdata mellem platforme. Synkronisér profiler, hændelser, lister, segmenter, flows og kampagnedata til en forenet multikanal-marketingstrategi.

## Oversigt

| Egenskab | Værdi |
| --- | --- |
| **Platform** | Klaviyo |
| **Kategori** | Marketing |
| **Opsætningskompleksitet** | Mellem |
| **Officiel integration** | Nej |
| **Synkroniserede data** | Profiler, hændelser, lister, segmenter, kampagner |
| **Tilgængelige skills** | 10 |
| **API-standard** | JSON:API |

## Funktioner

- **Profilsynkronisering** - Tovejssynkronisering af kundeprofiler mellem Klaviyo og Brevo
- **Hændelsesvideresendelse** - Videresend Klaviyo-sporede hændelser til Brevo som automatiseringstriggere
- **Listemigrering** - Synkronisér Klaviyo-lister til Brevo-kontaktlister
- **Segmentsynkronisering** - Eksportér Klaviyo-segmenter som Brevo-lister eller -segmenter
- **Eksport af flow-data** - Træk flow-performance-data til tværplatformsanalyse
- **Kampagnesynkronisering** - Koordinér kampagner på tværs af Klaviyo- og Brevo-kanaler
- **Katalogsynkronisering** - Spejl produktkataloger mellem platforme
- **Rabatkodehåndtering** - Synkronisér rabatkoder og brugsdata

## Forudsætninger

Før du begynder, skal du sikre dig, at du har:

1. En Klaviyo-konto med API-adgang
2. En Private API Key med passende scopes
3. Din Klaviyo Public API Key (6-tegns firma-id)
4. En Brevo-konto med API-adgang
5. En Tajo-konto med API-legitimationsoplysninger

## Autentifikation

### Private API Key

Klaviyo bruger private API-nøgler med scoped adgang til serverside-autentifikation. Sæt nøglen i `Authorization`-headeren:

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

### API-nøglescopes

Konfigurér scopes, når du opretter din private nøgle:

| Scope | Adgang | Beskrivelse |
| --- | --- | --- |
| `profiles` | Read/Full | Adgang til kontaktprofiler |
| `events` | Read/Full | Adgang til sporede hændelser |
| `lists` | Read/Full | Adgang til kontaktlister |
| `segments` | Read | Adgang til segmenter |
| `campaigns` | Read | Adgang til kampagnedata |
| `metrics` | Read | Adgang til metrikkdefinitioner |
| `flows` | Read | Adgang til flow-konfigurationer |
| `catalogs` | Read | Adgang til produktkataloger |

### Public API Key

Til klientside-sporing bruges 6-tegns firma-id’et:

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

### OAuth (partnerintegrationer)

Klaviyo understøtter OAuth til tech partners, hvilket giver forbedret sikkerhed og højere ratebegrænsninger:

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

## Konfiguration

### Grundlæggende opsætning

```yaml
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
```

### Profilmapping

Knyt Klaviyo-profilegenskaber til Brevo-kontaktattributter:

```yaml
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
```

### Hændelsesmapping

Knyt Klaviyo-metrikker til Brevo-hændelser:

```yaml
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

| Metode | Endpoint | Beskrivelse |
| --- | --- | --- |
| `GET` | `/api/profiles/` | Vis profiler |
| `POST` | `/api/profiles/` | Opret en profil |
| `PATCH` | `/api/profiles/{id}/` | Opdatér en profil |
| `POST` | `/api/profile-merge/` | Flet duplikerede profiler |
| `GET` | `/api/events/` | Vis hændelser |
| `POST` | `/api/events/` | Opret en hændelse |
| `GET` | `/api/lists/` | Vis alle lister |
| `POST` | `/api/lists/{id}/relationships/profiles/` | Tilføj profiler til en liste |
| `GET` | `/api/segments/` | Vis segmenter |
| `GET` | `/api/campaigns/` | Vis kampagner |
| `GET` | `/api/flows/` | Vis flows |
| `GET` | `/api/metrics/` | Vis metrikker |
| `POST` | `/api/metric-aggregates/` | Forespørg metrik-aggregater |
| `GET` | `/api/catalog-items/` | Vis katalogelementer |

## Kodeeksempler

### Initialisér Klaviyo-konnektor

```javascript
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
});
```

### Synkronisér profiler til Brevo

```javascript
// 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": "jane@example.com",
//     "first_name": "Jane",
//     "last_name": "Kim",
//     "phone_number": "+15551234567",
//     "properties": { "lifetime_value": 450.00 }
//   }
// }
```

### Opret en hændelse

```javascript
// 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: 'jane@example.com' } }
        },
        properties: {
          OrderId: 'ORD-1234',
          Value: 89.99,
          Items: [
            { ProductName: 'Widget Pro', Price: 89.99, Quantity: 1 }
          ]
        },
        value: 89.99
      }
    }
  })
});
```

### Forespørg metrik-aggregater

```javascript
// 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)']
      }
    }
  })
});
```

## Ratebegrænsninger

| Autentifikation | Burst-grænse | Stabil grænse |
| --- | --- | --- |
| **Private API Key** | 75 forespørgsler/sek | 700 forespørgsler/min |
| **OAuth** | 150 forespørgsler/sek | 1.500 forespørgsler/min |
| **Client API** | 100 forespørgsler/sek | N/A |
| **Bulk-operationer** | 10 forespørgsler/sek | 100 forespørgsler/min |

API-revision påkrævet

Alle Klaviyo API-forespørgsler kræver `revision`-headeren sat til en gyldig API-versionsdato (f.eks. `2026-01-15`). Forespørgsler uden denne header vil blive afvist.

## Fejlfinding

| Problem | Årsag | Løsning |
| --- | --- | --- |
| `400 Bad Request` | Ugyldig eller manglende API-nøgle | Verificér, at privat API-nøgle er korrekt |
| `403 Forbidden` | Utilstrækkeligt scope | Tjek, at API-nøglens scopes matcher de påkrævede rettigheder |
| Manglende `revision`-header | Header ikke sat | Tilføj `revision: 2026-01-15` til alle forespørgsler |
| Profil ikke fundet | Forkert identifikator | Brug Klaviyo-profil-id, ikke e-mail, til opslag |
| Hændelser synkroniseres ikke | Forkert metriknavn | Match nøjagtige metriknavne som defineret i Klaviyo |
| `429 Too Many Requests` | Ratebegrænsning overskredet | Implementér eksponentiel backoff, overvej OAuth for højere grænser |
| JSON:API-formatfejl | Forkert content-type | Brug `application/vnd.api+json` til Content-Type og Accept-headere |

## Best practices

1. **Brug JSON:API-format** - Følg JSON:API-specifikationen for alle request- og response-payloads
2. **Sæt revision-headeren** - Inkludér altid `revision`-headeren med den seneste API-versionsdato
3. **Brug sparse fieldsets** - Anmod kun om nødvendige felter med `?fields[profile]=email,first_name` for at reducere payloadstørrelse
4. **Udnyt relationer** - Brug JSON:API `include`-parameteren til at hente relaterede ressourcer i én forespørgsel
5. **Brug cursor-paginering** - Navigér store resultatsæt med `page[cursor]`-parameteren
6. **Implementér bulk-operationer** - Brug bulk-endpoints til batch-profilimporter og hændelsesoprettelse
7. **Brug OAuth for højere grænser** - OAuth-autentifikation giver 2x højere ratebegrænsninger end private nøgler

## Sikkerhed

- **Private API-nøglescopes** - Granulær Read/Full-adgangskontrol per ressourcetype
- **OAuth-understøttelse** - Sikker tokenbaseret autentifikation til partnerintegrationer
- **Isolering af offentlig nøgle** - Klientside-nøgler begrænset til create-only-operationer
- **TLS 1.2+** - Al API-kommunikation krypteres under transport
- **SOC 2 Type II** - Klaviyo er SOC 2 Type II-certificeret
- **GDPR-overholdelse** - Data Privacy API til anmodninger om profilsletning

## Relaterede ressourcer

- [Brevo Connector](https://tajo.io/dk/docs/connectors/marketing/brevo)
- [Google Ads Connector](https://tajo.io/dk/docs/connectors/marketing/google-ads)
- [Meta Ads Connector](https://tajo.io/dk/docs/connectors/marketing/meta-ads)
- [Customer Sync Skill](https://tajo.io/dk/docs/skills/data-sync/customer-sync)
