WhatsApp 直达广告

本指南会介绍如何使用市场营销 API 创建和发布 WhatsApp 直达广告。

WhatsApp 直达广告可将点击广告的用户直接引导至 WhatsApp 中,然后与您的商家开展对话。商家可以使用这些广告大规模覆盖用户,并提供出色的个性化服务。

WhatsApp 直达广告支持包含图片、视频、轮播或幻灯片的广告。您还可以在广告中加入通话提示。

如果您有意创建将用户传送至 Messenger 聊天或 Instagram 聊天的广告,请参阅 Messenger 直达广告Instagram 直达广告,获取指南。您还可以创建可选择用户最有可能回复的目标位置的广告。详情请参阅多目标位置直达广告

广告创建流程概览

本文档概述了您设置 WhatsApp 直达广告集成需要遵循的步骤。

您需要执行以下操作:

  1. 创建广告系列
  2. 创建广告组,将广告与广告系列关联
  3. 为您希望投放的 WhatsApp 广告类型创建广告创意
  4. 将广告创意与广告组关联,以创建广告
  5. 将广告发布到 Facebook、Instagram 和 Messenger

准备工作

本指南假设您已具备以下条件:

如要向本指南中的所有端点成功发出调用,您将需要:

  • 由可在公共主页上执行 ADVERTISE 任务的用户申请的公共主页访问口令
  • 必须向您的应用用户授予以下权限:
    • ads_management
    • pages_manage_ads
    • pages_read_engagement
    • pages_show_list

第 1 步:创建广告系列

首先创建广告系列。请向 /act_<AD_ACCOUNT_ID>/campaigns 端点发送 POST 请求,其中 <AD_ACCOUNT_ID> 是您 Meta 广告账户的编号。请求中必须包含:

参数

名称描述

name

字符串

必要项。
WhatsApp 直达广告系列的名称。

objective

枚举

必要。
广告系列的目标。
支持的目标为 OUTCOME_ENGAGEMENTOUTCOME_SALESOUTCOME_TRAFFIC
注意:如果广告系列包含通话提示,objective 必须为 OUTCOME_ENGAGEMENT

special_ad_categories

list<Object>

必要项。
与 WhatsApp 直达广告系列关联的特殊广告类别。请参阅广告系列参考文档,了解详情。

status

枚举

可选项。
有效选项是 PAUSEDACTIVE
如果广告系列的状态是 PAUSED,该广告系列所有投放中的广告组和广告都将暂停,生效状态为 CAMPAIGN_PAUSED

标准请求

curl -X POST \
  -F 'name=Click to WhatsApp Campaign' \
  -F 'objective=OUTCOME_ENGAGEMENT' \
  -F 'status=ACTIVE' \
  -F 'special_ad_categories=[]' \
  -F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v21.0/act_<AD_ACCOUNT_ID>/campaigns

通话广告系列请求

curl -X POST \
  -F 'name=Click to WhatsApp Calling Campaign' \
  -F 'objective=OUTCOME_ENGAGEMENT' \
  -F 'status=PAUSED' \
  -F 'special_ad_categories=[]' \
  -F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v21.0/act_<AD_ACCOUNT_ID>/campaigns

响应

若请求成功,应用收到的 JSON 响应中将包含您新建广告系列的编号。

{
  "id": "<AD_CAMPAIGN_ID>"
}

更新

您可以通过向 /<AD_CAMPAIGN_ID> 发送 POST 请求来更新广告系列。

读取

要验证您是否已成功创建 WhatsApp 直达广告系列,请向 /<AD_CAMPAIGN_ID> 发送 GET 请求。请参阅广告系列参考文档,获取可用参数的完整清单。

请求

curl -X GET -G \
  -d 'fields=name,status,objective' \
  -d 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v21.0/<AD_CAMPAIGN_ID>

响应

{
  "name": "Click to WhatsApp Campaign",
  "status": "PAUSED",
  "objective": "OUTCOME_ENGAGEMENT",
  "id": "<AD_CAMPAIGN_ID>"
}

第 2 步:创建广告组

广告系列创建完成之后,要创建广告组。创建方法是:向 /act_<AD_ACCOUNT_ID>/adsets 端点发送 POST 请求,其中 <AD_ACCOUNT_ID> 是您 Meta 广告账户的编号。请求中必须包含:

参数

名称描述

bid_amount

未签名的 int32

在 bid_strategy 设为 LOWEST_COST_WITH_BID_CAPCOST_CAP 时,此参数是必要项
您根据自己的 optimization_goal 希望为某个成效支付的最高金额。

bid_strategy

枚举

