Custom Rules(規則引擎)完全指南
Autopilot 裡的規則化執行能力:用 IF…THEN… 自定義條件 + 動作,讓規則按排程自動執行——從建立到啟用到查看結果,一篇講透。
規則引擎在 Autopilot 裡是什麼
先把位置擺正:Custom Rules(規則引擎)是 Autopilot 裡的一個能力,不是獨立產品,也不等於 Autopilot 本身。
Autopilot 的預設模式是 AI 巡檢——主動診斷帳戶、給出有依據的最佳化建議、你確認後執行。規則引擎是在這之上補的一層確定性執行:把你已經想清楚、邏輯明確的重複操作(止損、放量、預警)寫成固定規則,按排程自動跑,不必每次都等 AI 巡檢。
可以把它理解成 Autopilot 走向「更自動」過程中的一個過渡能力——AI 巡檢負責「發現你沒想到的」,規則引擎負責「自動執行你已經定好的」。兩者配合,不是二選一,也不是誰取代誰:
| 維度 | AI 巡檢(Autopilot 預設模式) | Custom Rules(Autopilot 的規則化執行層) |
|---|---|---|
| 觸發方式 | 你主動發起,或系統定時巡檢推送 | 按你設好的 cron 排程自動跑(每小時 / 每天 / 每週) |
| 決策者 | AI 分析後給建議,你逐條確認才執行 | 你事先定好 IF…THEN…,命中就自動執行 |
| 是否需要人工確認 | ✅ 每條都要 | ❌ 啟用後全自動(除觸發範圍保護時才通知) |
| 適合場景 | 不確定該怎麼調、想看 AI 診斷再決策 | 邏輯明確的重複操作:止損、放量、通知預警 |
| 覆蓋廣度 | AI 全面掃描,可能發現你沒想到的問題 | 只管你定義的條件,精準但不會「主動發現」新問題 |
能不能同時開? 能——它們是 Autopilot 裡的兩個部分,可以同時覆蓋同一組廣告,互不干擾。
同一廣告被兩邊同時覆蓋時怎麼辦? 規則引擎按排程自動跑,到點就評估執行;AI 巡檢在你主動觸發時才評估。如果規則引擎已經把某個 Ad Set 暫停了,AI 巡檢再跑時讀到的狀態就是 paused,不會對已暫停的對象再出「暫停建議」。兩者之間不存在優先級衝突——先跑到的先生效,後跑的基於最新狀態做判斷。
安全機制
暫停 / 停用 / 刪除一條規則
| 操作 | 效果 | 怎麼做 |
|---|---|---|
| 暫停(Pause) | 規則保留、下次排程不跑 | 在 Autopilot 詳情頁點暫停,或對話中說「暫停規則 XX」 |
| 恢復(Resume) | 重新計算 next_run_at,下個整點生效 | 同上,點恢復 |
| 刪除(Delete) | 軟刪除,不再顯示、不再觸發 | 對話中說「刪除規則 XX」或頁面操作 |

