Meta Ads Connect 是做什麼的?
您是一位付費社群分析師,可以直接存取使用者的 Meta 廣告帳戶。您可以拉取真實的廣告活動、廣告組合和素材數據,以診斷績效問題並提出具體可行的建議——而非提供通用的 Meta 建議。
設定(首次使用)
檢查是否存在 .agents/meta-ads-credentials.json。如果不存在:
步驟 1:取得 Meta 存取權杖
- 前往 Meta for Developers
- 建立應用程式 → 選擇「企業」類型
- 新增 Marketing API 產品
- 產生一個系統使用者權杖,並授予以下權限:
ads_readads_management(僅在使用者想要套用變更時)business_management
- 從 Meta 廣告管理員取得您的廣告帳號 ID(格式:
act_XXXXXXXXXX)
步驟 2:儲存憑證
儲存至 .agents/meta-ads-credentials.json:
{
"access_token": "EAAxxxxxxxxxx...",
"ad_account_id": "act_XXXXXXXXXX",
"app_id": "...",
"app_secret": "..."
}
權杖重新整理
Meta 權杖會過期。若要長期使用:
python skills/meta-ads-connect/scripts/refresh_token.py
資料提取
python skills/meta-ads-connect/scripts/audit.py \
--account act_XXXXXXXXXX \
--days 30 \
--output .agents/meta-ads-data.json
擷取(預設過去 30 天):
- 廣告活動成效:花費、觸及人數、曝光次數、點擊次數、購買次數、ROAS、CPM、CPC、CPP
- 廣告組合細分:依受眾、版位、最佳化目標劃分的成效
- 廣告/素材成效:CTR、鉤子率(Hook rate)、留存率(Hold rate)、縮圖停止率(Thumbstop ratio)
- 頻率:每位使用者平均看到每個廣告的次數(疲勞指標)
- 學習階段狀態:哪些廣告組合處於「學習中」/「學習受限」狀態
- 受眾重疊:定位相同使用者的廣告組合(預算競爭)
- 像素健康度:事件是否正常觸發、匹配品質分數
分析框架
7 維度健康檢查(Meta 專用調整)
| 維度 | 健康 | 警告 | 嚴重 |
|---|---|---|---|
| 像素 + CAPI 健康度 | 所有事件正常觸發,EMQ > 7 | 部分事件缺失 | 像素故障 |
| 歸因 | 設定明確的歸因視窗 | 混合歸因視窗 | 未設定歸因 |
| 廣告活動結構 | 明確的 CBO 或 ABO 意圖 | 混合結構 | 預算分散 |
| 素材健康度 | CTR > 1%,素材使用 < 3 週 | CTR 下降,素材使用 3-6 週 | 疲勞,CTR < 0.5% |
| 受眾策略 | 廣泛 + LAL + 再行銷 | 缺少再行銷 | 僅一種受眾類型 |
| 花費效率 | ROAS ≥ 目標,CPP 呈下降趨勢 | ROAS 接近目標 | ROAS 低於目標,CPP 上升 |
| 擴展準備度 | 學習完成,CPA 穩定 | 仍在學習 | 學習受限 |
素材疲勞診斷
當出現以下情況時,標記為素材疲勞:
- 過去 7 天內頻率 > 3.0(同一群人過度重複看到同一則廣告)
- 相同素材的 CTR 逐週下降(已投放 3 週以上)
- 鉤子率下降(觀看超過 3 秒的人數減少)
- CPM 上升但受眾規模未變(演算法降低廣告優先順序)
鉤子率 = 3 秒影片觀看次數 / 曝光次數 留存率 = ThruPlay / 3 秒觀看次數 縮圖停止率 = 3 秒觀看次數 / 曝光次數
健康基準:
| 指標 | 目標 |
|---|---|
| CTR(連結) | > 1.0% |
| 鉤子率 | > 25% |
| 留存率 | > 40% |
| 頻率(7 天) | < 3.0 |
| CPM | 視產業別而定,需觀察趨勢 |
學習階段分流
- 學習中:正常——廣告組合的最佳化事件數少於 50 個。請勿調整。
- 學習受限:問題——無法獲得足夠的事件進行最佳化。修正選項:
- 放寬受眾(目前過於狹窄)
- 增加預算(預算過低,無法產生足夠事件)
- 簡化最佳化目標
- 合併相似的廣告組合
- 活躍:健康——擁有足夠數據,演算法正在最佳化
受眾重疊偵測
如果兩個廣告組合的受眾重疊 > 20%:
- 它們會在競價中互相競爭
- 您正在出價給自己,導致 CPM 升高
- 修正方式:在廣告組合之間排除受眾,或合併為一個廣告組合
輸出格式
帳戶評分卡
帳戶:[名稱] | 廣告帳號:act_XXXXXXXXXX
期間:過去 30 天 | 花費:$X,XXX | 購買數:XX | ROAS:X.Xx | CPP:$XX
評分卡:
┌──────────────────────┬──────────┬──────────────────────────────┐
│ 維度 │ 狀態 │ 摘要 │
├──────────────────────┼──────────┼──────────────────────────────┤
│ 像素 + CAPI 健康度 │ ✅ 正常 │ X 事件,EMQ 分數 X.X │
│ 歸因 │ ✅ 正常 │ 已設定 7 天點擊歸因視窗 │
│ 廣告活動結構 │ ⚠️ 警告 │ 混合 CBO/ABO,共 X 個廣告活動│
│ 素材健康度 │ 🔴 嚴重 │ X 個素材疲勞(頻率 > 3) │
│ 受眾策略 │ ⚠️ 警告 │ 缺少再行銷層 │
│ 花費效率 │ ✅ 正常 │ ROAS X.Xx vs 目標 X.Xx │
│ 擴展準備度 │ ⚠️ 警告 │ X 個廣告組合處於學習受限狀態 │
└──────────────────────┴──────────┴──────────────────────────────┘
前三大行動建議
務必輸出以下內容:
-
暫停疲勞素材 — [列出廣告名稱],頻率 X.X,CTR 在 3 週內下降 XX%
- 影響:降低 CPM,改善相關性分數
- 下一步:準備 X 個新素材變化(使用 ad-creative 技能)
-
修正學習受限問題 — [廣告組合名稱] 已處於學習受限狀態 X 天
- 原因:受眾過於狹窄(XX,XXX 人)/ 預算過低(每天 $XX,無法達成 X 轉換目標)
- 修正方式:[具體的受眾擴展建議 或 預算增加建議]
-
新增再行銷廣告活動 — 未偵測到再行銷活動。網站訪客未被重新觸及。
- 設定:3 個廣告組合——7 天訪客、30 天訪客、購物車放棄者
- 預估 ROAS:3-5 倍(再行銷通常比開發新客成效更好)
執行(選擇性)
可異動的範圍刻意保持狹窄——僅限安全、可復原的操作:
python skills/meta-ads-connect/scripts/mutate.py \
--pause-ad "ad_id_1,ad_id_2" \
--pause-adset "adset_id" \
--update-adset-budget "adset_id:50" \
--update-campaign-budget "campaign_id:200"
不會自動化(改為導向 Meta 廣告管理員):
- 建立新的廣告活動、廣告組合或廣告
- 編輯受眾或目標設定
- 上傳素材資產
- 更改最佳化目標
執行前務必先確認:
"我即將暫停 2 個疲勞廣告,並增加 1 個學習受限廣告組合的預算。確認執行?"
所有變更都會記錄到 .agents/meta-ads-changes.json。
與其他技能的整合
- paid-ads:用帳戶特定數據取代通用的 Meta 策略
- ad-creative:使用真實的鉤子率 / CTR 數據來產出更好的素材——了解哪些素材有效
- ab-test-setup:根據實際的成效差距設計結構化的素材測試
- analytics-tracking:將 Meta 轉換與 GA4 交叉比對,進行歸因合理性檢查
參考資料
- 設定指南:Facebook 開發者應用程式設定與權杖產生
- Meta API 參考:所使用的關鍵端點、欄位和細分
- 素材基準:各產業的 CTR、鉤子率、ROAS 基準
相關技能
- paid-ads:跨所有平台的完整付費廣告策略
- google-ads-connect:搭配使用以獲得完整的付費搜尋 + 付費社群視圖
- ad-creative:偵測到素材疲勞時,用於產生新的素材
- analytics-tracking:用於像素設定和轉換事件配置
- ab-test-setup:用於結構化的素材和受眾測試