名單型廣告表單

本文說明如何使用行銷 API 來建立使用圖形 API 的名單型廣告。

若要建立及發佈名單型廣告,請按照下列步驟操作:

  1. 建立廣告行銷活動
  2. 建立將廣告連結至廣告行銷活動的廣告組合
  3. 建立名單型廣告表單
  4. 使用名單型廣告表單建立廣告創意
  5. 將行銷活動與廣告創意建立關聯,以建立廣告
  6. 發佈廣告

準備工作

本指南假設您已閱讀 Messenger 開放平台概覽並實作收發訊息和通知所需的元件。

您需要下列項目:

步驟 1:建立行銷活動

若要為名單型廣告建立廣告行銷活動,請傳送 POST 要求到 /act_AD_ACCOUNT_ID/campaigns 端點,並將參數設定如下:

  • access_token 設為粉絲專頁存取權杖
  • buying_type 設為 AUCTION
  • name 設為行銷活動的名稱
  • objective 設為 LEAD_GENERATION
  • special_ad_categories 設為 NONE 或您的特殊廣告類別
  • status 設為 PAUSED

要求範例

採用方便閱讀的格式。將粗體、斜體值(例如 AD_ACCOUNT_ID)換成您的值。
curl -X POST "https://graph.facebook.com/v19.0/act_AD_ACCOUNT_ID/campaigns" \
     -H "Content-Type: application/json" \
     -d '{
           "access_token":"Your_page_access_token",
           "buying_type":"AUCTION",
           "name":"Messenger_ad_campaign_name",
           "objective":"LEAD_GENERATION",
           "special_ad_categories":["NONE"],
           "status":"PAUSED"
         }'

成功後,您的應用程式會收到 JSON 物件,內含行銷活動的編號。在下一個步驟中建立廣告組合時會用到此編號。

{
  "id": "YOUR_CAMPAIGN_ID"
}

請參閱廣告行銷活動參考資料 ,瞭解更多資訊。

步驟 2:建立廣告組合

若要建立廣告組合,請傳送 POST 要求至 act_ad_account_id/adsets 端點,其中 ad_account_id 是 Meta 廣告帳號的編號。您的要求必須包含:

  • access_token 設為粉絲專頁存取權杖
  • bid_amount 設為您想要支付的最高金額
  • billing_event 設為 IMPRESSIONS
  • campaign_id 設為步驟 1 中廣告行銷活動的編號
  • daily_budget 設為您想要花費的每日金額
  • name 設為廣告組合的名稱
  • optimization_goal 設為 LEAD_GENERATIONQUALITY_LEAD
  • promoted_object 設為您的商家 Facebook 粉絲專頁編號
  • status 設為 PAUSED

附註:如果您已設定 CRM 資料來源,並選擇 QUALITY_LEAD 為最佳化目標,可將 pixel_id 新增至 promoted_object,以進一步最佳化品質。請注意,您不需隨 pixel_id 一起提供 pixel_rule

要求範例

採用方便閱讀的格式。將粗體、斜體值(例如 AD_ACCOUNT_ID)換成您的值。
curl -X POST "https://graph.facebook.com/v19.0/act_AD_ACCOUNT_ID/adsets"
     -H "Content-Type: application/json" 
     -d '{
           "access_token":"Your_page_access_token",
           "bid_amount":"Your_bid_amount",
           "billing_event":"IMPRESSIONS",
           "campaign_id":"Your_campaign_id",
           "daily_budget":"Your_daily_budget",
           "name:"YOUR_LEADADS_ADSET",
           "optimization_goal:LEAD_GENERATION",
           "promoted_object":"YOUR_PAGE_ID",
           "status:PAUSED"
         }'

成功後,您的應用程式會收到下列 JSON 回應,內含廣告組合的編號。

{
  "id": "YOUR_ADSET_ID"
}

請參閱廣告組合參考資料 ,瞭解更多資訊。

步驟 3:建立名單型廣告表單

若要建立表單,請傳送 POST 要求到 /PAGE_ID/leadgen_forms 端點,並將參數設定如下:

  • access_token 設為粉絲專頁存取權杖
  • name 設為表單的名稱
  • questions 設為一個物件陣列,並使用 key 參數定義問題類型以及在表單中出現的順序
    • 使用 label 參數的自訂問題
    • 使用 options 參數,且答案是從下拉式功能表選取的自訂問題

要求範例

