Meta Ads Connector

เชื่อมต่อ Meta Ads (Facebook & Instagram) กับ Brevo ผ่าน Tajo เพื่อซิงค์ Custom Audiences นำเข้าเหตุการณ์ conversion ผ่าน Conversions API และเชื่อม paid social advertising กับ lifecycle marketing automation

ภาพรวม

คุณสมบัติค่า
แพลตฟอร์มMeta Ads (Facebook, Instagram, Messenger, WhatsApp)
หมวดหมู่การตลาด
ความซับซ้อนในการตั้งค่าสูง
การผสานรวมอย่างเป็นทางการไม่
ข้อมูลที่ซิงค์Audiences Conversions แคมเปญ Leads
Skills ที่มี8
เวอร์ชัน APIv25.0 (Graph API)

ฟีเจอร์

  • การซิงค์ Custom Audience - อัปโหลดรายชื่อผู้ติดต่อ Brevo เป็น Meta Custom Audiences
  • Conversions API (CAPI) - ส่งเหตุการณ์ conversion ฝั่ง server สำหรับการระบุแหล่งที่มาที่แม่นยำ
  • การซิงค์ Lead form - นำเข้า Facebook Lead Ads submissions โดยตรงไปยัง Brevo contacts
  • Campaign insights - ดึง metrics ประสิทธิภาพโฆษณาไปยัง Tajo dashboards
  • Lookalike audiences - สร้าง Lookalike Audiences จาก Brevo segments ที่ซิงค์
  • การซิงค์แคตาล็อก - ซิงค์แคตาล็อกสินค้าสำหรับ dynamic product ads
  • หลายแพลตฟอร์ม - การผสานรวมเดียวครอบคลุมโฆษณา Facebook, Instagram, Messenger และ WhatsApp

ข้อกำหนดเบื้องต้น

ก่อนเริ่มต้น ตรวจสอบให้แน่ใจว่าคุณมี:

  1. บัญชี Meta Business Manager
  2. Facebook App ที่มีการเข้าถึง Marketing API
  3. System User ที่มีสิทธิ์ที่เหมาะสม
  4. Access Token พร้อมสิทธิ์ ads_management และ ads_read
  5. บัญชี Brevo ที่มีสิทธิ์เข้าถึง API
  6. บัญชี Tajo ที่มี API credentials

การยืนยันตัวตน

System User Access Token

Meta แนะนำให้ใช้ System User tokens สำหรับการผสานรวม server-to-server tokens เหล่านี้ไม่หมดอายุ

Terminal window
# Required permissions for System User
ads_management
ads_read
business_management
leads_retrieval
pages_read_engagement
catalog_management

การยืนยันตัวตนระดับ App

Terminal window
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"

การกำหนดค่า

การตั้งค่าพื้นฐาน

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

ซิงค์รายการ Brevo ไปยัง Meta Custom Audiences:

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

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

เมธอดEndpointคำอธิบาย
POST/v25.0/act_{id}/customaudiencesสร้าง Custom Audience
POST/v25.0/{audience_id}/usersเพิ่มผู้ใช้ใน Custom Audience
DELETE/v25.0/{audience_id}/usersลบผู้ใช้ออกจาก Custom Audience
POST/v25.0/{pixel_id}/eventsส่งเหตุการณ์ Conversions API
GET/v25.0/act_{id}/campaignsแสดงรายการแคมเปญ
GET/v25.0/act_{id}/insightsดึง campaign insights
GET/v25.0/{form_id}/leadsดึงข้อมูลจาก lead form
POST/v25.0/act_{id}/adcreativesสร้าง ad creatives
GET/v25.0/{catalog_id}/productsแสดงรายการสินค้าในแคตาล็อก

ตัวอย่างโค้ด

เริ่มต้น Meta Ads Connector

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

// 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('[email protected]')],
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
})
}
);

ซิงค์ Custom Audience จากรายการ Brevo

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

ดึง Campaign Insights

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

ขีดจำกัดอัตรา

