---
title: "Conector Klaviyo"
description: "Guia completo de integração do Klaviyo para sincronizar perfis, eventos, listas, segmentos e dados de campanha com o Brevo através do Tajo."
url: https://tajo.io/pt/docs/connectors/marketing/klaviyo/
markdown: https://tajo.io/pt/docs/connectors/marketing/klaviyo.md
lang: pt-BR
robots: noindex
---

Solicite acesso antecipado

Indique o seu nome e endereço de e-mail profissional. Enviaremos um link para confirmar o seu pedido de acesso ao Tajo.

# Conector Klaviyo

Status do conector: Em andamento Em construção. Ainda não verificado.

| Campo de origem | Campo de destino | Valor de exemplo |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

Conecte o Klaviyo ao Brevo através do Tajo para migrar ou sincronizar dados de marketing entre plataformas. Sincronize perfis, eventos, listas, segmentos, flows e dados de campanha para uma estratégia de marketing multicanal unificada.

## Visão geral

| Propriedade | Valor |
| --- | --- |
| **Plataforma** | Klaviyo |
| **Categoria** | Marketing |
| **Complexidade de configuração** | Média |
| **Integração oficial** | Não |
| **Dados sincronizados** | Perfis, Eventos, Listas, Segmentos, Campanhas |
| **Skills disponíveis** | 10 |
| **Padrão de API** | JSON:API |

## Recursos

- **Sincronização de perfis** - Sincronização bidirecional de perfis de clientes entre Klaviyo e Brevo
- **Encaminhamento de eventos** - Encaminhe eventos rastreados do Klaviyo para o Brevo como gatilhos de automação
- **Migração de listas** - Sincronize listas do Klaviyo para listas de contatos do Brevo
- **Sincronização de segmentos** - Exporte segmentos do Klaviyo como listas ou segmentos do Brevo
- **Exportação de dados de flow** - Extraia dados de desempenho de flow para analytics multiplataforma
- **Sincronização de campanhas** - Coordene campanhas entre canais do Klaviyo e do Brevo
- **Sincronização de catálogo** - Espelhe catálogos de produtos entre plataformas
- **Gestão de cupons** - Sincronize códigos de cupom e dados de uso

## Pré-requisitos

Antes de começar, certifique-se de ter:

1. Uma conta Klaviyo com acesso à API
2. Uma Private API Key com os escopos apropriados
3. Sua Public API Key do Klaviyo (company ID de 6 caracteres)
4. Uma conta Brevo com acesso à API
5. Uma conta Tajo com credenciais de API

## Autenticação

### Private API Key

O Klaviyo usa chaves API privadas com acesso por escopo para autenticação server-side. Defina a chave no cabeçalho `Authorization`:

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

### Escopos de chave API

Configure os escopos ao criar sua chave privada:

| Escopo | Acesso | Descrição |
| --- | --- | --- |
| `profiles` | Read/Full | Acessar perfis de contato |
| `events` | Read/Full | Acessar eventos rastreados |
| `lists` | Read/Full | Acessar listas de contato |
| `segments` | Read | Acessar segmentos |
| `campaigns` | Read | Acessar dados de campanha |
| `metrics` | Read | Acessar definições de métrica |
| `flows` | Read | Acessar configurações de flow |
| `catalogs` | Read | Acessar catálogos de produtos |

### Public API Key

Para rastreamento client-side, use o company ID de 6 caracteres:

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

### OAuth (Integrações de parceiros)

O Klaviyo suporta OAuth para parceiros de tecnologia, oferecendo segurança aprimorada e limites de taxa maiores:

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

## Configuração

### Configuração básica

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

### Mapeamento de perfis

Mapeie propriedades de perfil do Klaviyo para atributos de contato do Brevo:

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

### Mapeamento de eventos

Mapeie métricas do Klaviyo para eventos do Brevo:

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

## Endpoints da API