採用方便閱讀的格式。將粗體、斜體值換成您的值。
curl -X POST "https://graph.facebook.com/v19.0/PAGE_ID/leadgen_forms" \
     -H "Content-Type: application/json" \
     -d '{
           "access_token": "YOUR_PAGE_ACCESS_TOKEN",
           "name": "YOUR_LEADADS_FORM_NAME",
           "questions": "[
               {"type":"FULL_NAME", "key": "question1"},
               {"type":"EMAIL", "key": "question2"},
               {"type":"PHONE", "key": "question3"},
               {"type":"CUSTOM", "key": "question4" "label": "Do you like rainbows?"}
               {"type":"CUSTOM", "key": "question5" "label": "What is your favorite color?", 
                   "options": [
                       {value: "Red", key: "key1"},
                       {value: "Green", key: "key2"},
                       {value: "Blue", key: "key2"},
                   ]}
           ]"
         }'

Messenger 對話表單

您要用在 Messenger 對話廣告 中的表單必須包含以下項目:

  • questions.type 參數只能設為下列其中一個值:
    • CUSTOM
    • EMAIL
    • FIRST_NAME
    • FULL_NAME
    • LAST_NAME
    • PHONE

    如果表單中的 questions.type 設為上列以外的任何值,則該表單不合格。

  • block_display_for_non_targeted_viewer 參數必須設為 false。這會將表單標示為開放共享

合格的 Messenger 名單型廣告表單要求範例

採用方便閱讀的格式。將粗體、斜體值換成您的值。
curl -X POST "https://graph.facebook.com/v19.0/PAGE_ID/leadgen_forms" \
     -H "Content-Type: application/json" \
     -d '{
           "access_token": "page_ACCESS_TOKEN"
           "block_display_for_non_targeted_viewer": "false"
           "name": "LeadAds Form for Messenger Conversation Name"
           "questions": "[
               {"type":"FULL_NAME", "key": "question1"},
               {"type":"EMAIL", "key": "question2"},
               {"type":"PHONE", "key": "question3"},
               {"type":"CUSTOM", "key": "question4" "label": "Do you like rainbows?"}
               {"type":"CUSTOM", "key": "question5" "label": "What is your favorite color?", 
                   "options": [
                       {value: "Red", key: "key1"},
                       {value: "Green", key: "key2"},
                       {value: "Blue", key: "key2"},
                   ]}
           ]"
         }'

其他問題類型

