广告主可以使用转化 API 通过单个端点(而非多个来源)向 Meta 发送网站、应用和实体店这三类事件以及业务消息事件。应用事件与转化 API 的合并将简化广告主的技术堆栈,并将在 Meta 事件管理工具中通过使用数据集打造出一个更全面的视图。
本文档针对将应用事件集成到转化 API 提供了指导。
通过转化 API 发送的应用事件必须与某个数据集关联。
Datasets allow advertisers to connect and manage event data from web, app, store and business messaging event sources to the Conversions API. Datasets may show event data from any of these integrations that you choose to set up:
Datasets enable you to view all customer activities from a single interface. They also allow you to reduce the effort to build and maintain multiple API integrations.
In Events Manager, advertisers have different options to create a dataset depending on their starting point. Or you can create a brand new dataset in Events Manager by linking during offline event set creation or through an existing mobile app or during messaging event set creation information. Note that linking a dataset to an application is required before sending mobile app events to the Conversions API and only one application can be linked to a dataset. See more details and instructions here.
您可以向 https://graph.facebook.com/v16.0/{ads-pixel-id}/is_consolidated_container 发出 GET
调用,以检测广告主的数据集是否经过整合,并因此符合通过转化 API 传递应用事件的条件。
a. 将数据集编号与应用编号绑定
在事件管理工具中,可使用两种方法绑定您的应用与数据集:
完成绑定后,数据集中将包含已绑定的应用。
b. 必填字段
您可以参阅此处,了解当前可通过转化 API 发送的一组参数。如要发送应用事件,可在负载中分享以下 server_event 字段:
action_source
中必须包含值 app
。event_id
是必填项。Parameter | Description |
---|---|
advertiser_tracking_enabled boolean | Required for app events Use this field to specify ATT permission on an iOS 14.5+ device. Set to |
application_tracking_enabled boolean | Required for app events A person can choose to enable ad tracking on an app level. Your SDK should allow an app developer to put an opt-out setting into their app. Use this field to specify the person's choice. Use |
extinfo object Please use the down arrow to the right to see the list of | Required for app events Extended device information, such as screen width and height. This parameter is an array and values are separated by commas. When using Note:
|
campaign_ids string | Optional An encrypted string and non-user metadata appended to the outbound URL (for example, ad_destination_url) or deep link (for App Aggregated Event Manager) when a user clicked on a link from Facebook. Graph API definition: Parameter passed via the deep link for Mobile App Engagement campaigns. |
install_referrer string | Optional |
installer_package string | Optional Used internally by the Android SDKs |
url_schemes array | Optional Used internally by the iOS and Android SDKs. |
vendor_id string | Optional Vendor ID. |
windows_attribution_id string | Optional Attribution token used for Windows 10. |
参数 | 描述 |
---|---|
anon_id 字符串 | 无需进行哈希处理。 |
madid 字符串 | 无需进行哈希处理。 |
参数 | 描述 |
---|---|
description 字符串 | 可选。 |
level 字符串 | 可选。 |
max_rating_value | 可选。 |
success 布尔值 | 可选。 |
总之,使用转化 API 分享的应用事件将需要以下数据参数:
action_source
:必须设为“应用”。(使用转化 API,即表示您同意:据您所知,action_source
参数准确无误)event_id
:在设置去重情况下是必填项,详情请参阅“设置多渠道去重”部分。以下是 extinfo
的示例。确保已填写以下所有子参数并按顺序对其进行排列。如有内容缺失,需使用空字符串作为占位符。
子参数名称 | 是否必要 | 数据类型 | 示例 |
---|---|---|---|
extinfo version | 是 | 字符串 |
|
app package name | 否 | 字符串 |
|
short version | 否 | 字符串 |
|
long version | 否 | 字符串 |
|
os version | 是 | 字符串 |
|
device model name | 否 | 字符串 |
|
locale | 否 | 字符串 |
|
timezone abbr | 否 | 字符串 |
|
carrier | 否 | 字符串 |
|
screen width | 否 | 字符串 |
|
screen height | 否 | 字符串 |
|
screen density | 否 | 字符串 |
|
cpu core | 否 | 字符串 |
|
external storage size | 否 | 字符串 |
|
free space in external storage size | 否 | 字符串 |
|
device time zone | 否 | 字符串 |
|
c. 设置多渠道去重
需要使用去重机制来删除转化 API 集成与应用事件的所有其他现有集成(包括 SDK、MMP 和应用事件 API)之间的重复事件流量。
对应用事件,我们会应用现用于网站事件的去重功能。该功能会利用字段 event_id
和 event_name
实现去重(具有同一 event_id
的转化 API 和 SDK/应用事件 API 事件)。event_id 参数是唯一可区分相似事件的标识符。如果事件编号不准确,这可能会导致系统错误地对您的转化事件进行去重处理,进而影响转化报告和广告系列表现。
您可以参阅以下开发者文档来实现去重设置:
以下示例展示了如何记录自定义事件。如要记录此类事件,在 iOS SDK 中,请以 AppEvents.Name 的形式传递事件名称:
AppEvents.shared.logEvent(.achievedLevel, parameters: [AppEvents.ParameterName(rawValue: "event_id"): "123"])
对于应用安装事件,已建立一个去重机制,来确保在过去 90 天的期限内仅为一个安装事件执行归因操作。我们会保留第一个事件,而弃用后续事件,无论后续事件来自哪个操作来源都是如此。对与安装事件相关的应用事件而言,不要求进行去重处理。
d. 发送事件
如要发送新事件,请通过以下路径向转化 API 发出 POST
请求:https://graph.facebook.com/{API_VERSION}/{DATASET_ID}/events?access_token={TOKEN}
。向此连线发出该请求时,Meta 会新建应用服务器事件。详情请参阅此处的开发者文档。
下图简要介绍了各参数如何融入有效负载的整体架构中:
{ "data": [ { "event_name": "Purchase", "event_time": 1684389752, "action_source": "app", "user_data": { "em": [ "30a79640dfd8293d4f4965ec11821f640ca77979ca0a6b365f06372f81a3f602" ], "ph": [ "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b" ], "madid": "bbbbbbbbbbbb", "anon_id": "cccccccc" }, "custom_data": { "currency": "USD", "value": "142.52" }, "app_data": { "advertiser_tracking_enabled": "True", "application_tracking_enabled": "True", "campaign_ids": "aaaaaaaaa", "extinfo": [ "a2", "com.some.app", "771", "Version 7.7.1", "10.1.1", "OnePlus6", "en_US", "GMT-1", "TMobile", "1920", "1080", "2.00", "2", "128", "8", "USA/New York" ] } } ] }