---
title: "Meta Ads Connector"
description: "Komplet guide til Meta Ads-integration til synkronisering af Facebook- og Instagram-annoncemålgrupper, konverteringer og kampagnedata med Brevo via Tajo."
url: https://tajo.io/dk/docs/connectors/marketing/meta-ads/
markdown: https://tajo.io/dk/docs/connectors/marketing/meta-ads.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.

# Meta Ads Connector

Connectorstatus: Planlagt Ikke bygget endnu. Tajo kører ikke denne connector i dag.

| 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 Meta Ads (Facebook og Instagram) til Brevo via Tajo for at synkronisere Custom Audiences, importere konverteringshændelser via Conversions API og bygge bro mellem betalt social annoncering og livscyklusmarketingautomatisering.

## Oversigt

| Egenskab | Værdi |
| --- | --- |
| **Platform** | Meta Ads (Facebook, Instagram, Messenger, WhatsApp) |
| **Kategori** | Marketing |
| **Opsætningskompleksitet** | Avanceret |
| **Officiel integration** | Nej |
| **Synkroniserede data** | Målgrupper, konverteringer, kampagner, leads |
| **Tilgængelige skills** | 8 |
| **API-version** | v25.0 (Graph API) |

## Funktioner

- **Synkronisering af Custom Audiences** - Upload Brevo-kontaktlister som Meta Custom Audiences
- **Conversions API (CAPI)** - Send serverside-konverteringshændelser for nøjagtig attribution
- **Synkronisering af lead-formularer** - Importér Facebook Lead Ads-indsendelser direkte i Brevo-kontakter
- **Kampagneindsigt** - Træk annonceperformance-metrikker ind i Tajo-dashboards
- **Lookalike-målgrupper** - Opret Lookalike Audiences fra synkroniserede Brevo-segmenter
- **Katalogsynkronisering** - Synkronisér produktkataloger til dynamiske produktannoncer
- **Multi-platform** - Én integration dækker Facebook-, Instagram-, Messenger- og WhatsApp-annoncer

## Forudsætninger

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

1. En Meta Business Manager-konto
2. En Facebook-app med adgang til Marketing API
3. En System User med passende rettigheder
4. Et adgangstoken med rettighederne `ads_management` og `ads_read`
5. En Brevo-konto med API-adgang
6. En Tajo-konto med API-legitimationsoplysninger

## Autentifikation

### System User-adgangstoken

Meta anbefaler at bruge System User-tokens til server-til-server-integrationer. Disse tokens udløber ikke.

```bash
# Required permissions for System User
ads_management
ads_read
business_management
leads_retrieval
pages_read_engagement
catalog_management
```

### App-niveau-autentifikation

```bash
curl -G "https://graph.facebook.com/v25.0/act_AD_ACCOUNT_ID/campaigns" \
  -d "access_token=SYSTEM_USER_ACCESS_TOKEN" \
  -d "fields=name,status,objective"
```

## Konfiguration

### Grundlæggende opsætning

```yaml
connectors:
  meta_ads:
    enabled: true
    app_id: "your-facebook-app-id"
    app_secret: "your-facebook-app-secret"
    access_token: "your-system-user-access-token"
    ad_account_id: "act_123456789"
    business_id: "987654321"
    pixel_id: "111222333444"

    # Data sync options
    sync:
      custom_audiences: true
      conversions_api: true
      lead_forms: true
      campaign_insights: true

    # API version
    api_version: "v25.0"
```

### Custom Audience-konfiguration

Synkronisér Brevo-lister til Meta Custom Audiences:

```yaml
custom_audiences:
  enabled: true
  lists:
    - brevo_list_id: 5
      audience_name: "All Customers"
      subtype: "CUSTOM"
    - brevo_list_id: 6
      audience_name: "High LTV Customers"
      subtype: "CUSTOM"
    - brevo_list_id: 7
      audience_name: "Recent Purchasers"
      subtype: "CUSTOM"

  # Matching fields
  match_keys:
    - EMAIL
    - PHONE
    - FN     # First name
    - LN     # Last name
    - CT     # City
    - ST     # State
    - ZIP
    - COUNTRY

  schedule: "daily"
  sync_mode: "mirror"
```

### Conversions API-konfiguration

```yaml
conversions_api:
  enabled: true
  pixel_id: "111222333444"
  test_event_code: ""  # Set for testing, clear for production

  events:
    - brevo_event: "order_completed"
      meta_event: "Purchase"
      value_field: "revenue"
      currency_field: "currency"
    - brevo_event: "cart_updated"
      meta_event: "AddToCart"
    - brevo_event: "customer_created"
      meta_event: "Lead"
    - brevo_event: "page_viewed"
      meta_event: "ViewContent"
```

## API-endpoints

| Metode | Endpoint | Beskrivelse |
| --- | --- | --- |
| `POST` | `/v25.0/act_{id}/customaudiences` | Opret en Custom Audience |
| `POST` | `/v25.0/{audience_id}/users` | Tilføj brugere til Custom Audience |
| `DELETE` | `/v25.0/{audience_id}/users` | Fjern brugere fra Custom Audience |
| `POST` | `/v25.0/{pixel_id}/events` | Send Conversions API-hændelser |
| `GET` | `/v25.0/act_{id}/campaigns` | Vis kampagner |
| `GET` | `/v25.0/act_{id}/insights` | Hent kampagneindsigter |
| `GET` | `/v25.0/{form_id}/leads` | Hent lead-formularindsendelser |
| `POST` | `/v25.0/act_{id}/adcreatives` | Opret annonce-kreativer |
| `GET` | `/v25.0/{catalog_id}/products` | Vis katalogprodukter |