除了 [建立名單型廣告表單]{#create-a-lead-form} 一節中顯示的一般問題類型之外,您也可以針對下列使用案例加入更多專用的問題類型:

  • 預約排程 - 預約排程問題會顯示包含有限時間選項的日期和時間選擇器,並在問題下方顯示確認訊息。
  • 國民身分證 - 國民身分證問題會根據用戶所在的國家/地區顯示問題,並驗證所輸入的身分證字號格式。
  • 商店定位工具 - 商店定位工具問題會根據用戶輸入的郵遞區號顯示商店定位工具選擇器。

預約排程

預約排程問題會顯示包含有限時間選項的日期和時間選擇器,並在問題下方顯示確認訊息。

若要新增預約排程問題,請新增問題物件,其中 type 參數設為 DATE_TIME。或者您也可以在 inline_context 參數中新增確認訊息,這會直接顯示在問題欄位下方,以提供進一步說明(如有必要)。

...
           "questions": "[
               ...
               {"type": "DATE_TIME", 
                "label": "Appointment time", 
                "inline_context": "We will verify and call you to confirm your appointment."
               },
...

國民身分證

國民身分證問題會根據用戶的所在國家/地區顯示問題,並驗證所輸入的身分證字號格式。以下國家/地區可能會看到這個問題:

  • 阿根廷 – {"type": "ID_AR_DNI"}
  • 巴西 – ID_CPF
  • 智利 – ID_CL_RUT
  • 哥倫比亞 – ID_CO_CC
  • 厄瓜多 – ID_EC_CI
  • 祕魯 – ID_PE_DNI

若要新增國民身分證問題,請新增一個問題物件,並將 type 參數設為用戶的國家/地區類型。

限制

  • 不管使用哪一種表單,您都只能要求單一國民身分證字號,而且只能鎖定該國家/地區的用戶。假設您要求祕魯的 DNI,目標廣告受眾就必須限定為祕魯的用戶。符合此條件的廣告才能獲准刊登。
  • 驗證機制會檢查格式是否有效,但不會驗證該身分證字號是否確實屬於真人。
...
           "questions": "[
               ...
               {"type": "ID_AR_DNI"
               },
...

商店定位工具

商店定位工具問題會根據用戶輸入的郵遞區號顯示商店定位工具選擇器。

您需要設定分店粉絲專頁結構才能使用此問題。請前往在 Facebook 設定分店粉絲專頁結構 – Meta 企業商家使用說明瞭解詳情

若要新增商店定位問題,請新增問題物件,並將 type 參數設為 STORE_LOOKUP,將 context_provider_type 參數設為 LOCATION_MANAGER

...
           "questions": "[
               ...
               {"type": "STORE_LOOKUP", 
                "label": "Which store do you want to visit?", 
                "context_provider_type": "LOCATION_MANAGER"
               },
...

進階表單設定

若要獲得更優質的潛在客戶,請新增下列一或多項表單設定:

新增成效追蹤

為了協助您追蹤潛在顧客的來源,請新增 tracking_parameters 欄位到表單中,並將其設為您要追蹤之參數的索引鍵/值組鍵值清單。這些參數不會顯示在廣告中,但是可讓 Meta 為您提供表單產生的潛在顧客中繼資料。

要求範例

採用方便閱讀的格式。將粗體、斜體值換成您的值。
...
           "name": "YOUR_LEADADS_FORM_NAME",
           "tracking_parameters": {"your_tracking_parameter_name":"your_tracking_parameter_value"},
           "questions": "[
...

新增提高購買意願設定

根據預設,名單型廣告會針對潛在顧客數量進行最佳化,但您可以建立產生更高購買意願的潛在顧客表單。這些類型的潛在顧客可以是可能對特定產品或服務感興趣的人,例如在經銷商預訂試駕的顧客。此表單設定會在表單提交流程中新增一個步驟,讓用戶可以先檢查並確認答案後,再提交表單。

若要將此確認流程新增至表單,請在建立表單時,新增 is_optimized_for_quality 參數並設為 true

要求範例

採用方便閱讀的格式。將粗體、斜體值換成您的值。
...
           "name": "YOUR_LEADADS_FORM_NAME",
           "is_optimized_for_quality": "true",
           "questions": "[
...

篩選掉自主潛在顧客

若要篩選掉自主潛在顧客,請在建立表單時,新增 block_display_for_non_targeted_viewer 參數並設為 true

要求範例

採用方便閱讀的格式。將粗體、斜體值換成您的值。
...
           "name": "YOUR_LEADADS_FORM_NAME",
           "block_display_for_non_targeted_viewer": "true",
           "questions": "[
...

回應範例

成功後,您的應用程式會收到 JSON 回應,內含表單編號,可供您在建立廣告時使用。

{
  "id": "leadgen_form_id",
}

步驟 4:建立廣告創意

若要使用圖像和表單來建立廣告創意,請傳送 POST 要求到 /act_AD_ACCOUNT_ID/adcreatives 端點,並將參數設定如下:

  • access_token 設為粉絲專頁存取權杖
  • object_story_spec,包含 link_data 物件,參數設定如下:
    • call_to_action 設為包含 type 的物件,value 設為名單型廣告表單編號
    • description 設為廣告創意的說明
    • image_hash 設為廣告創意的圖像雜湊
    • link_url 設為您的網址。不可以是您的 Facebook 粉絲專頁
    • message 設為廣告創意的文字
  • page_id 設為 Facebook 粉絲專頁編號

注意:建立 link_data 時,與 link 欄位關聯的值只能是 https//fb.me/

link_data.call_to_action 參數必須設為下列其中一個值:

  • APPLY_NOW
  • DOWNLOAD
  • GET_QUOTE
  • LEARN_MORE
  • SIGN_UP
  • SUBSCRIBE

要求範例

採用方便閱讀的格式。將粗體、斜體值(例如 AD_ACCOUNT_ID)換成您的值。
curl -X POST "https://graph.facebook.com/LATEST-API-VERSION/act_AD_ACCOUNT_ID/adcreatives" \
     -H "Content-Type: application/json" \
     -d '{
           "access_token":"YOUR_PAGE_ACCESS_TOKEN",
           "object_story_spec":{ 
             "link_data": { 
               "call_to_action": {
                 "type":"SIGN_UP",
                 "value":{
                   "lead_gen_form_id":"YOUR_FORM_ID"
                 }
               }, 
               "description": "YOUR_AD_CREATIVE_DESCRIPTION", 
               "image_hash": "YOUR_IMAGE_HASH", 
               "link": "http:\/\/fb.me\/", 
               "message": "YOUR_AD_CREATIVE_MESSAGE" 
             }, 
           "page_id": "YOUR_PAGE_ID" 
         }'
  

您可用相同的 object_story_spec 建立輪播廣告名單型廣告,但在 child_attachments 參數中定義其他 lead_gen_form_id 欄位。

您只能為所有子附件指定相同的 <FORM_ID>

curl \
  -F 'object_story_spec={ 
    "page_id": "<PAGE_ID>", 
    "link_data": { 
      "message": "My description", 
      "link": "http:\/\/www.google.com", 
      "caption": "WWW.EXAMPLE.COM", 
      "child_attachments": [ 
        { 
          "link": "http:\/\/www.google.com", 
          "image_hash": "<IMAGE_HASH>", 
          "call_to_action": {"type":"SIGN_UP","value":{"lead_gen_form_id":"<FORM_ID>"}} 
        }, 
        { 
          "link": "http:\/\/www.google.com", 
          "image_hash": "<IMAGE_HASH>", 
          "call_to_action": {"type":"SIGN_UP","value":{"lead_gen_form_id":"<FORM_ID>"}} 
        }, 
        { 
          "link": "http:\/\/www.google.com", 
          "image_hash": "<IMAGE_HASH>", 
          "call_to_action": {"type":"SIGN_UP","value":{"lead_gen_form_id":"<FORM_ID>"}} 
        }, 
        { 
          "link": "http:\/\/www.google.com", 
          "image_hash": "<IMAGE_HASH>", 
          "call_to_action": {"type":"SIGN_UP","value":{"lead_gen_form_id":"<FORM_ID>"}} 
        } 
      ], 
      "multi_share_optimized": true, 
      "call_to_action": {"type":"SIGN_UP","value":{"lead_gen_form_id":"<FORM_ID>"}} 
    } 
  }' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/LATEST-API-VERSION/act_<AD_ACCOUNT_ID>/adcreatives

