---
title: "Customer.io-kobling"
description: "Fullstendig Customer.io-integrasjonsveiledning for synkronisering av personer, hendelser, kampanjer og arbeidsflytdata med Brevo via Tajo."
url: https://tajo.io/no/docs/connectors/marketing/customerio/
markdown: https://tajo.io/no/docs/connectors/marketing/customerio.md
lang: no-NO
robots: noindex
---

Be om tidlig tilgang

Skriv inn fornavn og e-postadresse på jobb. Vi sender deg en lenke for å bekrefte forespørselen om tilgang til Tajo.

# Customer.io-kobling

Koblingsstatus: Planlagt Ikke bygget ennå. Tajo kjører ikke denne koblingen i dag.

| Kildefelt | Målfelt | Eksempelverdi |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

Koble Customer.io-meldingsplattformen din til Brevo for enhetlige kundedata, koordinering av kampanjer på tvers av plattformer og konsolidert engasjementsanalyse.

## Oversikt

| Egenskap | Verdi |
| --- | --- |
| **Plattform** | Customer.io |
| **Kategori** | Markedsføring |
| **Oppsettskompleksitet** | Moderat |
| **Offisiell integrasjon** | Nei |
| **Synkroniserte data** | Personer, hendelser, kampanjer, segmenter |
| **API-er brukt** | Track API, App API, Pipelines API |
| **Autentisering** | Site ID + API-nøkkel / App API-nøkkel |
| **Base-URL-er** | `track.customer.io`, `api.customer.io` |

## Funksjoner

- **Persondatasynkronisering** - Toveis synkronisering av kundeprofiler med Brevo-kontakter
- **Hendelsesvideresending** - Spor atferdshendelser og videresend til Brevo for automatiseringsutløsere
- **Kampanjeanalyse** - Synkroniser kampanjeytelsesmålinger for enhetlig rapportering
- **Arbeidsflytdata** - Speil Customer.io-arbeidsflyttilstander i Brevo-kontaktattributter
- **Segmentreplikering** - Replikér Customer.io-segmenter som Brevo-lister
- **Synkronisering av objektdata** - Synkroniser ikke-person-objekter og relasjonsdata

## Forutsetninger

Før du begynner, sørg for at du har:

1. En Customer.io-konto med API-tilgang
2. Din Site ID og Track API-nøkkel (finnes i Settings > API Credentials)
3. En App API-nøkkel for å lese kampanje- og segmentdata
4. En Brevo-konto med API-tilgang
5. En Tajo-konto med aktivt abonnement

## Autentisering

Customer.io bruker to separate API-er med ulike autentiseringsmetoder:

### Track API (atferdsdata)

Brukes til å sende personer, hendelser og enhetsdata. Autentiserer med Site ID og API-nøkkel via Basic Auth.

```bash
# Basic Auth: Site ID som brukernavn, API-nøkkel som passord
curl -X POST https://track.customer.io/api/v1/customers/user123 \
  -u "$SITE_ID:$API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"email": "user@example.com"}'
```

### App API (lesedata)

Brukes til å hente kampanjer, segmenter og kundedata. Autentiserer med en Bearer-token.

```bash
curl -X GET https://api.customer.io/v1/campaigns \
  -H "Authorization: Bearer $APP_API_KEY"
```

API-nøkkelseparasjon

Track API-nøkkelen og App API-nøkkelen er ulike påloggingsdetaljer. Track API-nøkkelen brukes til å skrive data, mens App API-nøkkelen er for å lese data. Begge er nødvendig for full Tajo-integrasjon.

### Koble til Tajo

```bash
tajo connectors install customerio \
  --site-id $CIO_SITE_ID \
  --track-api-key $CIO_TRACK_API_KEY \
  --app-api-key $CIO_APP_API_KEY
```

## Konfigurasjon

### Grunnleggende oppsett

```yaml
connectors:
  customerio:
    enabled: true
    region: "us"  # eller "eu" for EU-datasenter

    sync:
      people: true
      events: true
      campaigns: true
      segments: true
      objects: false

    lists:
      all_contacts: 12
      active_subscribers: 13
      churned: 14
```

### Feltmapping

Mapp Customer.io-personattributter til Brevo-kontaktattributter:

```yaml
field_mapping:
  # Standardfelt
  id: CIO_ID
  email: email
  first_name: FIRSTNAME
  last_name: LASTNAME
  phone: SMS

  # Engasjementsmålinger
  created_at: SIGNUP_DATE
  last_activity: LAST_ACTIVE
  plan: PLAN_NAME

  # Egendefinerte attributter
  company: COMPANY
  role: JOB_TITLE
  mrr: MONTHLY_REVENUE
  lifecycle_stage: LIFECYCLE_STAGE
```

### Hendelsesmapping

```yaml
event_mapping:
  # Customer.io-hendelse -> Brevo-hendelse
  purchase_completed: ORDER_PLACED
  subscription_started: SUBSCRIPTION_START
  feature_activated: FEATURE_USED
  support_ticket_opened: SUPPORT_REQUEST
```

## API-endepunkter

Tajo integrerer med følgende Customer.io API-endepunkter:

| Endepunkt | Metode | API | Formål |
| --- | --- | --- | --- |
| `/api/v1/customers/{id}` | PUT | Track | Opprett eller oppdater en person |
| `/api/v1/customers/{id}/events` | POST | Track | Spor en personhendelse |
| `/api/v1/events` | POST | Track | Spor anonyme hendelser |
| `/api/v2/entity` | POST | Track | Opprett eller oppdater personer/objekter (Pipelines) |
| `/v1/campaigns` | GET | App | List kampanjer |
| `/v1/campaigns/{id}/metrics` | GET | App | Kampanjeytelsesmålinger |
| `/v1/segments` | GET | App | List segmenter |
| `/v1/segments/{id}/membership` | GET | App | Hent segmentmedlemmer |
| `/v1/customers/{id}/attributes` | GET | App | Hent kundeattributter |
| `/v1/customers/{id}/activities` | GET | App | Hent kundeaktivitetslogg |