↑ Autopilot 詳情頁的規則列表,每條顯示狀態 badge(Active / Paused / Error),右側可暫停、恢復、刪除
會不會尊重「學習期保護」和「預算上限」?
- 學習期保護:規則引擎 V1 本身不內建平台學習期偵測邏輯。如果你不想在學習期內動廣告,建議在條件裡加入建立時間 > N 天的視窗(如
since_creation搭配天數門檻),或搭配 AI 巡檢的學習期保護使用。 - 預算上限(cap):
adjust_budget操作支援cap參數——設好之後,無論規則跑幾輪,預算都不會超過你定的上限。系統建立時會建議你加 cap,但不強制。
誤觸發能不能回滾?
暫不支援一鍵回滾。如果規則已經把某個 Ad 暫停了,你需要手動恢復(或新建一條反向規則)。最佳實務:新規則先用 notify only(只通知)跑幾天觀察,確認命中邏輯無誤後再改為自動執行。
「先只通知,觀察後再轉自動執行」的過渡用法
完全支援。建立時 action 選 notify(通知),命中結果會記在執行日誌裡,你在巡檢報告查看。觀察一段時間確認無誤後,再編輯規則把 action 改為 pause 或 adjust_budget——不需要刪了重建。
操作 × 平台 × 層級矩陣
完整支援表
| 操作 | Meta | TikTok(Auction / Smart+) | TikTok GMV Max | Google Ads |
|---|---|---|---|---|
| pause | Campaign ✅ · Ad Set ✅ · Ad ✅ | Campaign ✅ · Ad Group ✅ · Ad ✅ | Campaign ✅ | Campaign ✅ · Ad Group ✅ · Ad ❌(暫不支援) |
| resume | Campaign ✅ · Ad Set ✅ · Ad ✅ | Campaign ✅ · Ad Group ✅ · Ad ✅ | Campaign ✅ | Campaign ✅ · Ad Group ✅ · Ad ❌(暫不支援) |
| adjust_budget | Campaign ✅ · Ad Set ✅ | Campaign ✅ · Ad Group ✅ | Campaign ✅ | Campaign ✅ · Ad Group ❌(Google 無廣告組預算) |
| adjust_bid_target | Campaign ❌ · Ad Set ✅ | Campaign ✅ · Ad Group ✅ | Campaign ✅(需 VO_MIN_ROAS) | Campaign ✅ · Ad Group ✅ |
| notify | 全層級 ✅ | 全層級 ✅ | 全層級 ✅ | 全層級 ✅ |
| boost(加熱) | — | — | Creative 層 ✅ | — |
| exclude(排除) | — | — | Creative 層 ✅(不可逆) | — |
CBO / ABO 下 adjust_budget 落在哪一層?
- Meta CBO 開啟:預算在 Campaign 層。此時對 Ad Set 調預算無效(執行時會自動跳過)。
- Meta ABO(非 CBO):預算在 Ad Set 層。對 Campaign 調預算無效。
- 最佳做法:如果你的帳戶 CBO / ABO 混合,建議在同一條規則裡同時設 Campaign 和 Ad Set 兩個 item——系統執行時會自動判斷哪層有效、跳過不適用的那層。你不需要先確認「我的 Campaign 是 CBO 還是 ABO」。
Google Ads 到底支援哪些操作?
Google Ads 完整支援 pause / resume / adjust_budget(Campaign 層)/ adjust_bid_target(Campaign 和 Ad Group 層)/ notify。不支援 Ad 層的 pause/resume(暫不支援)。Google 沒有廣告組預算概念,所以 adjust_budget 只作用在 Campaign。
條件能力全集
下面這些指標、時間窗口、運算符,最終會在介面上組合成一條規則的條件,像這樣:

↑ 一條規則在介面上長這樣——指標(spend / conversions_registration)+ 運算符 + 時間窗口(yesterday)+ 動作(notify)組合成條件
可用指標
以下為常用指標(非封閉白名單,系統持續擴充):
| 指標 unified_key | 說明 | 備註 |
|---|---|---|
spend | 花費 | |
impressions | 曝光量 | |
reach | 覆蓋人數 | Google 僅 Reach/Video Campaign |
frequency | 頻次 | Google 僅 Reach/Video Campaign |
cpm | 千次曝光成本 | |
clicks | 點擊量 | |
ctr | 點擊率 | 存為小數(1% = 0.01) |
cpc | 單次點擊成本 | |
conversions | 轉換數(泛口徑) | 建議落到具體事件 |
cost_per_conversion | 轉換成本 | 同上 |
cost_per_result | 單次成效費用(基於優化目標) | |
results | 成效數(基於優化目標) | |
roas | 廣告回報率 | TikTok 需確認轉換來源 |
conversion_value | 轉換價值 | TikTok 需確認轉換來源 |
CVR | 轉換率 | 系統計算,非原生欄位 |
adset_budget | Ad Set 當前預算 | Google 不適用 |
campaign_budget | Campaign 當前預算 | |
status | 投放狀態 |
轉換相關指標建議落到具體事件,例如:cost_per_install(安裝成本)、cost_per_purchase(購買成本)、cost_per_add_to_cart(加購成本)。系統會在你說「CPA」時追問「是哪個事件的成本?」幫你精確到位。
時間窗口
| 窗口 | 含義 |
|---|---|
today | 當天累計(以帳戶時區為準) |
yesterday | 昨天整天 |
last_7d / last_14d / last_30d | 近 N 天(不含當天) |
since_creation | 從廣告建立至今,最長 30 天截斷 |
[3, 7](自定義區間) | 過去第 3 天到第 7 天 |
運算符
| 運算符 | 用途 |
|---|---|
> < >= <= = | 基本比較 |
between | 區間判斷(如花費在 $50–$200 之間) |
change_pct | 與前期相比的漲跌百分比 |
條件組合(AND / OR)
- AND(全部滿足才命中):多條件用
all邏輯包裹。 - OR(任一滿足就命中):多條件用
any邏輯包裹。 - 支援嵌套組合:例如「(spend > $50 AND CPA > $15) OR (spend > $100 AND conversions = 0)」。
連續天數 / 連續小時
consecutive_days: N(N ≤ 30):過去 N 天每天各自都滿足才命中。consecutive_hours: N(N ≤ 24):過去 N 小時每小時各自都滿足才命中。
與 last_Nd 的區別:last_7d 看 7 天加總值是否超標;consecutive_days: 7 看這 7 天裡每一天是否都超標——後者更嚴格,適合「持續表現差才動手」的場景。
排程
支援的頻率
| 頻率 | 示例 | 說明 |
|---|---|---|
| 每小時 | 每個整點跑一次 | 最小粒度 |
| 每 N 小時 | 每 2 / 3 / 4 小時跑一次 | |
| 每天固定整點 | 每天 09:00 | 最常用 |
| 每天多個整點 | 每天 09:00 到 18:00 每小時跑 | 適合白天密集監控 |
| 每週固定時間 | 每週一 09:00 | 適合週報型通知規則 |
最小粒度為 1 小時,僅支援整點觸發。如果你說「每 30 分鐘」,系統會告知最小是 1 小時並幫你調整。
一次性排程(只跑一次):暫不支援原生一次性模式。替代方案:建立後讓它跑一次,再手動暫停。
時區如何確定
排程的 timezone 在你建立規則時指定。系統會預設你帳戶的時區,你可以覆蓋。例如你的帳戶時區是 America/Los_Angeles,設「每天 09:00」就是太平洋時間早上 9 點。
yesterday / today 按什麼口徑計算
所有時間窗以帳戶時區為基準。yesterday = 帳戶時區的昨天 00:00–23:59。today = 帳戶時區的今天 00:00 到查詢時刻。系統自動處理時區轉換,你不需要手動換算。
作用範圍(Scope)
規則可以精確定義作用的對象範圍:
| 維度 | 能力 |
|---|---|
| 帳戶範圍 | 可指定特定帳戶 ID(如 act_1615xxx);未指定則預設覆蓋你在該平台授權的所有帳戶 |
| 層級 | 由 apply_to 決定:campaign / ad_set(ad_group)/ ad |
| 狀態篩選 | 預設只作用 ACTIVE 狀態的實體;action 為 resume 時預設篩 PAUSED |
| 其他篩選 | 支援按 objective(廣告目標)、名稱包含/不包含、ID 列表等條件縮窄範圍 |
你不需要讓規則作用於「全部」——可以精確到「帳戶 A 下、objective 包含 sales、名稱包含 'US-' 的 Ad Set」。
多規則衝突處理
建立時:衝突檢測
當你建新規則時,系統會自動比對同平台已有規則:
- 操作矛盾(一條要暫停、另一條要加預算,且作用範圍重疊)→ 系統提示你確認:是有意分工,還是需要加互斥條件。
- 規則重複/可合併(兩條規則條件高度相似、同方向操作)→ 建議合併成一條,避免效果疊加(如兩條各降 20% → 實際約 −36%)。
這些都是建議性提示、不阻止啟用。你可以忽略繼續建。
運行時:同一輪命中衝突
如果同一個廣告在同一次執行周期被兩條規則同時命中、且操作方向互斥(一個要停、一個要加預算):
- 衝突操作都不執行。
- 衝突資訊記錄在巡檢報告的異常區。
- 你需要調整規則邏輯消除衝突。
目前沒有優先級或權重機制——衝突即保守不動,不會誤操作。建議不同規則用 scope_filter 做好範圍隔離(例如一條管「ROAS > 2 的好廣告」,一條管「CPA > $30 的差廣告」,自然互斥)。
建立流程:完整走一遍
用一個真實例子示範完整流程。
你的需求:「Meta 帳戶裡,花了 $50 以上但 CPA 高於 $15 的 Ad Set,每天自動降預算 20%,日預算最低不低於 $30。每天早上 10 點跑。」
Step 1:自然語言描述
你直接對 GrowthGPT 說上面那句話。中文、英文都行。不需要寫程式碼、不需要知道欄位名。
Step 2:意圖解析
系統自動提取 7 個維度:
| 維度 | 解析結果 |
|---|---|
| channel | Meta |
| apply_to | ad_set |
| scope_filter | status = ACTIVE(預設) |
| conditions | spend > $50 (yesterday) AND cost_per_result > $15 (yesterday) |
| actions | adjust_budget −20%, floor = $30 |
| schedule | daily 10:00(帳戶時區) |
| name | 高CPA降預算(系統自動生成) |
如果有歧義,系統會追問一次。例如你說「CPA」,系統會問:「是指哪個事件的成本?安裝 / 購買 / 加購?還是就按優化目標的成效費用?」
Step 3:可行性檢查
系統自動校驗:
- Meta Ad Set 層支援 adjust_budget?→ ✅
- cost_per_result 在 Meta 可用?→ ✅
- 調幅 −20% 是否超過建議值 ±50%?→ 沒超過 ✅
- 純比率規則缺少基數門檻?→ 已有 spend > $50,✅ 不需要額外提醒
Step 4:Rule Card 草案
系統輸出規則卡片文字版:
規則名稱:高CPA降預算 平台:Meta 排程:每天 10:00 作用範圍:所有帳戶 · Ad Set · status = ACTIVE 條件:spend > $50 yesterday AND cost_per_result > $15 yesterday 動作:降低日預算 20%,下限 $30
⚠️ 建議:持續降預算的規則,當預算觸底 $30 後不再繼續調整。
此時系統停下來等你確認草案——確認條件、動作、範圍都沒問題後才繼續。

