排程型規則

依照所設定的時間間隔檢查廣告,以監控廣告的狀態,查看廣告是否符合 evaluation_spec 條件。使用排程型規則時,另外還需要 schedule_spec

curl \
-F 'name=Rule 1' \
-F 'evaluation_spec={
    ...
   }' \
-F 'execution_spec={
    ...
   }' \
-F 'schedule_spec={
     "schedule_type": "DAILY"
   }' \

-F "access_token=<ACCESS_TOKEN>" \
https://graph.facebook.com/<VERSION>/<AD_ACCOUNT_ID>/adrules_library

排程規格

規則的 schedule_spec 可決定您希望規則執行的頻率。我們在 schedule_type 欄位中指示此時間間隔。

排程類型 說明

DAILY

在廣告帳號所在時區的午夜執行規則。

HOURLY

在每小時開始時執行規則。

SEMI_HOURLY

在每半小時開始時執行規則。

CUSTOM範例

依自訂排程執行規則。

如果 schedule_typeCUSTOM,您也必須指定自訂排程清單,或規則應執行的時間。

schedule 清單中,每個規格都可以由下列欄位的組合組成。唯一的要求是每個項目中必須至少有 start_minutedays 其中一項。

欄位 說明

start_minute

午夜 12:00 之後的分鐘數。必須是 30 分鐘的倍數。如果設定此欄位,但沒有 end_minute,這會決定執行規則的確切時間。否則,就要使用 end_minute 來決定執行規則的時間範圍。如果沒有設定此欄位,則會在 days 中每天的 SEMI_HOURLY 執行規則。

end_minute

午夜 12:00 之後的分鐘數。必須是 30 分鐘的倍數,並且在 start_minute 之後。如果設定此欄位,就要使用 start_minute 來決定執行規則的時間範圍。如果 end_minutestart_minute 相同,也是決定執行規則的確切時間。

days

執行規則的天數清單。每一天都必須是 0-6 的值。0 是星期日,1 是星期一,依此類推,最後 6 是星期六。如果沒有設定此欄位,則會依據 start_minute 和(如果存在)end_minute 在所有 7 天執行規則。

若要進一步瞭解如何使用 CUSTOM 排程類型,請參閱進階排程

以下是 evaluation_spec 的範例。此規則適用於初始編號清單中,在過去 7 天內有超過 10000 瀏覽次數的所有物件。在此案例中,我們不需要 entity_type 篩選條件,因為我們使用了沒有前綴的 id 篩選條件來定義初始物件的靜態清單。

curl \
-F 'name=Rule 1' \
-F 'schedule_spec={
    ...
   }' \
-F 'evaluation_spec={
      "evaluation_type" : "SCHEDULE",
      "filters" : [
       {
         "field": "time_preset",
         "value": "LAST_7_DAYS",
         "operator": "EQUAL"
       },
       {
         "field": "effective_status",
         "value": ["ACTIVE"],
         "operator": "IN"
       },
       {
         "field": "id",
         "value": [101, 102, 103],
         "operator": "IN"
       },
       {
         "field": "impressions",
         "value": 10000,
         "operator": "GREATER_THAN"
       }
     ]
   }' \
-F 'execution_spec={
    ...
   }' \
-F "access_token=<ACCESS_TOKEN>" \
https://graph.facebook.com/<VERSION>/<AD_ACCOUNT_ID>/adrules_library

這裡還有另一個範例。此規則適用於廣告行銷活動編號 101, 102, 103 中,僅使用總經費且建立時間少於 48 小時的所有廣告組合。在此案例中,我們不需要 time_preset 篩選條件,因為沒有洞察報告篩選條件。

curl \
-F 'name=Rule 1' \
-F 'schedule_spec={
    ...
   }' \
-F 'evaluation_spec={
      "evaluation_type" : "SCHEDULE",
      "filters" : [
       {
         "field": "entity_type",
         "value": "ADSET",
         "operator": "EQUAL"
       },
       {
         "field": "campaign.id",
         "value": [101, 102, 103],
         "operator": "IN"
       },
       {
         "field": "budget_reset_period",
         "value": ["LIFETIME"],
         "operator": "IN"
       },
       {
         "field": "hours_since_creation",
         "value": 48,
         "operator": "LESS_THAN"
       },
     ]
   }' \
-F 'execution_spec={
    ...
   }' \
-F "access_token=<ACCESS_TOKEN>" \
https://graph.facebook.com/<VERSION>/<AD_ACCOUNT_ID>/adrules_library

以下是 execution_spec 的範例。此規則將所有相符物件的預算增加 10%,執行次數上限為 5 次。這表示,對於每個可能相符的物件,個別預算最多只能增加 10%,最多五次。

curl \
-F 'name=Rule 1' \
-F 'schedule_spec={
    ...
   }' \
-F 'evaluation_spec={
    ...
   }' \
-F 'execution_spec={
     "execution_type": "CHANGE_BUDGET",
     "execution_options": [
       {
         "field": "change_spec",
         "value": {
           "amount": 10,
           "unit": "PERCENTAGE"
         },
         "operator": "EQUAL"
       },
       {
         "field": "execution_count_limit",
         "value": 5,
         "operator": "EQUAL"
       }
     ]
   }' \
-F "access_token=<ACCESS_TOKEN>" \
https://graph.facebook.com/<VERSION>/<AD_ACCOUNT_ID>/adrules_library

這裡還有另一個範例。此規則會暫停所有相符物件,並傳送電子郵件至用戶清單。

curl \
-F 'name=Rule 1' \
-F 'schedule_spec={
    ...
   }' \
-F 'evaluation_spec={
    ...
   }' \
-F 'execution_spec={
     "execution_type": "PAUSE",
     "execution_options": [
       {
         "field": "user_ids",
         "value": [1001, 1002],
         "operator": "EQUAL"
       }
     ]
   }' \
-F "access_token=<ACCESS_TOKEN>" \
https://graph.facebook.com/<VERSION>/<AD_ACCOUNT_ID>/adrules_library