可选项。
此广告系列的与您特定业务目标相符的竞价策略。请参阅广告系列参考文档,了解详情。
值:LOWEST_COST_WITHOUT_CAPLOWEST_COST_WITH_BID_CAPCOST_CAP

billing_event

枚举

必要项。
对于 WhatsApp 直达广告,此参数必须设为 IMPRESSIONS。向用户展示您的广告时,Meta 将向您收取费用。

campaign_id

数字字符串或整数

必要项。
您希望在其中添加此广告组的有效 WhatsApp 直达广告。

daily_budget

int64

在未设置 lifetime_budget 时,此参数为必要项
以您的账户货币定义的单日预算。仅适用于投放期(end_timestart_time 之差)超过 24 小时的广告组。
daily_budgetlifetime_budget 必须大于 0

destination_type

字符串

必要项。
对于单目标位置的 WhatsApp 直达广告,此参数设为 WHATSAPP

end_time

日期时间

在指定了 lifetime_budget 时,此参数为必要项
创建包含 daily_budget 的广告组时,应指定 end_time=0;或将此字段留空,以将此广告组设为长期投放,没有结束日期。
示例:2015-03-12 23:59:59-07:002015-03-12 23:59:59 PDT。UTC UNIX 时间戳。

lifetime_budget

int64

在未设置 daily_budget 时,此参数为必要项
以您账户货币定义的广告组总预算。在指定了此字段时,您还必须指定 end_time
daily_budgetlifetime_budget 必须大于 0

name

字符串

必要项。
WhatsApp 直达广告组的名称。

optimization_goal

枚举

必要项。
广告组的优化目标。根据广告系列的目标,广告组可能有资格使用不同的优化目标。


OUTCOME_ENGAGEMENT:可为 CONVERSATIONSLINK_CLICKS 优化互动率目标。
OUTCOME_SALES:可为 CONVERSATIONSOFFSITE_CONVERSIONSLINK_CLICKSIMPRESSIONSREACH 优化销量目标。
OUTCOME_TRAFFIC:可为 CONVERSATIONSLANDING_PAGE_VIEWSLINK_CLICKSIMPRESSIONSREACHPOST_ENGAGEMENT 优化客流量目标。

promoted_object

必要项。
广告组要通过其所有广告进行推广的对象。对于 WhatsApp 直达广告,promoted_object 具有以下条件:

必要条件:

  • page_id必要项。Facebook 公共主页的编号。

可选条件:

  • whatsapp_phone_number:与 WhatsApp 直达广告组关联的 WhatsApp 电话号码。

请参阅广告组 > 推广对象,了解详情。

start_time

日期时间

可选项。
广告组的开始时间。如果未提供值,此字段将默认使用当前时间。
示例:2015-03-12 23:59:59-07:002015-03-12 23:59:59 PDT。UTC UNIX 时间戳。

status

枚举

必要项。
广告组的状态。此字段可与生效状态不同,具体值取决于上级广告系列。如果未提供值,此字段将默认使用 ACTIVE
值:ACTIVEPAUSEDDELETEDARCHIVED

targeting

定位对象

必要项。
WhatsApp 直达广告的定位结构。请参阅定位,了解详情。

time_start

日期时间

可选项。
可与 start_time 互换。

time_stop

日期时间

在指定了 lifetime_budget 时,此参数为必要项。
可与 end_time 互换。

请访问广告账户的广告组参考文档,获取可用参数的完整清单。

请求

curl -X POST \
  -H "Content-Type: application/json" \
  -d '{
    "access_token":"<ACCESS_TOKEN>",
    "bid_amount":"<BID_AMOUNT>",
    "billing_event":"IMPRESSIONS",
    "campaign_id":"<CAMPAIGN_ID>",
    "daily_budget":"<DAILY_BUDGET>",
    "destination_type":"WHATSAPP",
    "name": "<AD_SET_NAME>",
    "optimization_goal": "IMPRESSIONS",
    "promoted_object": {
      "page_id": "<PAGE_ID>"
    },
    "status": "PAUSED",
    "start_time": "<START_TIME>",
    "targeting": { 
      "geo_locations": { "countries":["US","CA"] },
      "device_platforms": ["mobile", "desktop"]
    } 
  }' \
"https://graph.facebook.com/v21.0/act_<AD_ACCOUNT_ID>/adsets"

响应

{
  "id": "<AD_SET_ID>"
}

更新

您可以通过向 /<AD_SET_ID> 发送 POST 请求来更新广告组。

读取

要验证您是否已成功创建 WhatsApp 直达广告组,请向 /<AD_SET_ID> 发送 GET 请求。请参阅广告组参考文档,获取可用参数的完整清单。

请求