| Método | Endpoint | Descrição |
| --- | --- | --- |
| `GET` | `/api/profiles/` | Listar perfis |
| `POST` | `/api/profiles/` | Criar um perfil |
| `PATCH` | `/api/profiles/{id}/` | Atualizar um perfil |
| `POST` | `/api/profile-merge/` | Mesclar perfis duplicados |
| `GET` | `/api/events/` | Listar eventos |
| `POST` | `/api/events/` | Criar um evento |
| `GET` | `/api/lists/` | Listar todas as listas |
| `POST` | `/api/lists/{id}/relationships/profiles/` | Adicionar perfis a uma lista |
| `GET` | `/api/segments/` | Listar segmentos |
| `GET` | `/api/campaigns/` | Listar campanhas |
| `GET` | `/api/flows/` | Listar flows |
| `GET` | `/api/metrics/` | Listar métricas |
| `POST` | `/api/metric-aggregates/` | Consultar agregados de métricas |
| `GET` | `/api/catalog-items/` | Listar itens de catálogo |

## Exemplos de código

### Inicializar o conector Klaviyo

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

### Sincronizar perfis para o 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 }
//   }
// }
```

### Criar um evento

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

### Consultar agregados de métrica

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

## Limites de taxa

| Autenticação | Limite de burst | Limite estável |
| --- | --- | --- |
| **Private API Key** | 75 requisições/seg | 700 requisições/min |
| **OAuth** | 150 requisições/seg | 1.500 requisições/min |
| **Client API** | 100 requisições/seg | N/A |
| **Operações em lote** | 10 requisições/seg | 100 requisições/min |

Cabeçalho de revisão da API obrigatório

Todas as requisições da Klaviyo API exigem o cabeçalho `revision` definido com uma data de versão de API válida (por exemplo, `2026-01-15`). Requisições sem esse cabeçalho serão rejeitadas.

## Solução de problemas

| Problema | Causa | Solução |
| --- | --- | --- |
| `400 Bad Request` | Chave API inválida ou ausente | Verifique se a private API key está correta |
| `403 Forbidden` | Escopo insuficiente | Verifique se os escopos da chave API correspondem às permissões necessárias |
| Cabeçalho `revision` ausente | Cabeçalho não definido | Adicione `revision: 2026-01-15` a todas as requisições |
| Perfil não encontrado | Identificador incorreto | Use o ID de perfil do Klaviyo, não o e-mail, para consultas |
| Eventos não sincronizando | Nome de métrica incorreto | Combine os nomes exatos das métricas conforme definidos no Klaviyo |
| `429 Too Many Requests` | Limite de taxa excedido | Implemente backoff exponencial, considere OAuth para limites maiores |
| Erros de formato JSON:API | Content type incorreto | Use `application/vnd.api+json` para os cabeçalhos Content-Type e Accept |

## Melhores práticas

1. **Use o formato JSON:API** - Siga a especificação JSON:API para todos os payloads de requisição e resposta
2. **Defina o cabeçalho revision** - Sempre inclua o cabeçalho `revision` com a data da versão mais recente da API
3. **Use sparse fieldsets** - Solicite apenas campos necessários com `?fields[profile]=email,first_name` para reduzir o tamanho do payload
4. **Aproveite relacionamentos** - Use o parâmetro `include` do JSON:API para buscar recursos relacionados em uma única requisição
5. **Use paginação por cursor** - Navegue por grandes conjuntos de resultados com o parâmetro `page[cursor]`
6. **Implemente operações em lote** - Use endpoints em lote para importações de perfil em lote e criação de eventos
7. **Use OAuth para limites maiores** - A autenticação OAuth fornece limites de taxa 2x maiores do que chaves privadas

## Segurança

- **Escopos de chave API privada** - Controle de acesso Read/Full granular por tipo de recurso
- **Suporte a OAuth** - Autenticação segura baseada em token para integrações de parceiros
- **Isolamento de chave pública** - Chaves client-side limitadas a operações apenas de criação
- **TLS 1.2+** - Toda comunicação com a API é criptografada em trânsito
- **SOC 2 Type II** - O Klaviyo é certificado SOC 2 Type II
- **Conformidade GDPR** - Data Privacy API para solicitações de exclusão de perfil

## Recursos relacionados

- [Conector Brevo](https://tajo.io/pt/docs/connectors/marketing/brevo)
- [Conector Google Ads](https://tajo.io/pt/docs/connectors/marketing/google-ads)
- [Conector Meta Ads](https://tajo.io/pt/docs/connectors/marketing/meta-ads)
- [Skill de sincronização de clientes](https://tajo.io/pt/docs/skills/data-sync/customer-sync)