## Kodeeksempler

### Initialisér Meta Ads-konnektor

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

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

// Connect Meta Ads account
await tajo.connectors.connect('meta-ads', {
  appId: process.env.META_APP_ID,
  appSecret: process.env.META_APP_SECRET,
  accessToken: process.env.META_ACCESS_TOKEN,
  adAccountId: 'act_123456789',
  pixelId: '111222333444'
});
```

### Send Conversions API-hændelser

```javascript
// Send a purchase event via Conversions API
const response = await fetch(
  `https://graph.facebook.com/v25.0/${PIXEL_ID}/events`,
  {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({
      data: [{
        event_name: 'Purchase',
        event_time: Math.floor(Date.now() / 1000),
        action_source: 'website',
        user_data: {
          em: [hashSHA256('jane@example.com')],
          ph: [hashSHA256('+15551234567')],
          fn: [hashSHA256('jane')],
          ln: [hashSHA256('kim')],
          client_ip_address: '192.168.1.1',
          client_user_agent: 'Mozilla/5.0...',
          fbc: 'fb.1.1234567890.AbCdEfG',  // Click ID
          fbp: 'fb.1.1234567890.987654321'  // Browser ID
        },
        custom_data: {
          value: 89.99,
          currency: 'USD',
          content_ids: ['SKU-001'],
          content_type: 'product'
        }
      }],
      access_token: process.env.META_ACCESS_TOKEN
    })
  }
);
```

### Synkronisér Custom Audience fra Brevo-liste

```javascript
// Upload a Brevo contact list as a Meta Custom Audience
await tajo.connectors.syncAudience('meta-ads', {
  brevoListId: 5,
  audienceName: 'High Value Customers',
  matchKeys: ['EMAIL', 'PHONE', 'FN', 'LN'],
  syncMode: 'mirror'
});
```

### Træk kampagneindsigter

```javascript
// Get campaign performance metrics
const insights = await tajo.connectors.query('meta-ads', {
  resource: 'campaigns',
  fields: ['campaign_name', 'impressions', 'clicks', 'spend',
           'actions', 'cost_per_action_type'],
  dateRange: { since: '2024-01-01', until: '2024-01-31' },
  level: 'campaign'
});
```

## Ratebegrænsninger

| Ressource | Grænse | Detaljer |
| --- | --- | --- |
| **Marketing API** | Niveau-baseret | Baseret på app-adgangsniveau og forbrug |
| **Custom Audience-uploads** | 700 forespørgsler/time | Per annoncekonto |
| **Conversions API** | 2.000 hændelser/sek | Per pixel |
| **Insights API** | 200 kald/time | Per annoncekonto |
| **Lead-hentning** | 200 kald/time | Per side |
| **Batch-forespørgsler** | 50 forespørgsler/batch | Per batchkald |

Virksomhedsverifikation påkrævet

Fuld Marketing API-adgang kræver virksomhedsverifikation i Meta Business Manager. Ikke-verificerede apps er begrænset til udviklingstilstand med begrænsede ratebegrænsninger.

## Fejlfinding

| Problem | Årsag | Løsning |
| --- | --- | --- |
| `OAuthException` | Token udløbet eller ugyldigt | Regenerér System User-adgangstoken |
| Lav Custom Audience-match-rate | Dårlig datakvalitet | Hash al personlig data med SHA-256, inkludér flere match-nøgler |
| Konverteringer ikke attribueret | Manglende `fbc`/`fbp`-parametre | Send Facebook Click ID og Browser ID fra cookies |
| `RATE_LIMIT_REACHED` | For mange API-kald | Implementér eksponentiel backoff, tjek API-adgangsniveau |
| Lead-formularer synkroniseres ikke | Manglende `leads_retrieval`-rettighed | Tilføj rettighed til System User |
| Hændelser i testtilstand | `test_event_code` stadig sat | Fjern test event code til produktion |

## Best practices

1. **Brug System User-tokens** - System Users leverer stabile, ikke-udløbende tokens til serverintegrationer
2. **Hash al personlig data** - SHA-256-hash alle personligt identificerbare oplysninger, før de sendes til Meta
3. **Send både CAPI og Pixel** - Brug både Conversions API og Meta Pixel til redundant sporing med deduplikering
4. **Inkludér hændelses-id’er** - Sæt `event_id` på både CAPI- og Pixel-hændelser for at muliggøre deduplikering
5. **Send `fbc` og `fbp`** - Inkludér Facebook Click ID og Browser ID for maksimal konverteringsattribution
6. **Verificér din virksomhed** - Gennemfør Business Verification for fuld API-adgang og højere ratebegrænsninger
7. **Brug `test_event_code`** - Test Conversions API-hændelser i Events Manager før produktionssætning

## Sikkerhed

- **System User-tokens** - Ikke-personlige, virksomhedsscoped autentifikationstokens
- **SHA-256-hashing** - Al personlig data hashes før transmission til Meta-servere
- **App Secret Proof** - Valgfrit ekstra lag af autentifikationssikkerhed
- **Virksomhedsscoping** - Rettigheder scopes til specifikke annoncekonti og sider
- **Meta-overholdelse** - Underlagt Meta Platform Terms og annonceringspolitikker
- **Databehandlingsbetingelser** - Metas Data Processing Terms gælder for EU-data

## Relaterede ressourcer

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