使用影片

您也可以在名單型廣告創意中使用影片,而不使用相片。首先,將影片上傳到您的廣告影片庫,然後在 object_story_spec 參數中使用:

curl -X POST \
  -F 'object_story_spec={
       "page_id": "<PAGE_ID>",
       "video_data": {
         "link_description": "try it out",
         "image_url": "<IMAGE_URL>",
         "video_id": "<VIDEO_ID>",
         "call_to_action": {
           "type": "SIGN_UP",
           "value": {
             "link": "http://fb.me/",
             "lead_gen_form_id": "<FORM_ID>"
           }
         }
       }
     }' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v19.0/act_<AD_ACCOUNT_ID>/adcreatives

廣告創意回應範例

成功後,您的應用程式會收到包含廣告創意編號的下列 JSON 回應。

{
  "id": "YOUR_AD_CREATIVE_ID"
}
      

若要建立廣告,您需要為廣告創意和廣告組合建立關聯。若要建立廣告,請傳送 POST 要求到 /act_AD_ACCOUNT_ID/ads 端點。您的要求必須包含:

  • access_token 設為粉絲專頁存取權杖
  • adset_id(來自步驟 2)
  • creative_id(來自步驟 4)
  • name
  • status

廣告創意廣告要求範例

採用方便閱讀的格式。將粗體、斜體值(例如 AD_ACCOUNT_ID)換成您的值。
curl -X POST "https://graph.facebook.com/v19.0/act_AD_ACCOUNT_ID/ads"
     -H "Content-Type: application/json" 
     -d '{
           "access_token"="YOUR_PAGE_ACCESS_TOKEN",
           "adset_id"="YOUR_AD_SET_ID",
           "creative"={ "creative_id": "YOUR_AD_CREATIVE_ID" },
           "status"="PAUSED"
         }'

成功後,您的應用程式會收到包含廣告編號的下列 JSON 回應。

{
  "id": "YOUR_AD_ID"
}

步驟 6:發佈廣告

確認您的廣告是否存在於廣告管理員 中。點擊右上角的「檢查並發佈」按鈕。選擇您的行銷活動、行銷活動的廣告組合以及廣告。

您可以從廣告管理員或使用 API 來發佈廣告。若要使用 API 來發佈,請重複步驟 4,並將 status 參數設為 ACTIVE

Meta 會審查您的廣告,而狀態會是 PENDING_REVIEW。通過審查後,狀態會是 ACTIVE,並且會投放您的廣告。

表單管理

取得表單清單、特定表單問題,以及封存舊表單。

取得表單清單

若要取得名單型廣告表單的清單,請將 GET 要求傳送到 /page_id/leadgen_forms 端點,並將參數設定如下:

  • access_token 設為粉絲專頁存取權杖
  • fields(選填)設為逗號分隔的欄位清單,以取得名稱和表單 ID 等特定資訊

要求範例

採用方便閱讀的格式。將粗體、斜體值換成您的值。
curl -X GET "https://graph.facebook.com/v19.0/PAGE_ID/leadgen_forms
    ?fields=name,id
    &access_token": "YOUR_PAGE_ACCESS_TOKEN"