curl -X GET -G \
  -d 'fields=name,destination_type,optimization_goal,bid_strategy,status' \
  -d 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v21.0/<AD_SET_ID>

响应

{
  "name": "Click to WhatsApp Campaign",
  "status": "PAUSED",
  "objective": "OUTCOME_ENGAGEMENT",
  "id": "<AD_SET_ID>"
}

第 3 步:创建广告创意

通过广告创意,您可以为广告添加素材。如要创建广告创意,请向 /act_<AD_ACCOUNT_ID>/adcreatives 端点发送 POST 请求,其中 <AD_ACCOUNT_ID> 是您 Meta 广告账户的编号。请求中必须包含:

参数

名称描述

name

字符串

必要项。
广告创意的名称。

object_story_spec

必要项。
包含某条消息相关信息的一个对象。请参阅广告创意对象快拍规格,了解详情。


必要条件:

  • page_id:Facebook 公共主页的编号

可选条件:

  • link_data:链接公共主页帖子或轮播广告的规格
  • photo_data:照片公共主页帖子的规格
  • text_data:文本公共主页帖子的规格
  • video_data:视频公共主页帖子的规格

degrees_of_freedom_spec

可选项。
请参阅适用于进阶赋能型素材的标准美化,了解详情。

请访问广告创意参考文档,获取可用参数的完整清单。

填写公共主页的欢迎消息

客户看到的默认消息是“您好!我能获得与这个公共主页相关的更多信息吗?”。通过在 object_story_spec 下的 page_welcome_message 字段中定制广告的问候消息,您可以为 WhatsApp 直达广告创建更细化的专属用户体验。

注意:如果您正在使用 WhatsApp 消息触发任何智能助手流程,请务必与您的 BSP 和代理方合作更新该消息,以确保智能助手流程不会中断。

示例

使用问候消息添加自动填写消息

"page_welcome_message": {
  "type": "VISUAL_EDITOR",
  "version": 2,
  "landing_screen_type": "welcome_message",
  "media_type": "text",
  "text_format": {
    "customer_action_type": "autofill_message",
    "message": {
      "autofill_message": {
        "content": "<AUTOFILL_MESSAGE>"
      },
      "text": "<GREETING_MESSAGE>"
    }
  }
}

使用问候消息添加开场白

"page_welcome_message": {
  "type": "VISUAL_EDITOR",
  "version": 2,
  "landing_screen_type": "welcome_message",
    "media_type": "text",
    "text_format": {
      "customer_action_type": "ice_breakers",
      "message": {
        "text": "<GREETING_MESSAGE>",
        "ice_breakers": [
          {
            "title": "<ICEBREAKER>"
          },
          {
            "title": "<ICEBREAKER>"
          },
          {
            "title": "<ICEBREAKER>"
          }
        ]
      }
    }
  }
}

添加包含通话提示的消息

curl \
  -F 'object_story_spec={
      "page_id": "<PAGE_ID>"
      "link_data": {
     "image_hash":<IMAGE_HASH>
            "call_to_action": {
              	"type": "WHATSAPP_MESSAGE",
              	"value": {
                  	"app_destination": "WHATSAPP"
             	 }
          },
          "link": "https://api.whatsapp.com/send",
          "name": <AD_HEADLINE>",
          "page_welcome_message":
       "type": "VISUAL_EDITOR",
        "version": 2,
        "landing_screen_type": "ctwa_call_prompt",
        "media_type": "text",
        "text_format": {
          "message": {
            "text": "<MESSAGE>"", 
            "call_prompt_data": {
              "call_prompt_message": "<CALL_PROMPT_MESSAGE>"
            }
          }
        },
        "user_edit": false
      },
  https://graph.facebook.com/v21.0/act_<AD_ACCOUNT_ID>/adcreatives

响应

{
  "id": "<AD_CREATIVE_ID>"
}

广告创意创建示例

请求

curl -X POST \
  -H "Content-Type: application/json" \
  -d '{
        "name": "Sample ad creative",
        "object_story_spec": {
          "page_id": "<PAGE_ID>",
          "link_data": {
            "name": "<AD_HEADLINE>",
            "message": "<AD_PRIMARY_TEXT>",
            "description": "<AD_DESCRIPTION>",
            "image_hash": "<IMAGE_HASH>",
            "link": "https://api.whatsapp.com/send",
            "page_welcome_message": "<PAGE_WELCOME_MESSAGE>",
            "call_to_action": {
              "type": "WHATSAPP_MESSAGE",
              "value": {
                "app_destination": "WHATSAPP"
              }
            }
          }
        },
        "degrees_of_freedom_spec": {
          "creative_features_spec": {
            "standard_enhancements": {
              "enroll_status": "OPT_IN"
            }
          }
        }
      }' \
"https://graph.facebook.com/v21.0/act_<AD_ACCOUNT_ID>/adcreatives"