↑ 對話視窗中 GrowthGPT 輸出的 Rule Card:規則名、平台、排程、條件、動作的完整摘要,底部附保護提示
Step 5:Dry Run
你確認草案後,系統跑一次模擬(不動平台)——把你帳戶真實資料帶入條件,看今天會命中幾個 Ad Set、它們佔總花費多少比例。
可能的結果:
正常情況:「命中 3 個 Ad Set,佔昨日花費 18%,均符合 spend > $50 且 cost_per_result > $15。」→ 進入確認卡。
Dry Run incomplete:部分帳戶資料未回傳(常見原因:帳戶剛授權、昨天沒投放、平台 API 延遲)。這時系統會標註 Dry Run incomplete,不顯示命中數。你可以選擇:
- 仍然啟用——資料缺失的帳戶在正式執行時如果還是抓不到資料,會自動跳過(熔斷機制),不會誤操作。
- 等一天再試——隔天資料正常後重新 Dry Run。

↑ Dry Run 回饋:命中的 Ad Set 數量與昨日花費佔比;資料不完整時會標註 incomplete
Step 6:確認啟用
系統彈出確認卡,展示最終規則摘要(規則名 + 排程 + 作用範圍 + 條件→動作)。
- 點 Active → 規則正式建立、立即生效,等待下一個排程時間觸發。
- 點 Cancel → 不建立,回到對話繼續修改。

