我试图实现一个流程以将购买事件从条带事件处理程序发送到 Facebook 转换 API。我将 Facebook 业务 sdk 用于 nodejs。我成功地能够发送诸如 PageView、Add Payment Info 和其他事件之类的事件,但它们都是我能够重新建立诸如页面 url、文档标题和用户代理之类的上下文的事件,因为这些事件是通过以下方式发送到服务器的一个专用的 API 端点,其唯一目的是向 FB 和 GA 发送事件。但是对于这些购买事件,即使我将值设置action_source
为system_generated
值并省略用户代理、页面 url 和内容名称参数,这也会以某种方式成为一个挑战。
即使在我尝试通过发送 action_source=website 并为 event_source_url 和用户代理设置存根值来模拟网站事件之后,这些从条带事件处理程序发送的事件甚至都不会到达测试事件选项卡。
但是即使我重新发送这种包,API 资源管理器中的事件调试器也没有提供任何有用的信息(按下格式按钮以提高可读性,但最初是 SDK 生成的非格式化单字符串 JSON):
{
"data": [
{
"event_name": "Purchase",
"event_time": 1617799610,
"user_data": {
"em": "9fbf763829a73de27fe0a75b45e0fe0164a51dfe4a08ac9534dc58c6ab6a3cc9",
"external_id": "some-user-id",
"subscription_id": "some-subscription-id"
},
"custom_data": {
"value": 14.99,
"currency": "usd",
"contents": [
{
"id": "example-pro/month",
"quantity": 1,
"item_price": 14.99,
"title": "example Pro - Monthly",
"brand": "example",
"category": "Licenses"
}
],
"content_type": "product"
},
"action_source": "system_generated",
"event_id": "event_kn7g49fj-23984861744256270-test"
}
],
"test_event_code": "TEST_CODE",
"access_token": "ACCESS_TOKEN",
"id": "PIXEL_ID"
}
感谢您的帮助和您的时间。
更新:本地启动代码的解决方案是提供 2 条额外的数据:
- 使用一个或 API 端点的值,
client_ip_address
该端点在发出请求的数据 IP 中返回(主要部分) - 使用一段用户数据生成的参数值,
fbp
例如创建用户对象的时间(时间部分),以及一段处理后的 ID(随机部分)。这实际上确保了同一客户进行的所有购买都将具有相同fbp
的价值,这似乎类似于来自 Google Analytics 的客户端/浏览器 ID (cid)。
问题:此更新不适用于在谷歌云上运行的代码。userData
可能的原因:该实例的 IP 地址与....中的用户详细信息(国家、地区、城市)不匹配。
更新 2 可用的最佳解决方法是将这些有关订阅付款的事件发送到离线事件数据集,但目前与统计信息相关的 UI 似乎在 FB 事件管理器中被破坏,只有事件接收的事实已得到确认。
对于正常购买,我必须从用户 IPfbp
可用的前端服务器发送购买事件,而不是从条带支付成功事件。