成功後,您的應用程式將收到 JSON 回應,內含表單的清單。您可以使用表單 ID 來取得該表單的問題,或將該表單封存。

取得 Messenger 合格表單的清單

只有包含特定需求的表單,才有資格在 Messenger 對話中傳送。

若要取得合格名單型廣告表單的清單,請傳送 GET 要求到 /page_id/leadgen_forms 端點,並將參數設定如下:

  • access_token 設為粉絲專頁存取權杖
  • fields 設為 is_eligible_for_in_thread_forms

要求範例

採用方便閱讀的格式。將粗體、斜體值換成您的值。
curl -X GET "https://graph.facebook.com/v19.0/PAGE_ID/leadgen_forms
    ?fields=is_eligible_for_in_thread_forms
    &access_token": "YOUR_PAGE_ACCESS_TOKEN"

成功後,您的應用程式將收到 JSON 回應,內含適用表單 ID 的清單。

{
  "data": [
    {
      "id": "eligible_form_1_id"
    },
    {
      "id": "eligible_form_2_id"
    }
  ],
...
}

取得問題清單

若要取得特定名單型廣告表單的清單,請將 GET 要求傳送到 /page_id/leadgen_form_id 端點,並將參數設定如下:

  • access_token 設為粉絲專頁存取權杖
  • fields 設為 questions

要求範例

採用方便閱讀的格式。將粗體、斜體值換成您的值。
curl -X GET "https://graph.facebook.com/v19.0/page_id/leadgen_form_id
    ?fields=questions
    &access_token=page_access_token"

成功後,您的應用程式將收到 JSON 回應,內含問題的清單。

封存表單

您只能封存名單型廣告表單,因為我們不支援刪除。表單一經封存:

  • (根據預設)表單不會出現在表單資料庫中
  • 您不能在廣告中使用已封存的表單,否則可能會經由 API 產生錯誤。
  • 在 CF 或 PE 的廣告建立流程期間,不能使用已封存的表單。

若要封存特定的名單型廣告表單,請將 POST 要求傳送到 /page_id/leadgen_form_id 端點,並將參數設定如下:

  • access_token 設為粉絲專頁存取權杖
  • status 設為 ARCHIVED

要求範例

採用方便閱讀的格式。將粗體、斜體值換成您的值。
curl -X GET "https://graph.facebook.com/v19.0/page_id/leadgen_form_id
    ?status=ARCHIVED
    &access_token=page_access_token"

成功後,您的應用程式將收到 JSON 回應,內含將 success 設為 true 的物件。

傳送 status 設為 ACTIVE 的要求,即可重新啟用已封存的表單。

新增表單至網站

若要將表單新增到您的網站,您可以使用 Facebook JavaScript SDK 來啟動彈出式對話方塊。彈出式對話方塊會在執行後立即啟動,因此請務必將其與適當的事件建立關聯。您將能夠定義回呼,為廣告創意提供必要的資料。Meta 會在粉絲專頁層級儲存表單。

限制

  • 行動裝置不支援此對話方塊。

請注意,act_包含在 ad_account_id 值中。

SDK 範例

粗體、斜體值換成您的值。

FB.ui({
  method: 'lead_gen',
  page_id: YOUR_PAGE_ID,
  ad_account_id: AD_ACCOUNT_ID, 
}, function(response) {
...
});

您將收到的回呼回應含有表單的相關資訊。

{
  follow_up_action_text: "YOUR_FOLLOW_UP_ACTION_TEXT",
  follow_up_action_url: "YOUR_FOLLOW_UP_ACTION_URL",
  formID: YOUR_FORM_ID,
  form_url: "YOUR_FORM_URL",
  is_tcpa_compliant: false,
  name: "YOUR_FORM_NAME",
  pageID: YOUR_PAGE_ID,
  privacy_policy_url: "YOUR_PRIVACY_POLICY_URL",
  status: "success"
}

回應屬性

名稱說明

custom_disclaimer_responses字串

對自訂免責聲明核取方塊的回應

follow_up_action_text字串

表單最後畫面上的追蹤動作文字標題

follow_up_action_url字串

表單最後畫面上的追蹤動作文字目的地

formID字串

必要項目。表單編號

form_url字串

表單網址

name字串

表單名稱

pageID字串

此表單所屬的頁面編號

privacy_policy_url字串

所提供的隱私政策網址

status字串

表單建立後會傳回 success

如果您取消建立表單,將顯示下列訊息:

{
  error_code: 4201,
  error_message: "User canceled the Dialog flow"
}