转化 API 旨在将您的营销数据与帮助在 Meta 技术方案中优化广告定位、降低单次操作费用和衡量成效的系统建立直接关联。您可以配置自己在 Google Cloud Platform (GCP) 或任何其他云服务提供商设置的服务器,以通过转化 API 发送关键网站事件和线下事件数据。借助此项设置,您在配置 Google Analytics(分析)4 (GA4) 网站标签之后,可以将该数据发送至您在 Google Cloud Platform (GCP) 上托管的自有服务器,并最终通过转化 API 发送至 Meta。
转化 API 标签由 Meta 根据 Google 自定义标签模板进行编写和维护。如果您对 Google 产品设置或 Google 开发者文档有任何疑问,请联系 Google。
本文档概述如下:
您可以使用此容器来管理和存储追踪和营销标签。此容器还可以帮助您追踪用户与您网站的互动情况。
您需要配置服务器容器和网站容器:
访问 Google 跟踪代码管理器网站,前往 Google 跟踪代码管理器。
如果您已有账户,请选择该账户。否则,新建一个 GTM 账户。
点击创建容器
为容器命名,并选择“服务器”作为目标平台
点击创建
设置服务器容器需要配置标签服务器。默认的 GCP 部署可以在设置服务器容器时完成。请参阅以下指南。对于任何其他云服务提供商(例如,AWS 或 Microsoft Azure),请参阅服务器手动设置指南。
配置网站容器和服务器容器
graph.facebook.com
)。配置您的网站容器,以将您的网站数据发送至已创建的标签服务器。详细了解如何配置 Google Analytics(分析):GA4 配置标签。
transport_url
您可以为所有事件中要发送的任何其他参数配置额外字段。
first_party_collection
true
如果您拥有已设置的现有 GA4 配置,则可修改此配置,或为服务器端 GTM 创建额外的配置标签。
如果这是您第一次设置服务器端 GTM,则当您添加服务器容器网址后,系统开始将所有流量发送至服务器容器。如果您想将数据继续发送至 GA4,则需要在服务器容器中添加 GA4 服务器端标签,确保该标签可对所有事件触发。您可能需要创建额外的 GA4 事件标签或修改现有标签,才能确保完全映射到 Meta Pixel 像素代码事件。
如果您已设置自定义域,并且 GTM 标签服务器域是第一方,则系统会自动发送 Meta 浏览器编号和 Meta 点击编号。
如果您使用提供的默认域,或发现在事件管理工具中未发送“浏览器编号”和“点击编号”字段,则可按以下操作进行配置:
_fbp
_fbc
为各个 GTM 常见事件架构的 user_data 参数创建数据层变量。详细了解如何设置数据层变量。例如,如要将邮箱传递至服务器端 GTM,您需要创建一个变量(例如 user_data_email_address
),此变量应能与数据层变量名称 eventModel.user_data.email_address
相映射。
如果您不使用数据层,则为要使用的每个参数(如下所示)配置变量。下方列表显示了 Meta 和 GTM user_data 参数的所有映射,以及各参数在帮助提高事件匹配质量方面的一般优先级。为充分发挥 Meta 广告的效用,建议您在设置集成时遵循转化 API 最佳实践。如果您已设置转化 API,建议考虑遵循上述最佳实践,以改善现有设置。这些转化 API 最佳实践可能会有助于降低您的单次操作费用,从而提升广告表现。
转化 API Meta 参数 | GA4 字段名称 | GTM 数据层变量名称 | 优先级 |
---|---|---|---|
邮箱
| user_data.email_address | eventModel.user_data.email_address | 高 |
点击编号
| x-fb-ck-fbc | 不适用 | 高 |
Facebook 登录编号 | user_data.fb_login_id | 不适用 | 中 |
出生日期
| x-fb-ud-db | 不适用 | 中 |
国家/地区
| user_data.address.country | eventModel.user_data.address.country | 中 |
手机号
| user_data.phone_number | eventModel.user_data.phone_number | 中 |
外部编号
| x-fb-ud-external_id | 不适用 | 中 |
浏览器编号
| x-fb-ck-fbp | 不适用 | 中 |
州/省/自治区/直辖市
| user_data.address.region | eventModel.user_data.address.region | 中 |
性别
| x-fb-ud-ge | 不适用 | 中 |
名字
| user_data.address.first_name | eventModel.user_data.address.first_name | 低 |
姓氏
| user_data.address.last_name | eventModel.user_data.address.last_name | 低 |
城市
| user_data.address.city | eventModel.user_data.address.city | 低 |
邮编 | user_data.address.postal_code | eventModel.user_data.address.postal_code | 低 |
配置网站容器,以将网站数据发送至已创建的标签服务器,从而添加 Google Analytics(分析)。详细了解如何配置 Google Analytics(分析):GA4 配置标签。
将 Google Analytics(分析):GA4 事件标签从模板库添加到您的工作区:
Meta 标准事件名称 | Google Analytics(分析)事件名称 |
---|---|
AddPaymentInfo | add_payment_info |
AddToCart | add_to_cart |
AddToWishlist | add_to_wishlist |
PageView | gtm.dom |
PageView | page_view |
Purchase | purchase |
Search | search |
InitiateCheckout | begin_checkout |
Lead | generate_lead |
ViewContent | view_item |
CompleteRegistration | sign_up |
在“事件参数”部分:
每个 GTM 服务器端容器都默认包含 GA4 客户端,用于侦听使用其 GA4 网站标签配置的事件。GA4 客户端会侦听您标签服务器网址上的 /g/collect 路由,并将 eventModel 发送至下游标签。如果您已在“客户端”部分下的服务器容器中安装默认的 GA4 客户端,则可继续执行第 4 步。
如要将事件发送至转化 API,您需要从模板库中安装 Meta 转化 API 标签。标签模板被称为转化 API 标签,提供方是 facebookincubator。您可以将此标签的触发条件设置为 GA4 客户端接收事件(前一步中)以及事件被发送至转化 API。如要安装 Meta 转化 API 标签,您需要拥有 Pixel 像素代码编号和访问口令,并指定操作来源为“网站”。使用转化 API,即表示您同意:据您所知,action_source
参数准确无误。
建议您先使用 Google 标签管理工具的预览模式测试集成,然后再发布更新。网站容器和服务器容器都有预览模式,您可同时运行这两种容器的预览模式。
如果您在运行预览模式时更改设置,请务必重新开启预览模式,以确保测试时反映更改情况。
您可以使用事件管理工具中的“测试事件”功能来验证服务器事件是否已按预期方式被接收。如要找到此工具,请前往事件管理工具 > 数据源 > 您的 Pixel 像素代码 > 测试事件。
测试事件工具可生成测试编号。将测试编号作为转化 API 标签中的 test_event_code
参数发送,即可开始查看“测试事件”窗口中显示的事件活动。在发布任何更新之前,请务必移除测试编号。
通过测试事件工具,您可以查看事件是否被接收,以及是否正确去重。如果一两分钟后系统未显示事件,请查看 GTM 服务器端调试工具,以确认请求是否成功:
https://graph.facebook.com
的传出请求。查看请求详情底部的响应正文,以了解错误情况,然后适当更新集成。在做出更改后请务必重新开启预览模式。在系统显示事件后,请验证是否正确发送各事件的事件编号,以及是否正确显示所有预期的匹配键和自定义数据参数。测试事件工具将显示是否正确删除重复事件。如果事件编号不同,请确保触发 GA4 和 Meta Pixel 像素代码标签的触发器相同,并检查事件编号变量的实现情况。
我们推荐您使用冗余事件设置,分享同时来自转化 API 以及您的 Meta Pixel 像素代码的相同事件。确保两个事件都使用相同的 event_name
,而且包括 event_id
或 external_id
与 fbp
参数组合。
这有助于 Meta 删除重复事件,减少相同事件的重复报告。详细了解有关删除重复事件的内容(包括何时需要删除以及如何设置)。external_id 和 fbp 是删除重复事件的替代解决方案,还可帮助提高设置质量。我们建议尽可能包含这三个参数。
在 GTM 中,您可通过多种方式在浏览器标签及服务器标签中设置包含相同值的参数。方式之一是将相同的 GA4 事件用作触发 Meta Pixel 像素代码标签和服务器事件的触发器。为此,请执行以下操作:
event_id
:
x-fb-event_id
)。使用 Javascript 方法(或使用 Google 标签管理工具自定义 Javascript 变量)在网站上(按事件)生成一个唯一编号,并将事件中的值设置为:gtag('event', 'purchase', { 'x-fb-event_id': generateEventId(), ...:... });您可以创建一个变量,以指示上方所示的自定义 Javascript。每当引用该变量时,系统就会以行的形式加载下方 Javascript:
function() { var gtmData = window.google_tag_manager[{{Container ID}}].dataLayer.get('gtm'); return gtmData.start + '.' + gtmData.uniqueEventId; }
event_id
中读取此值。为此,您可以新建一个数据层变量,例如 FBEventIdVar,并将其命名为 eventModel.event_id
。event_id
。fbq('track', Purchase, {..}, {eventID: FBEventIDVar });配置 GA4 事件,以发送名为
event_id
的额外参数,将参数值设置为 FBEventIdVar
变量。
如要发送自定义数据,请在 GA4 事件标签中使用以下映射:
Meta 参数名称 | GA4 参数名称 |
---|---|
value | value |
currency | currency |
search_string | search_term |
order_id | transaction_id |
content_ids | x-fb-cd-content_ids |
content_type | x-fb-cd-content_type |
content_name | x-fb-cd-content_name |
content_category | x-fb-cd-content_category |
contents* | items OR x-fb-cd-contents |
num_items | x-fb-cd-num_items |
predicted_ltv | x-fb-cd-predicted_ltv |
status | x-fb-cd-status |
delivery_category | x-fb-cd-delivery_category |
custom_properties* | custom_properties |
在发送前,请加入 JSON.stringify x-fb-cd-contents 和 custom_properties,因为这些参数是 Meta 定义的 JSON 参数。
配置好网站容器和服务器容器后,您便可以从网站发送示例事件以验证服务器事件。完成参数配置的事件示例如下:
gtag('event', 'purchase', { 'event_id': generateEventId(), 'transaction_id': 't_12345', 'currency': 'USD', 'value': 1.23, user_data: { email_address: '<HASHED_DATA>', phone_number: '<HASHED_DATA>', address: { first_name: '<HASHED_DATA>', last_name: '<HASHED_DATA>', city: '<HASHED DATA>', region: '<HASHED_DATA>', postal_code: '<HASHED_DATA>', country: '<HASHED_DATA>' }, }, items: [ { item_id: '1', item_name: 'foo', quantity: 5, price: 123.45, item_category: 'bar', item_brand: 'baz' } ], });
事件触发后,应该会看到系统向 www.analytics.example.com/g/collect(仅为示例链接)发送包含已配置参数的请求。您可以将测试事件代码添加至 Meta 转化 API 标签,以验证发送至转化 API 的事件。测试事件代码应只用于测试。在发送生产负载时,您需要移除测试事件代码。
在发布更新后,您可以参考此验证设置页面,通过查看“验证设置 - 转化 API”,确认是否已正确发送事件,并检查此优质集成是否遵循最佳实践。
是否计划添加发送自定义参数的功能?如果是,此功能会在何时推出?
答:我们已为 GTM 架构中支持的大多数转化 API 的标准自定义参数添加了映射功能。我们还提供了自定义映射功能。详情请参阅此处。
单个服务器或集群能否运行多个容器?
答:目前,GTM 仅支持一对一映射。请阅读有关如何配置容器的建议。
服务器端 GTM 是否需要浏览器标签才能触发事件?
答:是
是否可以将 GA4 与服务器端单独集成?
答:如要单独集成 GA4 和服务器端 GTM,您可以在 Google Analytics(分析)中创建一个额外的成效衡量编号。使用此成效衡量编号为服务器端 GTM 创建一个单独的 GA4 配置标签,然后再按上述步骤操作。在此情况下,现有 GA4 配置标签会将 GA 流量继续发送至网站容器,而新的配置标签会将数据发送至服务器容器。按照第 2 步创建额外的 GA4 事件标签,以使用新的配置标签将事件发送至服务器端
GTM 转化 API 集成是否适用于 GCP 以外的云托管解决方案?
答:GTM 转化 API 集成应该适用于 GCP 或您选择的任何其他平台。有关手动配置详情,请参阅此处。