【问题标题】:Facebook pixel events call from server来自服务器的 Facebook 像素事件调用
【发布时间】:2021-02-22 17:00:29
【问题描述】:

我和 dan 这里的问题完全一样 - Facebook conversion pixel with "server to server" option。有人写道,没有办法,但那是 2013 年,所以我希望有所改变。

那么,现在有什么方法可以从服务器端调用 facebook 像素事件(例如 CompleteRegistration)

我可以更详细地描述情况。想象一下,该用户访问我们的网站,其中 fb 像素当然会跟踪“PageView”。当用户通过表单并发送他的电话号码时,我们称之为“Lead”事件。但是当我们的经理成功确认该用户时,我们需要跟踪另一个事件!当然,它发生在其他计算机上等等,所以不知道如何“连接”到基本用户。

我见过很多像this这样的文档部门,但即使可能与否我也无法完全理解。

逻辑上,当调用'Lead'事件时,我们需要为用户生成特定的ID(或者它可以是电话号码)。然后,我们应该使用这个 id 来为该用户“完成注册”。但我不明白,如何在技术上做到这一点。

如果有人能解释一下,将不胜感激。

附:据我了解,它在移动应用程序的 API 中完全可用。如果没有其他解决方案,可以根据我们的情况使用它吗?

【问题讨论】:

  • 您需要首先创建适当的哈希,如developers.facebook.com/docs/marketing-api/audiences-api 中所述,如果您可以识别用户的标准是电话号码 - 那么您需要发送该电话号码的哈希您的要求。
  • @CBroe 是的,我读过它,这听起来像是我需要的东西,但我找不到如何为用户调用事件以及如何选择特定用户等的示例。这只是关于受众过滤、收集等
  • 如果您想提交离线转化,那么您必须预先知道该转化针对的是哪个用户。
  • @CBroe 显然!)我只需要知道,如何在触发事件触发时修复该用户以及如何从任何服务器语言为他调用其他事件。任何代码示例

标签: facebook facebook-ads-api


【解决方案1】:

使用离线转化记录用户离开您的网站后发生的事件。从技术上讲,记录这些转化非常容易。设置一切需要一点努力

tldr;检查下面的代码


关注setup steps in the FB docs(设置步骤 1-5),它们是:

  • 设置 facebook Business Manager 帐户
  • 向商务管理平台帐户添加新应用
  • 如果您还没有广告帐户,请创建一个
  • 为广告帐户创建系统用户

设置完成后,按照同一页面上的上传事件数据步骤,步骤 1-3 创建离线事件集并将其与您的广告相关联。这些可以通过示例中的链接在 Graph API Explorer 中执行。这些可以通过编程方式完成,但超出了从服务器对一个活动进行事件调用的范围。

一旦您创建了事件集,您就可以上传您的CompleteRegistration 事件!

您需要向 FB 发出多部分表单数据请求,数据键将是您的转换事件数组。正如@Cbroe 提到的,在发送到FB 之前,您必须散列您的匹配键(您的用户可用数据以将它们与FB 用户匹配)。您能够提供的匹配键越多,匹配用户的机会就越大。因此,如果您可以同时获取他们的电子邮件和电话,那么您就更有可能匹配您的用户。

以下是使用 node.js 调用 FB 的示例:

    var request = require('request')
    
    // The access token you generated for your system user 
    var access_token = 'your_access_token'
    
    // The ID of the conversion set you created 
    var conversionId = 'your_conversion_set_id'
    
    var options = {
        url: 'https://graph.facebook.com/v2.12/' + conversionId + '/events',
        formData: {
            access_token: access_token,
            upload_tag: 'registrations', //optional 
            data: [{
                match_keys: {
                    "phone": ["<HASH>", "<HASH>"]
                },    
                currency: "USD",
                event_name: "CompleteRegistration",
                event_time: 1456870902,
                custom_data: { // optional 
                    event_source: "manager approved"
                },
            }]
        }
    }
    
    request(options, function(err, result) {
        // error handle and check for success
    })

Offline Conversion Docs

【讨论】:

  • 哦!首先,非常感谢您的回答。我需要检查我对某些事情的理解。我将按照我的理解描述过程,然后提出问题。会有几个部分,因为 stackoverflow 允许有限的符号。 1) 我们按照所有设置步骤创建离线事件集。现在我们有特定的广告连接到离线事件集。 2)当用户点击广告时,他也连接到事件集。 3)我们可以很容易地从服务器调用完成注册,因为我们知道事件集ID。
  • 4) 用户将通过他的真实个人数据来识别。例如。他的电话是123456,是他在fb使用的。我们得到他在我们网站上输入的数字的 sha256 哈希,并在完成注册事件中使用它来识别他。请纠正我,如果它在某些地方是错误的。我的问题:1)它是如何连接到 fb 像素的?据我了解,它是真正的并行功能,fb 像素可以与离线对话一起使用或不使用。这样对吗? 2)为什么你(和 fb doc)对电话使用两个哈希值?这只是意味着,我们可以将它用于不同的数字拼写?
  • 3) 据我了解,它适用于在 fb 中拥有真实个人数据的用户。在我们的例子中,我们在 instagram 中为人们使用广告,大多数人甚至没有 fb 帐户。因此,在 Instagram 帐户中,他们根本没有电话或电子邮件字段。我们可以为他们生成自定义标识符吗?例如。当 Lead 事件触发时传递 customer_id 然后使用它。有可能吗?
  • 1) 像素只是将数据导入您的广告帐户的一种方式,您可以创建一个像素(通常您只需要一个)并将其与您的广告帐户相关联。通过离线转化,您可以创建事件集并将它们与您的广告帐户相关联,然后将数据推送到其中。 2) 老实说,我对散列的了解不够,无法回答这个问题,但 Facebook 确实允许人们在他们的帐户中附加多个电子邮件和电话号码。 3)使用像素,我不相信您可以传递自定义匹配参数,但您可以使用离线转换事件。我建议您获取一些识别信息,例如电子邮件。
  • 好的,谢谢你的详细信息,我会接受答案,但我需要完整的信息,包括识别用户以完成赏金。我们无法收到电子邮件 - 它没有意义,因为我们的用户甚至大部分都没有在 fb 中注册。所以它只能是自定义标识符
【解决方案2】:

Facebook 现在有一个服务器端 API:https://developers.facebook.com/docs/marketing-api/server-side-api/get-started

实现这一点类似于实现已接受答案中概述的离线事件。

请记住,从浏览器和服务器跟踪和连接事件总是很麻烦。您需要在浏览器和服务器之间共享一个唯一的用户 ID,以便 Facebook(或任何其他分析提供商)知道该事件属于同一用户。

mixpanel.com 和amplitude.com 等工具可能更适合您的需求,但一旦您退出免费套餐(mixpanel 每月 100+ 欧元,Amplitude 每月 1000+ 欧元),就会变得非常昂贵。这些工具是为公司成功量身定制的,而 Facebook 是为销售和衡量 Facebook 广告而量身定制的。

【讨论】:

    猜你喜欢
    • 2021-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多