我的问题与dan绝对相同 - Facebook conversion pixel with "server to server" option。有人写道,没有办法,但那是2013年,所以我希望有些改变。
那么,有没有办法从服务器端调用facebook像素事件(例如CompleteRegistration)?
我可以更详细地描述情况。想象一下,该用户访问我们的网站,其中fb像素跟踪'PageView'当然。当用户传递表格并发送他的电话号码时,我们称之为“领导”事件。但是,当我们的经理成功确认此用户时,我们需要跟踪另一个事件!当然,它发生在其他计算机等等,所以不知道如何“连接”到基本用户。
我见过许多文档部门,例如this,但即使可能与否,我也无法完全理解。
逻辑上,当调用“Lead”事件时,我们需要为用户生成特定的ID(或者它可以是电话号码)。然后,我们应该将此id用于该用户的“CompleteRegistration”。但我无法理解,如何在技术上做到这一点。
如果有人能够解释的话,那将是非常感激的。
P.S。据我了解,它完全适用于移动应用的API。如果没有其他解决方案,是否可以将它用于我们的情况?
答案 0 :(得分:16)
使用离线转化来记录用户离开您网站后发生的事件。从技术上讲,记录这些转化非常容易。设置一切需要花费一点力气
按照setup steps in the FB docs(设置步骤1-5)进行以下操作:
完成设置后,请按照同一页面上的上传活动数据步骤操作步骤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
})
答案 1 :(得分:1)
Facebook现在具有服务器端API:https://developers.facebook.com/docs/marketing-api/server-side-api/get-started
实施此操作类似于实施已接受答案中概述的脱机事件。
请记住,跟踪和连接来自浏览器和服务器的事件总是很麻烦。您需要在浏览器和服务器之间共享唯一的用户ID,以便Facebook(或任何其他分析提供商)知道事件属于同一用户。
mixpanel.com和振幅.com之类的工具可能更适合您的需求,但是一旦您退出免费套餐(mixpanel为100+欧元,Amplitude为1000+欧元,每月),这些工具将变得非常昂贵。这些工具是为公司成功量身定制的,而Facebook是为销售和衡量Facebook广告量身定制的。