## Kodeeksempler

### Initialiser kobling

```javascript
import { TajoClient } from '@tajo/sdk';

const tajo = new TajoClient({
  apiKey: process.env.TAJO_API_KEY,
  brevoApiKey: process.env.BREVO_API_KEY
});

await tajo.connectors.connect('customerio', {
  siteId: process.env.CIO_SITE_ID,
  trackApiKey: process.env.CIO_TRACK_API_KEY,
  appApiKey: process.env.CIO_APP_API_KEY,
  region: 'us'
});
```

### Synkroniser personer til Brevo

```javascript
// Inkrementell synkronisering av Customer.io-personer
await tajo.connectors.sync('customerio', {
  type: 'incremental',
  resources: ['people'],
  since: '2024-01-01',
  batchSize: 100
});

const status = await tajo.connectors.status('customerio');
console.log(status);
// {
//   connected: true,
//   lastSync: '2024-03-15T14:20:00Z',
//   peopleCount: 32500,
//   campaignsTracked: 18,
//   eventsProcessed: 87000
// }
```

### Videresend hendelser

```javascript
// Videresend Customer.io rapportering-webhook-hendelser til Brevo
app.post('/webhooks/customerio', async (req, res) => {
  const events = req.body;

  for (const event of events) {
    await tajo.connectors.handleEvent('customerio', {
      type: event.metric,
      payload: {
        customerId: event.data.customer_id,
        campaignId: event.data.campaign_id,
        timestamp: event.timestamp
      }
    });
  }

  res.status(200).send('OK');
});
```

### Eksporter segment

```javascript
const result = await tajo.connectors.exportSegment('customerio', {
  segmentId: 42,
  targetList: 13,
  includeAttributes: ['email', 'first_name', 'last_name', 'plan']
});

console.log(`Exported ${result.count} people to Brevo list 13`);
```

## Ratebegrensninger

Customer.io håndhever ulike ratebegrensninger per API:

| API | Ratebegrensning | Merknader |
| --- | --- | --- |
| **Track API** | ~100 forespørsler/sekund | Per arbeidsområde |
| **App API** | 10 forespørsler/sekund | Per API-nøkkel |
| **Pipelines API** | 100 forespørsler/sekund | Anbefalt for bulkdata |
| **Batch-endepunkt** | 1 000 personer per forespørsel | Maks payload 500 KB |

Bruk batch-endepunkter

For store synkroniseringer bruker Tajo Customer.io batch-endepunktet for å sende opptil 1 000 personer per forespørsel, noe som reduserer volumet av API-kall betydelig.

## Feilsøking

### Vanlige problemer

| Problem | Årsak | Løsning |
| --- | --- | --- |
| 401 Unauthorized | Ugyldig Site ID eller API-nøkkel | Verifiser påloggingsdetaljer i Customer.io Settings > API |
| Personer synkroniseres ikke | Manglende identifikator | Sørg for at hver person har en `id` eller `email` |
| Hendelser ikke sporet | Feil API-nøkkeltype | Bruk Track API-nøkkelen for hendelser, ikke App API-nøkkelen |
| EU-data ikke tilgjengelig | Feil region konfigurert | Sett region til `eu` for EU-arbeidsområder |
| Ratebegrensningsfeil | For mange App API-kall | Reduser pollingfrekvens for kampanjedata |

### Feilsøkingsmodus

```yaml
connectors:
  customerio:
    debug: true
    log_level: verbose
    log_api_calls: true
```

### Test tilkobling

```bash
tajo connectors test customerio
# ✓ Track API-tilkobling vellykket
# ✓ App API-tilkobling vellykket
# ✓ Personer tilgjengelige
# ✓ Kampanjer lesbare
# ✓ Segmenter listbare
```

## Beste praksis

1. **Bruk Pipelines API for bulkdata** - Det nyere Pipelines API er optimalisert for inntak med stort volum
2. **Sett opp rapportering-webhooks** - Videresend Customer.io e-posthendelser til Tajo i sanntid
3. **Mapp livssyklusfaser** - Synkroniser Customer.io-segmentmedlemskap til Brevo-attributter
4. **Bruk konsistente identifikatorer** - Match `id`-felt på tvers av Customer.io og Brevo
5. **Synkroniser inkrementelt** - Unngå fulleksport; utnytt `last_activity`-tidsstempler
6. **Overvåk webhook-levering** - Sett opp varsler for mislykkede webhook-leveringer

## Sikkerhet

- **Basic Auth** - Track API autentiserer med Site ID og API-nøkkel
- **Bearer-token** - App API bruker OAuth-lignende Bearer-tokens
- **Kun HTTPS** - All API-kommunikasjon kryptert via TLS 1.2+
- **Regionale datasentre** - EU-datasenteralternativ for GDPR-samsvar
- **Kryptert lagring** - Alle påloggingsdetaljer kryptert i hvilemodus i Tajo
- **Webhook-signaturer** - Verifiser webhook-payloads med HMAC-signaturer

## Relaterte ressurser

- [Braze-kobling](https://tajo.io/no/docs/connectors/marketing/braze)
- [Iterable-kobling](https://tajo.io/no/docs/connectors/marketing/iterable)
- [Customer Sync-ferdighet](https://tajo.io/no/docs/skills/data-sync/customer-sync)
- [Brevo Contacts API](https://tajo.io/no/docs/contact-management)
