---
title: "Konektor Meta Ads"
description: "Panduan integrasi Meta Ads lengkap untuk menyinkronkan audiens iklan Facebook dan Instagram, konversi, serta data kampanye dengan Brevo melalui Tajo."
url: https://tajo.io/in/docs/connectors/marketing/meta-ads/
markdown: https://tajo.io/in/docs/connectors/marketing/meta-ads.md
lang: id-ID
robots: noindex
---

Ajukan akses awal

Masukkan nama depan dan alamat email kerja Anda. Kami akan mengirim tautan untuk mengonfirmasi permintaan akses Tajo.

# Konektor Meta Ads

Status konektor: Direncanakan Belum dibangun. Tajo belum menjalankan konektor ini.

| Field sumber | Field tujuan | Nilai contoh |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

Hubungkan Meta Ads (Facebook & Instagram) ke Brevo melalui Tajo untuk menyinkronkan Custom Audience, mengimpor event konversi lewat Conversions API, dan menjembatani iklan paid social dengan otomatisasi marketing siklus hidup.

## Ikhtisar

| Properti | Nilai |
| --- | --- |
| **Platform** | Meta Ads (Facebook, Instagram, Messenger, WhatsApp) |
| **Kategori** | Marketing |
| **Kompleksitas setup** | Lanjutan |
| **Integrasi resmi** | Tidak |
| **Data yang disinkronkan** | Audiens, konversi, kampanye, lead |
| **Skill tersedia** | 8 |
| **Versi API** | v25.0 (Graph API) |

## Fitur

- **Sinkronisasi Custom Audience** - Unggah daftar kontak Brevo sebagai Custom Audience Meta
- **Conversions API (CAPI)** - Kirim event konversi sisi server untuk atribusi yang akurat
- **Sinkronisasi formulir lead** - Impor kiriman Facebook Lead Ads langsung ke kontak Brevo
- **Insight kampanye** - Tarik metrik performa iklan ke dasbor Tajo
- **Lookalike audience** - Buat Lookalike Audience dari segmen Brevo yang tersinkron
- **Sinkronisasi katalog** - Sinkronkan katalog produk untuk iklan produk dinamis
- **Multiplatform** - Satu integrasi mencakup iklan Facebook, Instagram, Messenger, dan WhatsApp

## Prasyarat

Sebelum memulai, pastikan Anda memiliki:

1. Akun Meta Business Manager
2. Facebook App dengan akses Marketing API
3. System User dengan izin yang sesuai
4. Access Token dengan izin `ads_management` dan `ads_read`
5. Akun Brevo dengan akses API
6. Akun Tajo dengan kredensial API

## Autentikasi

### Access token System User

Meta menyarankan penggunaan token System User untuk integrasi server-ke-server. Token ini tidak kedaluwarsa.

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

### Autentikasi tingkat aplikasi

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

## Konfigurasi

### Setup dasar

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

### Konfigurasi Custom Audience

Sinkronkan daftar Brevo ke Custom Audience Meta:

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

### Konfigurasi Conversions API

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

## Endpoint API

| Method | Endpoint | Deskripsi |
| --- | --- | --- |
| `POST` | `/v25.0/act_{id}/customaudiences` | Membuat sebuah Custom Audience |
| `POST` | `/v25.0/{audience_id}/users` | Menambahkan pengguna ke Custom Audience |
| `DELETE` | `/v25.0/{audience_id}/users` | Menghapus pengguna dari Custom Audience |
| `POST` | `/v25.0/{pixel_id}/events` | Mengirim event Conversions API |
| `GET` | `/v25.0/act_{id}/campaigns` | Menampilkan kampanye |
| `GET` | `/v25.0/act_{id}/insights` | Mengambil insight kampanye |
| `GET` | `/v25.0/{form_id}/leads` | Mengambil kiriman formulir lead |
| `POST` | `/v25.0/act_{id}/adcreatives` | Membuat materi iklan |
| `GET` | `/v25.0/{catalog_id}/products` | Menampilkan produk katalog |

