---
title: "Meta Ads 连接器"
description: "完整的 Meta Ads 集成指南，通过 Tajo 将 Facebook 和 Instagram 广告受众群体、转化和营销活动数据与 Brevo 同步。"
url: https://tajo.io/zh-cn/docs/connectors/marketing/meta-ads/
markdown: https://tajo.io/zh-cn/docs/connectors/marketing/meta-ads.md
lang: zh-CN
robots: noindex
---

申请抢先体验

请输入您的名字和公司电子邮箱地址。我们会发送确认 Tajo 访问申请的链接。

# Meta Ads 连接器

连接器状态: 计划中 尚未构建。Tajo 目前不运行此连接器。

| 来源字段 | 目标字段 | 示例值 |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

通过 Tajo 将 Meta Ads（Facebook 和 Instagram）连接到 Brevo，同步自定义受众群体，通过 Conversions API 导入转化事件，并将付费社交广告与生命周期营销自动化相结合。

## 概览

| 属性 | 值 |
| --- | --- |
| **平台** | Meta Ads（Facebook、Instagram、Messenger、WhatsApp） |
| **类别** | 营销 |
| **设置复杂度** | 高级 |
| **官方集成** | 否 |
| **同步数据** | 受众群体、转化、营销活动、线索 |
| **可用技能** | 8 |
| **API 版本** | v25.0（Graph API） |

## 功能

- **自定义受众群体同步** - 将 Brevo 联系人列表上传为 Meta 自定义受众群体
- **Conversions API（CAPI）** - 发送服务器端转化事件以进行精确归因
- **潜在客户表单同步** - 将 Facebook Lead Ads 提交内容直接导入 Brevo 联系人
- **广告系列洞察** - 将广告绩效指标拉取到 Tajo 仪表板
- **相似受众群体** - 从已同步的 Brevo 细分创建相似受众群体
- **目录同步** - 同步产品目录用于动态产品广告
- **多平台** - 单一集成覆盖 Facebook、Instagram、Messenger 和 WhatsApp 广告

## 前提条件

开始之前，请确保您已具备：

1. Meta Business Manager 账户
2. 具有营销 API 访问权限的 Facebook 应用
3. 具有适当权限的系统用户
4. 具有 `ads_management` 和 `ads_read` 权限的访问令牌
5. 具有 API 访问权限的 Brevo 账户
6. 具有 API 凭据的 Tajo 账户

## 认证

### 系统用户访问令牌

Meta 建议对服务器到服务器集成使用系统用户令牌。这些令牌不会过期。

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

### 应用级认证

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

## 配置

### 基础设置

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

### 自定义受众群体配置

将 Brevo 列表同步到 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"
```

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

## API 端点

| 方法 | 端点 | 描述 |
| --- | --- | --- |
| `POST` | `/v25.0/act_{id}/customaudiences` | 创建自定义受众群体 |
| `POST` | `/v25.0/{audience_id}/users` | 向自定义受众群体添加用户 |
| `DELETE` | `/v25.0/{audience_id}/users` | 从自定义受众群体移除用户 |
| `POST` | `/v25.0/{pixel_id}/events` | 发送 Conversions API 事件 |
| `GET` | `/v25.0/act_{id}/campaigns` | 列出广告系列 |
| `GET` | `/v25.0/act_{id}/insights` | 获取广告系列洞察 |
| `GET` | `/v25.0/{form_id}/leads` | 检索潜在客户表单提交内容 |
| `POST` | `/v25.0/act_{id}/adcreatives` | 创建广告创意 |
| `GET` | `/v25.0/{catalog_id}/products` | 列出目录产品 |

## 代码示例

### 初始化 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'
});
```

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

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

### 拉取广告系列洞察

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

## 速率限制

| 资源 | 限制 | 详情 |
| --- | --- | --- |
| **营销 API** | 基于层级 | 根据应用访问级别和消费额 |
| **自定义受众群体上传** | 700 请求/小时 | 每个广告账户 |
| **Conversions API** | 2,000 事件/秒 | 每个像素 |
| **洞察 API** | 200 次调用/小时 | 每个广告账户 |
| **潜在客户检索** | 200 次调用/小时 | 每个主页 |
| **批量请求** | 每批 50 个请求 | 每次批量调用 |

需要企业验证

完整的营销 API 访问权限需要在 Meta Business Manager 中进行企业验证。未验证的应用限于开发模式，速率限制较低。

## 故障排除

| 问题 | 原因 | 解决方案 |
| --- | --- | --- |
| `OAuthException` | 令牌已过期或无效 | 重新生成系统用户访问令牌 |
| 自定义受众群体匹配率低 | 数据质量差 | 使用 SHA-256 哈希所有个人身份信息，包含多个匹配键 |
| 转化未归因 | 缺少 `fbc`/`fbp` 参数 | 从 Cookie 传递 Facebook 点击 ID 和浏览器 ID |
| `RATE_LIMIT_REACHED` | API 调用过多 | 实施指数退避，检查 API 访问层级 |
| 潜在客户表单未同步 | 缺少 `leads_retrieval` 权限 | 向系统用户添加权限 |
| 事件处于测试模式 | 仍设置了 `test_event_code` | 生产环境移除测试事件代码 |

## 最佳实践

1. **使用系统用户令牌** - 系统用户为服务器集成提供稳定的、不过期的令牌
2. **哈希所有个人身份信息** - 发送到 Meta 之前对所有个人身份信息进行 SHA-256 哈希
3. **同时发送 CAPI 和 Pixel** - 同时使用 Conversions API 和 Meta Pixel 进行冗余跟踪（含去重）
4. **包含事件 ID** - 在 CAPI 和 Pixel 事件上设置 `event_id` 以启用去重
5. **传递 `fbc` 和 `fbp`** - 包含 Facebook 点击 ID 和浏览器 ID，最大化转化归因
6. **验证您的企业** - 完成企业验证以获得完整 API 访问权限和更高速率限制
7. **使用 `test_event_code`** - 在 Events Manager 中测试 Conversions API 事件后再上线

## 安全

- **系统用户令牌** - 非个人、企业范围的认证令牌
- **SHA-256 哈希** - 传输到 Meta 服务器前对所有个人身份信息进行哈希
- **App Secret Proof** - 可选的额外认证安全层
- **企业范围** - 权限限定在特定广告账户和主页范围内
- **Meta 合规** - 遵守 Meta 平台条款和广告政策
- **数据处理条款** - 欧盟数据适用 Meta 数据处理条款

## 相关资源

- [Google Ads 连接器](https://tajo.io/zh-cn/docs/connectors/marketing/google-ads)
- [Klaviyo 连接器](https://tajo.io/zh-cn/docs/connectors/marketing/klaviyo)
- [Brevo 连接器](https://tajo.io/zh-cn/docs/connectors/marketing/brevo)
- [客户同步技能](https://tajo.io/zh-cn/docs/skills/data-sync/customer-sync)