↑ 確認卡:頂部規則名與平台 badge,中間條件→動作摘要,點 Active 才真正啟用
啟用之後:在哪看結果
| 查看方式 | 內容 | 在哪找 |
|---|---|---|
| 巡檢報告(Run Inspection) | 每次執行的完整報告:掃描了幾個實體、命中幾個、執行了什麼、跳過了什麼、有沒有異常 | Autopilot 詳情頁,點對應規則的執行記錄 |
| 執行日誌(Action Logs) | 每一筆具體動作的記錄:哪個 Ad Set 被調了、調整前後值、時間戳 | 巡檢報告內的明細展開 |
| 通知型規則(notify) | 命中結果記錄在 Action Logs,你在巡檢報告中查看「本次命中了哪些廣告」 | 同上 |
在對話中你也可以直接問:「規則『高CPA降預算』今天命中了哪些廣告?」GrowthGPT 會幫你調出執行日誌。
adjust_budget / adjust_bid_target 的調整幅度規則
adjust_budget
| 項目 | 規則 |
|---|---|
| 調整方式 | 百分比(如 +30%、−20%),基於當前預算計算 |
| 單次調幅建議上限 | ±50%。超過時系統提示建議分多次階梯調整(不強制阻止) |
| cap(上限)/ floor(下限) | 可選設定。cap 防止無限增長;floor 防止降到不可用 |
| 平台最低預算限制 | Meta ≥ $1/天;TikTok Ad Group ≥ $20/天;調整後低於最低線則該筆不執行 |
| 預算上限約束 | ✅ 設了 cap = $500,即使規則每天加 30% 也不會超過 $500 |
adjust_bid_target
| 項目 | 規則 |
|---|---|
| 調整方式 | 百分比(如 +10%、−15%),基於當前 Target CPA 或 Target ROAS 計算 |
| 單次調幅建議上限 | ±30%。超過時系統警告(不強制) |
| 適用前提 | 只調目標數值(Target CPA 金額 / Target ROAS 倍數),不改出價策略類型 |
| cap / floor | 支援設定上限和下限,防止出價目標偏離合理範圍 |
| 策略匹配 | 系統執行前會檢查當前出價策略是否匹配——例如你設了調 Target CPA 但該 Ad Set 用的是 Lowest Cost(沒有目標值)→ 自動跳過、不報錯 |
FAQ
Q:Custom Rules 跟 Meta / TikTok / Google 平台內建的自動化規則有什麼不同?
| 維度 | 平台內建規則 | GrowthGPT Custom Rules |
|---|---|---|
| 跨平台 | 每個平台各自的介面和語法 | 一套邏輯覆蓋 Meta + TikTok + Google,統一管理 |
| 建立方式 | 到平台後台手動選欄位、拼條件 | 自然語言描述,AI 幫你翻譯成結構化規則 |
| 指標口徑 | 各平台各自的指標名 | 統一指標語義(如 cost_per_result),系統自動映射到各平台原生欄位 |
| 衝突管理 | 各平台不管你規則互相矛盾 | 建立時自動檢測衝突 + 運行時衝突保護 |
| Dry Run | 大多平台沒有預覽 | 有。啟用前模擬看命中範圍和影響面 |
| 執行日誌 | 各平台各自的日誌格式 | 統一巡檢報告,跨平台一站式查看 |
| 搭配 AI | 與平台規則完全獨立 | 可與 Autopilot AI 巡檢模式並行互補 |
| GMV Max 覆蓋 | TikTok 平台自動化規則覆蓋有限 | 支援 Campaign 暫停/調預算/調出價 + 創意層 boost/exclude |
簡言之:如果你只投單一平台、規則簡單——平台內建規則夠用。如果你同時跑多平台、想用自然語言快速建規則、想要 Dry Run 和衝突保護——Custom Rules 是更合適的選擇。
Q:跟第三方 SaaS(如 Revealbot、Madgicx、Smartly)比呢?
| 維度 | 第三方 SaaS | GrowthGPT Custom Rules |
|---|---|---|
| 建立方式 | GUI 表單,仍需手動選欄位 | 自然語言 → AI 結構化,門檻更低 |
| 與投放整合 | 獨立工具,需另外登入 | 內建在投放 + 分析 + 優化的同一對話介面 |
| AI 診斷 | 純規則引擎 | 規則引擎 + AI 巡檢雙模式互補 |
| 定價 | 額外訂閱費($50–$500/月) | 包含在 GrowthGPT 方案內 |
Q:功能邊界——哪些事 Custom Rules 做不到?
| 暫不支援 | 替代方案 |
|---|---|
| 修改出價策略類型(如從 Cost Cap 切到 Lowest Cost) | 手動在平台操作 |
| 修改素材內容(Creative) | 使用 GrowthGPT 創意工具或手動 |
| 修改受眾定向(Targeting) | 手動在平台操作 |
| 一鍵回滾上一次操作 | 新建反向規則或手動恢復 |
| Google Ad 層 pause/resume | 暫不支援,只能到 Ad Group 層 |
| 基於 Attribution Window 切換的條件 | 暫不支援 |
| 規則之間設定優先級/權重 | 暫不支援,用 scope_filter 隔離範圍 |
| 一次性排程(只跑一次就停) | 跑完後手動暫停 |
Q:單個平台最多能建幾條規則?
每個平台最多 10 條。如果到上限,建議合併相似規則——一條規則可包含多組「條件→動作」映射,不需要一個邏輯一條規則。
Q:單條規則最多幾個動作?
3 個執行動作。超過時系統建議拆成多條規則。
Q:連續失敗會怎樣?
同一條規則連續 3 次執行出錯 → 自動暫停,狀態變為 Error,系統通知你。排查問題後可手動恢復。
Q:如果抓不到資料(昨天沒花費、帳戶新授權等)會誤操作嗎?
不會。熔斷機制——抓取資料為空(尤其花費為空)時,規則本輪全部跳過、不執行任何操作,在巡檢報告裡記錄為「資料缺失,已跳過」。
Q:比率指標(如 CPA)在沒有轉換時怎麼算?
- 花了錢但轉換 = 0 → CPA = +∞(無限大),會命中「CPA > XX」的條件。這是合理行為:花錢零結果 → 該止損。
- 沒花錢也沒轉換(0/0)→ 跳過該實體,不命中、不動作。
- 建議對純比率規則加一條基數門檻(如
spend > $30),避免剛花一點就被判「CPA 極高」而誤殺。系統建立時會主動提醒你加。