預定讓您可以用固定成本規劃和購買宣傳活動版位,進而優化接觸人數和控制廣告刊登頻率,同時助您預測宣傳活動的成效。此做法與傳統的電視廣告購買方式十分相似。這是一種在特定情況下使用的進階選項,大部分廣告客戶只會在確保廣告能夠接觸特定數量的帳戶管理中心帳戶時才會使用。
預定適用於各種廣告類型與裝置。Meta 會鎖定實際用戶而非 Cookie,因此我們能夠更精準地預估接觸人數,並控制各個裝置的展示頻率。
CAN_USE_REACH_AND_FREQUENCY
參數。stop_time
必須在預測資料的 180 天之內。 https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>?fields=rf_spec
傳送的 GET
API 呼叫。target_spec
一次只能設定一個國家/地區。user_os
不設最低 iOS 版本限制,例如 iOS_ver_2.0_and_above
。PacingType
欄位。搜尋 rf_spec
以了解適用限制:
名稱 | 說明 |
---|---|
陣列 | 支援預定功能的國家/地區 |
物件 | 最低宣傳活動刊登天數,依據支援國家/地區顯示 |
物件 | 最高宣傳活動刊登天數,依據支援國家/地區顯示 |
物件 | 預計宣傳活動可提早結束刊登的預估天數,依據支援國家/地區顯示 |
物件 | 最低接觸帳戶管理中心帳戶數量,依據支援國家/地區顯示 |
結果應如下所示:
{ "rf_spec": { "min_reach_limits": { "US": 1000000, "CA": 1000000, }, "countries": [ "US", "CA", ], "min_campaign_duration": { "US": 3, "CA": 3, }, "max_campaign_duration": { "US": 30, "CA": 30, }, "max_days_to_finish": { "US": 56, "CA": 56, } } }
預測資料中包含您的廣告依據觸及率、頻率、廣告受眾和預算,在某個日期範圍範圍內能夠接觸的帳戶管理中心帳戶數量。預定估計值可以幫助您模擬整個宣傳活動的成效,並會根據您的目標、預算、廣告受眾、格式和版位、品牌安全、成效目標及頻率控制設定再作調整。
您只可在預定後編輯有關預定宣傳活動,但當宣傳活動推出後,您將無法編輯或將其暫停,只可將廣告創意切換為關閉狀態。若您只編輯廣告創意,您的預測資料將不會改變。您可以刪除宣傳活動以將其取消或停止,但將會需要重新預定宣傳活動,屆時您或會收到新的每千次廣告展示成本和宣傳活動效果預測資料。請只預定您打算進行的宣傳活動。** 若要進行測試,請儘可能限制預留規模與長度,而且務必記得取消測試,因為我們會實際為您預留廣告庫存。
這些是預測資料的預設限制:
請指定欄位以獲取詳情。若要查看帳戶的所有 reachfrequencyprediction
,請傳送 HTTP GET
至 https://graph.facebook.com/{API_VERSION}/act_{AD_ACCOUNT_ID}/reachfrequencypredictions?fields={COMMA_SEPERATED_FIELD_LIST}
。
若要根據 reachfrequencyprediction
編號來取得所有 reachfrequencyprediction
,請以您要的欄位傳送 HTTP GET
:https://graph.facebook.com/{API_VERSION}/{RF_PREDICTION_ID}?fields={COMMA_SEPERATED_FIELD_LIST}
。
根據預設,Meta 會傳回編號。如需欄位詳細資訊,請參閱預定預測資料:讀取。
此為 reachfrequencyprediction
可能出現的 status
結果。在適用情況下會有初始限制,但未來可能會按不同廣告帳戶或不同國家/地區而有不同限制:
代碼 | 狀態 | 說明 |
---|---|---|
1 | SUCCESS | 預測成功 |
2 | PENDING | 預測資料正在產生中 |
3 | FAIL | 無法接觸的受眾。接觸人數或預算太高。 |
4 | FAIL | 無效的預測設定,例如時間長度 |
5 | FAIL |
|
6 | FAIL | 特定接觸人數的預算或出價太低 |
7 | FAIL | 廣告組合刊登期間太短 |
8 | FAIL | 廣告組合刊登期間太長 |
9 | FAIL | 廣告組合的結束日期距離現在太久 |
10 | FAIL | 未指定頻率上限 |
11 | FAIL | 不支援的廣告版位,例如混合 RHS 與動態 |
12 | FAIL | 廣告組合日期問題(開始時間和/或結束時間):開始時間在過去、非午夜或非一整天。結束時間在過去、在開始時間 90 天後或沒有於早上 6 點後結束。 |
13 | FAIL | 不支援的目標國家/地區 |
14 | FAIL | 廣告組合日期含有不適用的日期 |
15 | FAIL | 庫存不足,無法預定。請參閱預定預測資料。 |
16 | FAIL | 未達到帳戶要求的最低接觸人數。請參閱帳戶取得限制 |
17 | FAIL | 此預測資料的可用實際接觸人數低於目標國家/地區的最低接觸人數,多數國家/地區的下限為 200,000 人。 |
18 | FAIL | 時間分配排定無效。 |
19 | FAIL | 無法達到目標每千次廣告展示成本。 |
20 | FAIL | 曝光頻率上限低於混合刊登要求 |
21 | FAIL | 廣告庫存變更幅度過大,無法提供精準預測資料。 |
23 | FAIL | 目標國家/地區不支援曝光頻率上限間隔。 |
24 | FAIL | 對照組佔比數據提升研究在帳戶或宣傳活動群組內的廣告組合與預定預測資料不符。 |
25 | FAIL | 曝光頻率上限不能超過宣傳活動刊登的天數。 |
26 | FAILURE_EMPTY_AUDIENCE | 所選受眾為空白且無法使用。 |
27 | FAIL | 不允許修改進行中的宣傳活動。 |
28 | FAIL | 不能修改以廣告訂單建立的進行中宣傳活動。 |
29 | FAIL | 由於時間限制,無法修改進行中的宣傳活動。 |
30 | FAIL | 若要編輯進行中的預定廣告組合,請選擇高於目前花費的預算。 |
31 | FAIL | 帳戶或宣傳活動群組的數據提升研究的開始日期晚於宣傳活動開始日期。 |
32 | FAIL | 帳戶或宣傳活動群組的數據提升研究結束日期早於宣傳活動結束日期。 |
35 | FAIL | 預定宣傳活動的開始時間不能設為過去時間。 |
36 | FAIL | 請確保預定廣告組合的刊登時間超過 1 天,而且宣傳活動開始/結束時間有效。 |
37 | FAIL | 使用預定購買類型時,Audience Network 不支援此目標。 |
39 | FAIL | 使用預定購買類型時,所選版位組合無法使用。 |
40 | FAIL | 使用預定購買類型時,無法鎖定特定流動作業系統版本。 |
41 | FAIL | 使用預定購買類型時,無法鎖定聯繫對象的朋友。 |
42 | FAIL | 只選擇 Audience Network 版位時,無法展開預定宣傳活動。請選擇 Audience Network 版位,同時也選擇 Facebook 動態消息或 Instagram 動態消息版位。 |
44 | FAIL | 預定不支援 Facebook 限時動態。 |
45 | FAIL | 如要使用 Instagram 限時動態版位,另請選擇 Facebook 動態消息或 Instagram 限時動態版位。 |
50 | FAIL | 使用預定購買類型時,所選版位組合無法使用。使用預定廣告訂單購買類型時,請確保選擇「影片觀看次數」目標。否則,如要使用 Facebook 插播廣告,請選擇 Facebook 動態消息版位。 |
53 | FAIL | 插播影片版位僅適用於美國、英國、澳洲、紐西蘭、愛爾蘭、泰國、墨西哥、秘魯、法國、德國、阿根廷、哥倫比亞、西班牙、智利、厄瓜多爾、多米尼加共和國、危地馬拉、玻利維亞、洪都拉斯、薩爾瓦多、挪威、瑞典、荷蘭、比利時、波蘭、葡萄牙、丹麥、印度、馬來西亞、菲律賓、印尼和越南的廣告受眾。如要繼續,請編輯您的廣告受眾,只鎖定位於上述國家/地區的用戶。 |
60 | FAIL | 如要使用 Facebook Marketplace 版位,請選擇 Facebook 動態消息版位。 |
66 | FAIL | Facebook 右欄版位不能與其他版位組合使用。 |
69 | FAIL | 如果您想在 Instagram 的「探索」區塊展示您的廣告,還需要選擇 Instagram 動態消息版位。 |
100+ | FATAL | 系統故障,非人為過失。請重試。 |
提供您的預測資料編號及其資料,以建立新的編號,此編號可作為預定編號使用。然後,將此預定編號附加至您的廣告組合。建立預定後,其他人就無法使用該庫存,所以請於失效前將之附加上去。
如果預定成功,我們就會暫時為您預定庫存。成功預定後,您將有大約一個小時的時間來分配廣告至廣告組合。
如果超出了預定要求的每小時限制,您會看到以下錯誤代碼和訊息:613:傳送至此 API 的呼叫次數已超過限速限制。
為您的廣告組合預定預測資料,即可鎖定價格並享有預計接觸人數。在特定時間內,利用 reserve
預定 action
,以預定 reachfrequencyprediction
所識別的受眾。您可以使用單一預測資料編號來建立多個預定。例如:
curl \ -F 'action=reserve' \ -F 'rf_prediction_id=<RF_PREDICTION_ID>' \ -F 'access_token=<ACCESS_TOKEN>' \ 'https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/reachfrequencypredictions' // Response {"id":9876543210"}
如要根據預測資料預定庫存,請向 https://graph.facebook.com/{API_VERSION}/act_{AD_ACCOUNT_ID}/reachfrequencypredictions
執行 POST
API 呼叫。
若是 reach
、budget
和 impression
,您可以在 curve_budget_reach
的特定點預定預測資料,而無需使用預測接觸人數/預算原本的元組。使用以下欄位:
名稱 | 說明 |
---|---|
整數 | 此為必要項目。
|
字串 | 預定及取消的必要項目。 選項為:
|
整數 | 此為選用項目。 預定預測資料或預定編號。新的預定會釋放已預定的受眾,並用於新的預定。請參閱重複使用已預定的受眾 |
整數 | 此為選用項目。 先前建立的預測資料的編號。新的預測資料會使用來自特定預測資料的受眾。 備註:必須將 |
整數 | 此為選用項目。如有指定,您就必須提供 針對 |
整數 | 此為選用項目。如有指定,請提供 針對 |
整數 | 此為選用項目。如有指定,請提供 您可以覆寫此值。若要這樣做,請針對 |
Meta 會以非同步的方式預定預測資料;建議您統計並查看預測資料的狀態。一開始,預測資料的狀態會是 2
(PENDING)。完成後,狀態就會是 1
、SUCCESS
或 15
、FAIL
,後者表示我們沒有足夠的庫存可以完成這個預定。
因為預定系統非常靈活,您可能會發現預設時與預定時之間的庫存供應會有一些小幅改變。但只要變更處於合理門檻,Meta 就會以您在預測時獲得的值為準。
成功預定預測資料後,您就可以用來建立廣告組合:
curl \ -F "rf_prediction_id=<RF_PREDICTION_ID>" \ -F "access_token=<ACCESS_TOKEN>" \ "https://graph.facebook.com/<API_VERSION>/<AD_SET_ID>"
若要成功分配預測資料,您的廣告組合必須達到這些標準:
start_time
:衍生自預測資料end_time
:衍生自預測資料targeting
:衍生自預測資料bid_amount
optimization_goal
lifetime_budget
或 daily_budget
rf_prediction_id
,以將預測資料附加至新廣告組合。 buying_type
屬性為 RESERVED
您亦可附加 reachfrequencyprediction
至廣告組合以修改其預測資料。傳送 POST
要求至:https://graph.facebook.com/{ad_set_id}
(加入 rf_prediction_id
),以取得您要使用的 reachfrequencyprediction
。
下列是廣告組合的限制:
facebook
、instagram
。 feed
和 rightcolumn
。 stream
、story
、explore
、explore_home
,和 reels
。如果廣告版位包含 instagram
,您就必須使用 destination_ids
,而不是 destination_id
。destination_ids
欄位應包含要用作 destination_id
的 Facebook 專頁編號,再加上 Instagram 帳戶編號。 promoted_object
必須符合預測資料的 destination_id
。若是專頁帖子,必須使用指定的專頁編號;若是應用程式廣告,必須符合指定的應用程式編號。我們會依據實際產生的展示次數,向預定宣傳活動收費。如果宣傳活動開始時間已過,而廣告組合仍沒有刊登中的廣告,宣傳活動就不會刊登,因此也不會產生費用。Meta 會釋放剩餘的庫存,但如果此情況重複發生,我們可能會處罰該廣告帳戶。
使用 Meta 的預定購買類型來建立宣傳活動時,就代表您同意針對所預定的廣告庫存支付提議的價格。如果您要變更受眾的規模或廣告頻率,則成本價格亦會隨之變動。在宣傳活動開始前,您可以隨時作出這些變更,同時亦可以編輯廣告創意。
預定廣告組合可包含多個廣告;您可以隨時加入更多廣告。如果廣告組合已啟動,但其中沒有刊登中的廣告,則對於會持續刊登 3 至 30 天的廣告組合,您必須在 24 小時內建立第一個廣告;而對於刊登時間為 1 至 2 天的廣告組合,您必須在 6 小時內建立第一個廣告。若未於時間內建立廣告,我們就會刪除預定。
您可在預定宣傳活動開始前編輯或暫停有關宣傳活動。宣傳活動開始後,您只能編輯廣告創意和預算,或者延長結束日期。若您只編輯廣告創意,您的預測資料將不會改變。
如果變更預算或結束日期,您的宣傳活動可能會產生新的預測資料,並顯示在預定估計值中。
您無法在預定宣傳活動開始後將其暫停,但可隨時刪除相關宣傳活動以將其取消。
若要在廣告組合開始後暫停或編輯,請參閱暫停或重啟刊登中的廣告組合與編輯刊登中的廣告組合。若要刪除刊登中的廣告組合,請參閱廣告組合參考資料。我們會向您收取所有展示次數的費用。
請注意,為免發生任何失敗情況,當預定廣告組合已發佈時,我們強烈建議您不要刪除所有廣告。
如果您在廣告組合啟動前分配預定至廣告組合,則除非您取消附加該預定,否則您無法變更大部分屬性。傳送 HTTP POST
要求至廣告組合,並將 rf_prediction_id
設為 0。您只能修改廣告組合物件的 name
屬性。
若要取消附加預定:
curl \ -F "rf_prediction_id=0" \ -F "access_token=<ACCESS_TOKEN>" \ "https://graph.facebook.com/<API_VERSION>/<AD_SET_ID>"
啟動廣告組合後,將無法取消附加預定,廣告組合的屬性也無法修改,但以下列出的廣告屬性屬於允許名單,不在此限:
name
creative_id
creative_spec
conversion_specs
tracking_specs
view_tags
您可以暫停刊登中的廣告組合。詳情請參閱廣告組合參考資料。如果您暫停廣告組合的時間超過 30 分鐘,我們就無法保證此廣告組合的預測資料精準度。
若要重新啟動暫停時間超過 30 分鐘的廣告組合,您必須有新的預測資料。傳送 POST
至 reachfrequencypredictions
。請參閱建立預測資料和預定預測資料。請傳送刊登中廣告組合的 existing_campaign_id,以便於要求中重新啟動廣告組合。建立並預定新的預測資料後,您可以附加 reachfrequencyprediction
至廣告組合,並將 HTTP POST
傳送至 https://graph.facebook.com/{ad_set_id}
,為您要使用的預測資料指定 rf_prediction_id
。
您可以在廣告組合啟動後更新這些資料。
如果刊登中的廣告組合達到下列其中一個標準,您就無法編輯或暫停該組合:
若要編輯刊登中的廣告組合,請取得新的預測資料。請參閱建立預測資料和預定預測資料。請傳送刊登中廣告組合的 existing_campaign_id,以便於要求中重新啟動廣告組合。
建立並預定新的預測資料後,您可以附加 reachfrequencyprediction
至廣告組合,方法是傳送 HTTP POST 要求至:https://graph.facebook.com/{ad_set_id},並指定 rf_prediction_id
作為您要使用的 reachfrequencyprediction 編號。
如果您取消預定,系統就會釋放原本預定的庫存給其他廣告顧客使用。但是您可以重複使用先前預定的預測資料的受眾(如果未曾使用)。這可以讓我們考慮其他的庫存,以建立預測資料,而且您無需取消現有的預定。
建立預定時,加入 rf_prediction_id_to_share
。這是先前的預測資料的編號。這會取消先前的預定,這樣您就可以使用這個庫存配搭新建立的預定。
若要預定新的預測資料,您還必須傳送其他的參數 rf_prediction_id_to_release
,即先前預測資料的編號。
您可以在您的廣告組合輪替廣告。您不必在廣告組合中取消附加預定就可以操作。新增一個或多個廣告至廣告組合,並等待其變成刊登中狀態。這時候,您可以變更初始廣告的狀態至暫停。廣告組合內必須有至少一個刊登中的廣告。
您可以設計廣告的排序,然後按照該順序刊登廣告。首先,建立廣告組合與廣告。然後在 creative_sequence
的廣告組合級別中指定順序。在此排序中,廣告組合中的每個廣告可以都不會顯示、顯示一次或顯示多次。
若 creative_sequence
陣列長度為 0,即表示您沒有使用排序。若長度不是 0,我們建議您選擇 rf_prediction_id
內的 frequency_cap
。若長度超出 frequency_cap
,我們會截斷陣列中的最後幾個廣告。若長度低於 frequency_cap
,我們就會重複自動將廣告填入陣列,亦即從頭開始顯示排序廣告。若要清楚顯示成效,請將 creative_sequence
的長度設成和 frequency_cap
一樣。
排序中的每個廣告都有 ACTIVE
、PENDING_REVIEW
或 CREDIT_CARD_NEEDED
狀態。排序中的特定廣告一定要等到排序中前面的廣告都展示之後,才會刊登。不包含在 creative_sequence
內的廣告將不會刊登。
套用廣告排序的廣告組合內的所有廣告無論有否出現在排序中,都無法暫停、封存或刪除。
此功能僅適用預定廣告組合,即是其所屬廣告宣傳活動的 buying_type
為 RESERVED
,且此廣告組合擁有 rf_prediction_id
組合。
請參閱廣告組合文件以了解更多詳情。
代碼 | 說明 |
---|---|
1487583 | 沒有廣告的廣告組合無法獲分配預定預測資料 |
1487055 | 廣告組合狀態無效 |
1487600 | 廣告組合已分配至預定。如果您要使用另一項預測資料,請先使用 null 值解除目前資料的連結,然後分配新的預測資料。 |
1487578 | 指定的 |
1487581 | 刊登中廣告組合的預定預測資料無法修改 |
1487594 | 預定廣告組合中無廣告 |
1487595 | 預定廣告組合中的目標規格無效 |
1487614 | 廣告組合開始時間與原本的預測資料不符 |
1487615 | 廣告組合停止時間與原本的預測資料不符 |
1487616 | 無法連結廣告組合與無效的預測資料 |
1487671 | 不允許直接切換廣告組合的預測資料。 |
1487244 | 廣告組合更新失敗:原因請見回應 |
1487672 | 無法分配預測資料至廣告組合。 |
1487680 | 您沒有使用預定廣告組合的權限。 |
為應用程式 destination_id
建立 reachfrequencyprediction
:
curl \ -F 'target_spec={"geo_locations": {"countries":["US"]}, "age_max":35, "age_min":26, "genders":[2], "publisher_platforms":["facebook"], "facebook_positions":["feed"]}' \ -F 'start_time=1388534400' \ -F 'end_time=1389312000' \ -F 'frequency_cap=4' \ -F 'reach=1000000' \ -F 'budget=3000000' \ -F 'destination_id=<APP_ID>' \ -F 'prediction_mode=1' \ -F "objective=MOBILE_APP_INSTALLS" \ -F 'access_token=<ACCESS_TOKEN>' \ 'https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/reachfrequencypredictions' {"id":"67890123456"}
為專頁 destination_id
建立 reachfrequencyprediction
:
curl \ -F 'target_spec={"geo_locations": {"countries":["US"]}, "age_max":35, "age_min":26, "genders":[2], "publisher_platforms":["facebook"], "facebook_positions":["feed"]}' \ -F 'start_time=1388534400' \ -F 'end_time=1389312000' \ -F 'frequency_cap=4' \ -F 'reach=1000000' \ -F 'budget=3000000' \ -F 'destination_id=<PAGE_ID>' \ -F 'prediction_mode=1' \ -F "objective=POST_ENGAGEMENT" \ -F 'access_token=<ACCESS_TOKEN>' \ 'https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/reachfrequencypredictions' {"id":"67890123456"}
為含有 Instagram 廣告版位的應用程式 destination_id
建立 reachfrequencyprediction
:
curl \ -F 'target_spec={"geo_locations": {"countries":["US"]}, "age_max":35, "age_min":26, "genders":[2], "publisher_platforms":["facebook","instagram"], "device_platforms":["mobile"]}' \ -F 'start_time=1388534400' \ -F 'end_time=1389312000' \ -F 'frequency_cap=4' \ -F 'reach=1000000' \ -F 'budget=3000000' \ -F 'destination_ids=[<APP_ID>,<INSTAGRAM_ACCOUNT_ID>]' \ -F 'prediction_mode=1' \ -F "objective=MOBILE_APP_INSTALLS" \ -F 'access_token=<ACCESS_TOKEN>' \ 'https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/reachfrequencypredictions' {"id":"67890123456"}
透過 HTTP GET 要求統計下列端點,以檢索狀態,直至其變為不是 2
的值:
https://graph.facebook.com/67890123456?fields=status
若狀態為 1
(成功),即可附加至廣告組合或預定。
預定預測資料:
curl \ -F 'action=reserve' \ -F 'rf_prediction_id=<RF_PREDICTION_ID>' \ -F 'access_token=<ACCESS_TOKEN>' \ 'https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/reachfrequencypredictions' {"id":"9876543210"}
透過 HTTP GET 要求統計下列端點,以檢索狀態,直至其變為不是 2
的值:
https://graph.facebook.com/<API_VERSION>/<PREDICTION_ID>?fields=status
若狀態為 1
(成功),即可附加至廣告組合。請建立宣傳活動、廣告組合、廣告創意、廣告並分配預定至廣告組合,以建立您的宣傳活動架構。
建立廣告宣傳活動:
curl \ -F "name=Test" \ -F "buying_type=RESERVED" \ -F "status=ACTIVE" \ -F "objective=POST_ENGAGEMENT" \ -F "access_token=<ACCESS_TOKEN>" \ https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/campaigns {"id":"1122334455"}
建立廣告組合:
curl \ -F "name=TestReachSet" \ -F "status=1" \ -F "campaign_id=<CAMPAIGN_ID>" \ -F "rf_prediction_id=<RF_PREDICTION_ID>" \ -F "access_token=<ACCESS_TOKEN>" \ "https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/adsets" {"id":"09876543"}
建立廣告創意:
curl \ -F "name=sample creative" \ -F "type=1" \ -F "title=hello world" \ -F "body=hi i'm an ad" \ -F "link_url="https://www.facebook.com/" \ -F "image_hash=4aca812b4eadb72818a2c4124abd121a" \ -F "access_token=<ACCESS_TOKEN>" \ "https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/adcreatives" {"id":"1323123123123"}
建立廣告:
// Create an ad curl \ -F "name=my ad" \ -F "adset_id=<AD_SET_ID>" \ -F "creative={'creative_id':<CREATIVE_ID>}" \ -F "access_token=<ACCESS_TOKEN>" \ "https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/ads" {"id":"3213213123"}
分配新的預測資料至廣告組合:
curl \ -F "rf_prediction_id=<RF_PREDICTION_ID>" \ -F "access_token=<ACCESS_TOKEN>" \ "https://graph.facebook.com/<API_VERSION>/<AD_SET_ID>"