响应

若请求成功,应用收到的 JSON 响应中将包含您新建广告创意的编号。

{
  "id": "<AD_CREATIVE_ID>"
}

使用 Instagram 内容创建广告创意

您还可以将现有 Instagram 内容用于创建广告创意。

curl -X POST \
  -H "Content-Type: application/json" \
  -d '{
        "source_instagram_media_id": "<INSTAGRAM_MEDIA_ID>",
        "instagram_user_id": "<INSTAGRAM_USER_ID>",
        "object_id": "<PAGE_ID>",
        "call_to_action": {
          "type": "WHATSAPP_MESSAGE",
            "value": {
              "link": "https://api.whatsapp.com/send",
              "app_destination": "WHATSAPP"
            }
          }
        },
        "degrees_of_freedom_spec": {
          "creative_features_spec": {
            "standard_enhancements": {
              "enroll_status": "OPT_IN"
            }
          }
        }
      }' \
  https://graph.facebook.com/latest-api-version />/act_<AD_ACCOUNT_ID>/adcreatives

更新

您可以通过向 /<AD_CREATIVE_ID> 发送 POST 请求来更新广告创意

读取

要验证您是否已成功创建 WhatsApp 直达广告创意,请向 /<AD_CREATIVE_ID> 发送 GET 请求。请参阅广告创意,获取可用参数的完整清单。

请求

curl -X GET -G \
  -d 'fields=name,object_story_spec{link_data{call_to_action,page_welcome_message}}' \
  -d 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v21.0/<AD_CREATIVE_ID>

响应

{
  "name": "Sample ad creative",
  "object_story_spec" {
    "page_welcome_message": {
      "type": "VISUAL_EDITOR",
      "version": 2,
      "landing_screen_type": "welcome_message",
      "media_type": "text",
      "text_format": {
        "customer_action_type": "autofill_message",
        "message": {
          "autofill_message": {
            "content": "Sample autofill message"
          },
        "text": "Sample greeting message"
        }
      }
    }
  },
  "id": "<AD_CREATIVE_ID>"
}

第 4 步:创建广告

您可以通过广告将广告创意信息与广告组关联。如要创建广告,请向 /act_<AD_ACCOUNT_ID>/ads 端点发送 POST 请求,其中 <AD_ACCOUNT_ID> 是您 Meta 广告账户的编号。请求中必须包含:

参数

名称描述

name

字符串

必要项。
广告的名称。

adset_id

数字字符串或整数

必要项。
广告组的编号。

creative

必要项。
要用于此广告的广告创意。您可以提供现有广告创意的 creative_id,或通过在请求中加入所有必要字段来新建一个广告创意。请参阅广告创意,了解详情。

status

枚举

必要项。
广告的配置状态。
值:ACTIVEPAUSEDDELETEDARCHIVED

请求

curl -X POST \
  -H "Content-Type: application/json" \
  -d '{
        "name": "Sample ad",
        "adset_id": "<AD_SET_ID>",
        "creative": {
          "creative_id": "<AD_CREATIVE_ID>"
        },
        "status": "PAUSED"
     }' \
  "https://graph.facebook.com/v21.0/act_<AD_ACCOUNT_ID>/ads"

响应

{
  "id": "<AD_ID>"
}

更新

您可以通过向 /<AD_ID> 发送 POST 请求来更新广告

读取

要验证您是否已成功创建 WhatsApp 直达广告,请向 /<AD_ID> 发送 GET 请求。请参阅广告参考文档,获取可用参数的完整清单。

请求

curl -X GET -G \
  -d 'fields=status,adset_id,campaign_id \
  -d 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v21.0/<AD_ID>

响应

{
  "status": "PAUSED",
  "adset_id": "<AD_SET_ID>",
  "campaign_id": "<AD_CAMPAIGN_ID>",
  "id": "<AD_ID>"
}

第 5 步:发布广告

验证广告是否出现在广告管理工具中。准备好发布您的更改时,请选择您的广告系列、该广告系列的广告组和所需广告,然后点击发布按钮。

您还可以使用 API 发布广告。只需向 /<AD_ID> 发送 POST 请求,在请求中加入 status 参数(设为 ACTIVE),请求中的 <AD_ID> 是您要发布的广告。

您的广告需要经过 Meta 的审核,因而该广告的状态将是 PENDING_REVIEW。广告获批后,其状态将自动变为 ACTIVE,然后系统便会投放您的广告。