## Contoh kode

### Inisialisasi konektor Meta Ads

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

### Mengirim event Conversions API

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

### Sinkronisasi Custom Audience dari daftar Brevo

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

### Menarik insight kampanye

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

## Batas rate

| Resource | Batas | Detail |
| --- | --- | --- |
| **Marketing API** | Berbasis tier | Bergantung tingkat akses aplikasi dan belanja iklan |
| **Unggahan Custom Audience** | 700 permintaan/jam | Per akun iklan |
| **Conversions API** | 2.000 event/dtk | Per pixel |
| **Insights API** | 200 panggilan/jam | Per akun iklan |
| **Pengambilan lead** | 200 panggilan/jam | Per halaman |
| **Permintaan batch** | 50 permintaan/batch | Per panggilan batch |

Verifikasi bisnis wajib

Akses penuh Marketing API membutuhkan verifikasi bisnis di Meta Business Manager. Aplikasi yang belum terverifikasi terbatas pada mode pengembangan dengan batas rate yang dibatasi.

## Pemecahan masalah

| Masalah | Penyebab | Solusi |
| --- | --- | --- |
| `OAuthException` | Token kedaluwarsa atau tidak valid | Buat ulang access token System User |
| Match rate Custom Audience rendah | Kualitas data buruk | Hash seluruh PII dengan SHA-256, sertakan beberapa match key |
| Konversi tidak teratribusi | Parameter `fbc`/`fbp` hilang | Kirimkan Facebook Click ID dan Browser ID dari cookie |
| `RATE_LIMIT_REACHED` | Terlalu banyak panggilan API | Terapkan exponential backoff, periksa tier akses API |
| Formulir lead tidak tersinkron | Izin `leads_retrieval` belum ada | Tambahkan izin tersebut pada System User |
| Event dalam mode uji | `test_event_code` masih disetel | Hapus test event code untuk produksi |

## Praktik terbaik

1. **Gunakan token System User** - System User memberi token stabil yang tidak kedaluwarsa untuk integrasi server
2. **Hash seluruh PII** - Hash semua informasi yang dapat mengidentifikasi pribadi dengan SHA-256 sebelum dikirim ke Meta
3. **Kirim CAPI dan Pixel sekaligus** - Gunakan Conversions API dan Meta Pixel untuk pelacakan redundan dengan deduplikasi
4. **Sertakan event ID** - Setel `event_id` pada event CAPI maupun Pixel agar deduplikasi berfungsi
5. **Kirimkan `fbc` dan `fbp`** - Sertakan Facebook Click ID dan Browser ID untuk atribusi konversi maksimal
6. **Verifikasi bisnis Anda** - Selesaikan Business Verification untuk akses API penuh dan batas rate lebih tinggi
7. **Gunakan `test_event_code`** - Uji event Conversions API di Events Manager sebelum tayang

## Keamanan

- **Token System User** - Token autentikasi non-personal yang ber-scope bisnis
- **Hashing SHA-256** - Seluruh PII di-hash sebelum dikirim ke server Meta
- **App Secret Proof** - Lapisan keamanan autentikasi tambahan yang bersifat opsional
- **Scoping bisnis** - Izin dibatasi pada akun iklan dan halaman tertentu
- **Kepatuhan Meta** - Tunduk pada Meta Platform Terms dan kebijakan periklanan
- **Data Processing Terms** - Data Processing Terms milik Meta berlaku untuk data EU

## Sumber daya terkait

- [Konektor Google Ads](https://tajo.io/in/docs/connectors/marketing/google-ads)
- [Konektor Klaviyo](https://tajo.io/in/docs/connectors/marketing/klaviyo)
- [Konektor Brevo](https://tajo.io/in/docs/connectors/marketing/brevo)
- [Skill Sinkronisasi Pelanggan](https://tajo.io/in/docs/skills/data-sync/customer-sync)
