使用业务消息的事件 API 记录事件

消息事件 API 即将停用

  • 消息事件 API 将于 2025 年 9 月停用。为做好停用准备,从 2024 年 9 月 24 日 21.0 版本开始,未来的图谱 API 版本将不再支持消息事件 API。
  • 选择不更新到最新版图谱 API 的合作伙伴仍可以通过调用图谱 API 20.0 或之前版本来访问消息事件 API,直到 2025 年 9 月消息事件 API 产品正式停用。
  • 对于不更新到最新版图谱 API 的合作伙伴,建议使用转化 API 进行新的集成。详细了解转化 API

本指南介绍如何记录应用和 Facebook 公共主页事件,用以分析用户如何与应用和 Facebook 公共主页的 Messenger 体验互动。

前期准备

您需要准备以下各项:

  • page_events 权限
    • 如果您的应用已被授予 pages_messaging 权限的高级访问级别,且该应用在过去 90 天内没有任何违反政策行为,则在您提交应用审核时,系统将自动授予 page_events 权限的高级访问级别
  • 由可以在正被查询的公共主页上执行 ANALYZE 任务的用户请求的公共主页访问口令

限制

目前,欧洲或日本地区的企业或客户无法使用 Business 消息功能事件 API。

政策及条款

记录事件

系统通过向应用程序的 page_activities 连线提交 POST 请求记录事件:

https://graph.facebook.com/

请求示例:

curl -X POST -H "Content-Type: application/json" -d '{
  "custom_events": [
    {
      "_eventName": "fb_mobile_purchase",
      "_valueToSum": 57.23,
      "fb_currency": "USD"
    }
  ],
  "advertiser_tracking_enabled": 1,
  "application_tracking_enabled": 1,
  "page_id": <PAGE_ID>,
  "page_scoped_user_id": <PSID>,
  "logging_source": "messenger_bot",
  "logging_target": "page"
}' https://graph.facebook.com/v21.0/<APP_ID>/page_activities?access_token=<PAGE_ACCESS_TOKEN>

建议为字段 _eventName 应用标准事件。广告管理工具只会报告标准事件,而且广告定位和优化只能使用标准事件(如适用)。

例如:如要记录购买事件以在广告管理工具中完成归因分析,可以使用事件名称 fb_mobile_purchase

如需获取标准事件名称及参数的完整清单,请参阅应用事件 API 指南(应用事件方案部分)

下表列出了为记录 Messenger 事件必须向端点提供的属性和值:

属性描述

custom_events

您想要记录的事件数组。如需获取标准事件和适用参数的清单,请参阅应用事件 API 指南。您也可以使用自己的应用事件。您可以在数组中指定多个事件。

使用 JSON 编码数组来指定您的自定义事件详细信息。

page_id

指定与事件关联的公共主页编号。

使用与智能助手关联的公共主页的 Facebook 公共主页编号。

page_scoped_user_id

指定与记录事件的 Messenger 智能助手关联的公共主页范围用户编号。

使用提供给 Webhooks 的公共主页范围用户编号。

advertiser_tracking_enabled

指定是否启用广告追踪。

如要禁用,使用 0;如要启用,使用 1

application_tracking_enabled

指定是否在应用程序层级启用广告追踪。

如要禁用,使用 0;如要启用,使用 1

logging_source

指定事件源。

使用字符串 messenger_bot 来表示此事件来自 Messenger 智能助手。

logging_target

指定在其中记录事件的目标实体。

使用字符串 apppageapp_and_page 来控制哪个实体将收到此事件。详情请参阅应用事件常见问题

使用消息事件 API 报告潜在客户

应用现在可开始报告对话中的潜在客户提交信息。lead_submitted 事件支持应用自动报告被视为潜在销售客户的对话(例如,用户分享了他们的联系方式,并要求相关人员就销售事宜与其联系)。

该事件最适用于将特定用户识别为潜在客户,这应该有助于商家优先处理这类客户发起的对话。例如,商家可以设置一个自动化流程,确定用户是否符合成为潜在客户的条件,并在用户完成该流程时触发此事件,为在线客服人员将其标记为高潜对话。

目前,此项功能已在开放式 Beta 测试版中推出,且广告管理工具中已集成报告功能,因此该工具的用户界面中将报告潜在客户数据。

