首页 文章

将跟踪参数添加到Facebook时间线操作的链接

提问于
浏览
6

我们的客户希望跟踪用户何时(通过脸书,推特,电子邮件等)分享链接,并奖励最初分享链接的人 . 目前,我们通过包含用户ID的URL上的参数进行跟踪,即

http://www.customer.com/items/item1?sharedBy=user1

因此,当用户点击该链接时,我们当前正在使用该URL向用户的墙发布标准墙帖 . 当user1的朋友点击该链接时,我们可以读取sharedBy参数并为user1提供一些推荐信用 .

我们还将我们的一些操作从标准墙上的帖子转移到新的OpenGraph操作,这会产生问题 . 为了被Facebook识别,opengraph对象具有如下元数据:

<meta property="fb:app_id" content="MY_APP_ID" /> 
    <meta property="og:title" content="test item 1" />
    <meta property="og:type" content="mynamespace:item" />
    <meta property="og:url" content="http://www.customer.com/items/item1" />
    <meta property="og:image" content="http://img.fark.net/images/2011/site/farkLogoBig.png" />

无论我向Facebook提交哪个URL,它都会在构造链接时使用规范URL(og:url标记) . 所以,没有我的跟踪参数 .

我可以想到几种方法来解决它:

  • 动态生成og:url的值以匹配facebook正在查看的任何URL . 我足够熟练地实现这一目标而不需要大量的手持工作 . 似乎Facebook可能会反对这一点,因为它基本上将每个URL视为一个单独的对象,即使它们真的是相同的 .

  • Facebook确实在URL上添加了一个fb_action_ids参数 . 我可以通过图形API获取这些并从中提取Facebook用户ID,然后将该ID与我的内部用户ID进行协调 . 宁愿不写所有额外的代码而不是重用任何其他共享机制使用的相同参数 .

有没有第三种方法我没有看到会让我强迫Facebook在链接中添加额外的参数回到我的页面?

1 回答

  • 0

    那么,还有比这两个更好的选择吗?

    虽然这是一个主观的问题,需要一个意见而不是事实 . 我有一个基于事实和意见的答案,我将指出这两个 . :)

    1完全出来,因为最后一句话是关于Facebook如何将不同的og:url标记值视为不同的对象(事实) . 所以2,或其中的一些方式,将会更好的两个(意见)

相关问题