什么是fbclid?新的facebook参数

时间:2018-10-17 04:49:55

标签: facebook url ads

有两天时间,我注意到我在Facebook上发布的URL添加了一个参数:
*afdsklj*
更精确地说,例如:?fbclid=uFCrBkUgEvKg...

有人知道此参数的作用吗?
它的用途是什么?开发人员有什么用?

感谢您的评论。

4 个答案:

答案 0 :(得分:19)

我知道gclid的缩写( G oooo Cl 点击 Id entifier)
这是唯一的 tracking参数 Google 用于在您的Google Ads帐户和Google Analytics(分析)帐户之间传输信息。

Facebook 必须与fbclid做相同的事情或类似的事情,才能改善跟踪分析系统。

答案 1 :(得分:17)

这对我有帮助: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]

答案 2 :(得分:11)

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

所有学分归原始作者所有-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);
        }
})();

答案 3 :(得分:5)

据我所知,该参数是跟踪网站访问者的一种手段,因此,如果您的网站包含来自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(并且可能永远不会)。