ทรัพยากรขีดจำกัดรายละเอียด
Marketing APIตามระดับขึ้นอยู่กับระดับการเข้าถึง app และค่าใช้จ่าย
Custom Audience uploads700 คำขอ/ชั่วโมงต่อ ad account
Conversions API2,000 เหตุการณ์/วินาทีต่อ pixel
Insights API200 calls/ชั่วโมงต่อ ad account
Lead retrieval200 calls/ชั่วโมงต่อ page
Batch requests50 คำขอ/batchต่อ batch call

ต้องมีการยืนยัน Business

การเข้าถึง Marketing API แบบเต็มรูปแบบต้องการการยืนยัน business ใน Meta Business Manager Apps ที่ไม่ได้รับการยืนยันถูกจำกัดให้อยู่ใน development mode พร้อม rate limits ที่จำกัด

การแก้ไขปัญหา

ปัญหาสาเหตุวิธีแก้
OAuthExceptionToken หมดอายุหรือไม่ถูกต้องสร้าง System User access token ใหม่
Custom Audience match rate ต่ำคุณภาพข้อมูลไม่ดีHash PII ทั้งหมดด้วย SHA-256 รวม match keys หลายตัว
Conversions ไม่ถูกระบุแหล่งที่มาพารามิเตอร์ fbc/fbp หายไปส่ง Facebook Click ID และ Browser ID จาก cookies
RATE_LIMIT_REACHEDการเรียก API มากเกินไปใช้ exponential backoff ตรวจสอบระดับการเข้าถึง API
Lead forms ไม่ซิงค์ไม่มีสิทธิ์ leads_retrievalเพิ่มสิทธิ์ให้ System User
เหตุการณ์ในโหมดทดสอบยังตั้งค่า test_event_code อยู่ลบ test event code สำหรับ production

แนวทางปฏิบัติที่ดีที่สุด

  1. ใช้ System User tokens - System Users ให้ tokens ที่เสถียรและไม่หมดอายุสำหรับการผสานรวม server
  2. Hash PII ทั้งหมด - Hash SHA-256 ข้อมูลส่วนบุคคลทั้งหมดก่อนส่งไปยัง Meta
  3. ส่งทั้ง CAPI และ Pixel - ใช้ทั้ง Conversions API และ Meta Pixel สำหรับการติดตามซ้ำซ้อนพร้อม deduplication
  4. รวม event IDs - ตั้งค่า event_id ทั้งบน CAPI และ Pixel events เพื่อเปิดใช้งาน deduplication
  5. ส่ง fbc และ fbp - รวม Facebook Click ID และ Browser ID เพื่อการระบุแหล่งที่มาของ conversion สูงสุด
  6. ยืนยัน business ของคุณ - ทำการยืนยัน Business ให้สมบูรณ์เพื่อการเข้าถึง API แบบเต็มและ rate limits สูงกว่า
  7. ใช้ test_event_code - ทดสอบเหตุการณ์ Conversions API ใน Events Manager ก่อนเผยแพร่

ความปลอดภัย

  • System User tokens - tokens การยืนยันตัวตนระดับ business ที่ไม่ใช่บุคคล
  • SHA-256 hashing - PII ทั้งหมด hash ก่อนส่งไปยัง Meta servers
  • App Secret Proof - ชั้นความปลอดภัยการยืนยันตัวตนเพิ่มเติมแบบเสริม
  • Business scoping - สิทธิ์กำหนดขอบเขตตาม ad accounts และ pages เฉพาะ
  • Meta compliance - อยู่ภายใต้ Meta Platform Terms และนโยบายโฆษณา
  • Data Processing Terms - Meta Data Processing Terms ใช้สำหรับข้อมูล EU

แหล่งข้อมูลที่เกี่ยวข้อง

Subscribe to updates

developer-docs

Drop your email or phone number — we'll send you what matters next.

auto-detect
ผู้ช่วย AI

สวัสดี! ถามฉันเกี่ยวกับเอกสารได้เลย