广告潜客信息表单

本文介绍如何通过利用市场营销 API 来使用图谱 API 创建潜客开发广告。

如要创建和发布潜客广告,您需要遵循以下步骤:

  1. 创建广告系列
  2. 创建广告组,将广告与广告系列关联
  3. 创建潜客信息表单
  4. 使用潜客信息表单创建广告创意
  5. 将广告系列与广告创意关联,以创建广告
  6. 发布广告

准备工作

本指南假设您已经查看 Messenger 开放平台概览,并且已经实现发送和接收消息和通知所需的组件。

您需要具备以下各项:

第 1 步:创建广告系列

如要为您的潜客开发广告创建广告系列,请向 /act_AD_ACCOUNT_ID/campaigns 端点发送 POST 请求,请求中加入以下参数:

  • 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 步:创建广告组

如要创建广告组,请向 act_ad_account_id/adsets 端点发送 POST 请求,其中 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_rulepixel_id

请求示例

为方便阅读,示例格式已经过调整。将粗体、斜体值(如 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 步:创建潜客信息表单

如要创建潜客信息表单,请向 /PAGE_ID/leadgen_forms 端点发送 POST 请求,并在请求中加入以下参数:

  • 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} 中介绍的一般问题类型以外,您还可以为以下用例添加更多专用的问题类型:

  • 预约排程 – 预约排程问题会显示日期和时间选择工具,并在问题下方列出限时选择和确认消息。
  • 身份证号码 – 身份证号码问题会根据用户的国家/地区显示问题,并会验证所输入号码的格式。
  • 店铺定位工具 – 店铺定位工具问题会根据用户输入的邮编显示店铺定位工具选取器。

预约排程

预约排程问题会显示日期和时间选择工具,并在问题下方列出限时选择和确认消息。

如要添加预约排程问题,请在添加 questions 对象时将 type 参数设置为 DATE_TIME。或者,您也可根据需要在 inline_context 参数中添加直接显示在 questions 字段下方的确认消息,以提供更多上下文。

...
           "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

如要添加身份证编号问题,请在添加 questions 对象时将 type 参数设置为用户的国家/地区类型。

限制

  • 您只能以任意给定形式请求单一身份证编号,并且只能以相应国家/地区的用户为目标受众。例如,如果您请求秘鲁的 DNI,您的目标受众必须限制为秘鲁。只有符合该条件的广告可获得批准。
  • 验证会检查格式是否有效;不会验证身份证号码是否属于真实用户。
...
           "questions": "[
               ...
               {"type": "ID_AR_DNI"
               },
...

店铺定位工具

店铺定位工具问题会根据用户输入的邮编显示店铺定位工具选择工具。

您需要设置店铺公共主页架构才能添加此问题。了解 Meta Business 帮助中心 – 在 Facebook 设置店铺公共主页架构

如要添加店铺定位工具问题,请在添加 questions 对象时将 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 步:创建广告创意

如要创建带图片和表单的广告创意,请向 /act_AD_ACCOUNT_ID/adcreatives 端点发送 POST 请求,并在请求中加入以下参数:

  • access_token,设置为您的公共主页访问口令
  • object_story_spec,其中应包含 link_data 对象,并在对象中加入以下参数:
    • call_to_action,设置为一个包含 typevalue(设为您的潜客信息表单编号)的对象
    • 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"
}
      

如要创建广告,您需要将广告创意与广告组关联。如要创建广告,请向 /act_AD_ACCOUNT_ID/ads 端点发送 POST 请求。请求中必须包含:

  • 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,然后系统便会投放您的广告。

表单管理

获取表单清单和特定表单的问题清单,并将旧表单归档。

获取表单清单

如要获取潜客开发广告表单清单,请向 /page_id/leadgen_forms 端点发送 GET 请求,请求中加入以下参数:

  • access_token,设置为您的公共主页访问口令
  • fields(可选),设置为以逗号分隔的字段列表,用于获取名称和表单编号等特定信息

请求示例

为方便阅读,示例格式已经过调整。将粗体、斜体值替换为您的值。
curl -X GET "https://graph.facebook.com/v19.0/PAGE_ID/leadgen_forms
    ?fields=name,id
    &access_token": "YOUR_PAGE_ACCESS_TOKEN"

请求成功后,您的应用将收到 JSON 响应,其中包含表单清单。您可以使用表单编号获取该表单的问题,或对表单归档。

获取符合 Messenger 条件的表单清单

只有包含特定要求的表单才符合 Messenger 对话发送条件。

如要获取符合条件的潜客信息表单清单,请向 /page_id/leadgen_forms 端点发送 GET 请求,并在请求中加入以下参数:

  • 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 响应,其中包含符合条件的表单的编号清单。

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

获取问题清单

如要获取特定潜客开发广告表单的问题清单,请向 /page_id/leadgen_form_id 端点发送 GET 请求,请求中加入以下参数:

  • 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 中创建广告时,已归档的表单不可用。

如要对特定潜客开发广告表单归档,请向 /page_id/leadgen_form_id 端点发送 POST 请求,请求中加入以下参数:

  • 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 来启动弹出对话框。实现此 SDK 后,弹出对话框将随即启动。因此,请确保将该对话框与某个适当的事件相关联。然后,您将能够定义为广告创意提供必需数据的回调。Meta 会在公共主页级别存储表单。

限制

  • 移动设备不支持此对话框。

请注意,ad_account_id 值中包含act_

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"
}