以下是报告对话中潜在客户事件的 API 调用示例:

curl -X POST -H "Content-Type: application/json" -d '{
  "custom_events": [
    {
      "_eventName": "lead_submitted"
    }
  ],
  "advertiser_tracking_enabled": 1,
  "application_tracking_enabled": 1,
  "page_id": <PAGE_ID>,
  "page_scoped_user_id": <PSID>,
  "logging_source": "messenger_bot",
  "logging_target": "page"
}' https://graph.facebook.com/v21.0/<APP_ID>/page_activities?access_token=<PAGE_ACCESS_TOKEN>

使用广告成效分析 API 报告潜在客户数据

您可以使用广告成效分析 API 来显示所报告的潜在客户事件。通过此 API,您可以创建高级分析面板,帮助显示由 CTX 广告系列带来的潜在客户。

前提条件

使用此 API 之前,请确保应用程序已通过 ads_read 权限的应用审核流程,并获得了高级访问级别。

执行阶段

以下是广告系列层级的成效分析调用示例:

curl -G \
-d "date_preset=last_7d" \
-d "access_token=<ACCESS_TOKEN>" \
"https://graph.facebook.com/<API_VERSION>/<AD_CAMPAIGN_ID>/insights"
    

根据期望的精细程度,可在广告账户、广告系列和广告组级别调用成效分析 API。

以下是用于获取潜在客户的调用:

  • 潜在客户(属性化)
    • /<OBJECT_ID>/insights?fields=actions
    • 结果:action_type=onsite_converstion.lead_grouped

有关以上操作类型的详细定义,请参阅广告操作统计数据参考文档

潜在客户分类的最佳实践

  1. 将广告主加入某种传统潜客开发垂直领域(汽车、专业服务、金融服务、B2B、教育、健康)中。
  2. 广告主可以索要联系方式(如电话或邮箱),这些信息由用户提供。
  3. 在电话或邮箱问题之前,先设置某种回答资格条件(如 1-2 个额外问题)。
  4. 如要在应用中提供潜客开发模板,请在潜客开发流程的末尾处(默认情况下)添加此信息。

注意:建议将每个包含电话号码或邮箱的对话自动标记为潜在客户,尤其是在出于支付/电子商务目的而共享电话号码的市场中。

验证事件记录

应用管理员或公共主页管理员可以在广告管理工具中查找相关事件,验证设置是否正确。

Messenger 分析的特殊注意事项

  • 单个应用可以记录多个公共主页的互动情况。在这些情况下,您可以在同一应用中查看与所有公共主页的互动事件。
  • 可将多个应用关联到一个公共主页。在这种情况下,如果公共主页被屏蔽,则与其关联的所有应用都将收到 fb_messenger_bot_stopped 事件。
  • 被删除的 Messenger 智能助手对话数量可能多于新用户活动数量。被删除的 Messenger 智能助手对话数量是用户删除对话的次数。公共主页可以在用户删除对话后发起进一步对话。用户可以删除新发起的对话,而这会增加被删除的 Messenger 智能助手对话数量。

开放平台运营商使用方法

记录目标

如果开放平台允许用户通过视觉界面构建 Messenger 体验,其通常会使用一个中央应用来支持所有与其关联的公共主页。如要允许客户查看他们的事件,必须将 logging_target 设置为 pageapp_and_page,从而将这些事件记录到客户的公共主页中。

用户界面

借助可视化编辑工具,您可以提供允许用户选择事件和定义其他参数的可拖动的块。这样做,公共主页管理员可以使用适当事件来设计 Messenger 流程。理想情况下,用户应该可以从下拉列表中选择标准事件,因为广告管理工具只会报告标准事件,而且广告定位和优化只能使用标准事件(如适用)。如果没有与用户操作相符的标准事件名称,并且不需要广告报告,您可能希望提供自由格式字段,以允许用户输入自定义事件名称和参数。

权限

您需要在应用程序的 Facebook 登录流程中获取必要的 page_events 权限。如这篇指南所述,您必须将该权限添加到“登录”按钮、Facebook 版 JavaScript SDK 调用或手动构建的登录流程的必要权限范围中。

其他资源