【问题标题】:What is fbclid? the new facebook parameter [closed]什么是 fbclid?新的facebook参数[关闭]
【发布时间】:2019-03-21 16:42:10
【问题描述】:

这两天,我注意到我在Facebook上发布的网址,有一个参数被添加:
?fbclid=uFCrBkUgEvKg...
更准确地说是:http://example.com?fbclid=uFCrBkUgEvKg...

有人知道这个参数的作用吗?
它是干什么用的,开发者有什么用?

感谢您的 cmets。

【问题讨论】:

  • 对我来说,这看起来就像 facebook 试图绕过 cookie 法律......其中一部分......似乎没有人在这个追踪器上找到任何文档......
  • 这种行为太烦人了,它导致所有推荐流量在我的分析报告中显示为唯一的 url,因为每个用户的查询参数不同。
  • 在这个 HN 线程中有一些关于 fbclid 的讨论(很多信息链接埋在某处):news.ycombinator.com/item?id=18275061
  • 我写了一个 Chrome 扩展来删除它。 chrome.google.com/webstore/detail/…
  • 我不得不收回我最后的评论。似乎它并不总是发送。我以为我可以依靠它的存在——但它不存在——特别是当我点击我的广告时它并不存在于 Facebook 应用程序中。大概是因为他们可以在没有参数的情况下自己跟踪它。所以基本上不要指望它!

标签: facebook url ads


【解决方案1】:

我知道gclid 是 (Google Click Identifier)
的缩写 这是一个独特的跟踪参数Google 使用它在您的 Google Ads 帐户和您的 Google Analytics 帐户之间传输信息。

Facebook 必须与 fbclid 做同样的事情或类似的事情,以改进跟踪分析系统。

【讨论】:

  • 同时打破全球缓存:D。对于很多人
  • @Luka - 你仍然可以使用缓存。您只需要从缓存中排除 fbclid、gclid 和 utm 参数即可:) 很多解决方案都支持这一点。
  • 一些缓存插件没有这样的选项,他们所做的实际上是为每个 url 创建单独的缓存页面,这等于没有缓存(因为 fbclid 永远不会相同)。 Nginx 实现删除它是最好的。 gist.github.com/lynt-smitka/…
  • 如果此查询的目的是跟踪访问者,那么应该在文档或隐私政策中说明。 fblcid 似乎每个用户都是唯一的。如果确实如此,则存在巨大的隐私问题和 GDPR 违规。
【解决方案2】:

这对我有帮助:https://greasyfork.org/en/forum/discussion/44083/fbclid-tracking-parameter-attached-by-facebook

以下是链接中的引用:

将此代码放入您的 .htaccess 文件中:

RewriteCond %{QUERY_STRING} "fbclid=" [NC]
RewriteRule (.*) /$1? [R=301,L]

如果您使用 WordPress:

RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} "fbclid=" [NC]
RewriteRule (.*) /$1? [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

【讨论】:

  • 谁不使用上面的选项试试这个:RewriteCond %{QUERY_STRING} ^(.*)&?fbclid=[^&]+&?(.*)$ [NC] RewriteRule ^(.*)$ /$1?%1%2 [R=301,L]
  • 此答案中的解决方案将覆盖您的整个查询参数,例如'?' 之后的所有内容会被扔掉。这可能会破坏使用查询参数的网页的某些功能。因此,请确保这是您想要的。另外,请查看 stackoverflow / serverfault 上的答案,了解如何删除特定的查询参数。
  • 谢谢你拯救我的一天
  • 让我觉得所有的网络服务器都应该随机重写并将新请求转发到 FB 的服务器;)
【解决方案3】:

另一种方法是使用 JavaScript 和 history.replaceState 删除此参数(以便您的用户无需手动删除即可共享您的 URL)。

所有学分归原作者所有 - https://www.michalspacek.cz/zmena-url-a-skryvani-fbclid-pomoci-javascriptu

链接代码:

(function() {
        var param = 'fbclid';
        if (location.search.indexOf(param + '=') !== -1) {
                var replace = '';
                try {
                        var url = new URL(location);
                        url.searchParams.delete(param);
                        replace = url.href;
                } catch (ex) {
                        var regExp = new RegExp('[?&]' + param + '=.*$');
                        replace = location.search.replace(regExp, '');
                        replace = location.pathname + replace + location.hash;
                }
                history.replaceState(null, '', replace);
        }
})();

【讨论】:

  • 一个删除所有内容的衬垫:history.replaceState(null, '',location.origin+location.pathname)
【解决方案4】:

据我了解,该参数是一种跟踪网站访问者的方法,因此如果您的网站包含来自 Facebook 的广告,他们可以对其进行自定义以匹配访问者记录的浏览习惯。

Apache mod_rewrite solution above 是有问题的,因为它会剥离整个查询字符串。如果 URL 已经有一个查询字符串,这将破坏它。要仅删除 fbclid 参数,请注意 Facebook 始终将其附加到 URL,因此它始终位于最后。这简化了mod_rewrite 代码。我就是这样做的:

# Strip Facebook spyware tokens
RewriteCond %{REQUEST_METHOD} =GET [NC,OR]
RewriteCond %{REQUEST_METHOD} =HEAD [NC]
RewriteCond %{QUERY_STRING} ^(.*)&?fbclid=[^&]+$ [NC]
RewriteRule ^/?(.*)$ /$1?%1 [NE,L,R=301,E=limitcache:1]
Header always set Cache-Control "max-age=604800" env=limitcache

E=limitcache:1 标志和Header 指令用于限制缓存 301 重定向的时间。默认情况下许多浏览器cache it literally forever。这将其减少到一周(或 604,800 秒)。我可能是少数人这样想,但这对我来说似乎是个好习惯。我不知道fbclid 令牌会持续多久,但如果它们是持久的,这意味着 Facebook 将在很长一段时间内将访问者引导到相同的 URL,如果你想要支持 Facebook 的定向广告,或者如果他们开始将fbclid 用于您需要的其他功能,您可能会发现这些永久缓存的重定向会重新开始使用。但如果你愿意冒险,你可以同时删除 Header 指令和 E=limitcache:1 标志。

%{REQUEST_METHOD} 的两个测试是防止 Apache 重定向 POST 请求(或者更深奥的请求,如 PUT 或 DELETE,如果它们是相关的)。大多数浏览器将请求更改为 301 或 302 重定向上的 GET 请求,RFC 7231 明确允许这样做。有一个new 308 redirect code 一定不能重写它的方法,但不幸的是it's not supported by Internet Explorer on Windows 7(可能永远不会)。

【讨论】:

  • 不要参与大规模监控。如果您使用它,请删除 Header 行,您不会想要使用 fbclid。有趣的是,“永久”重定向可能有一个到期日,但这是网络对你来说的有机性质。 :-)
猜你喜欢
  • 1970-01-01
  • 2019-11-14
  • 1970-01-01
  • 1970-01-01
  • 2012-03-16
  • 2020-07-02
  • 2022-08-20
  • 1970-01-01
相关资源
最近更新 更多