Що таке fbclid? новий параметр facebook [закрито]


87

Протягом двох днів я помітив, що до URL-адреси, яку я публікую на Facebook, додається параметр:
?fbclid=uFCrBkUgEvKg...
Якщо бути точнішим, то на зразок:http://example.com?fbclid=uFCrBkUgEvKg...

Хтось знає, що робить цей параметр?
Для чого він призначений і яка користь розробникам?

Дякуємо за ваші коментарі.


5
Для мене це просто схоже на те, що facebook намагається обійти закони про файли cookie ... Частина з цього ... здається, ніхто не знайшов жодної документації щодо цього індикатора ...
Antony Gibbs

19
Така поведінка настільки дратує, що змушує весь трафік рефералів відображатись як унікальні URL-адреси в моїх аналітичних звітах, оскільки параметр запиту різний для кожного користувача.
Брайан Суровець

5
У цій темі HN є деяка дискусія щодо fbclid (багато інформативних посилань десь там закопано): news.ycombinator.com/item?id=18275061
ahiijny

9
Я написав розширення Chrome, яке його видаляє. chrome.google.com/webstore/detail/…
R OMS

1
Це питання закрите (grr), але одне, про що ніхто інший не згадував, це те, що ви можете використовувати його самостійно для відстеження унікальних кліків та перехресних посилань на статистику, надану Facebook. Ви можете використовувати його, щоб побачити, скільки унікальних (платних $$$) кліків ви отримаєте насправді, повне завантаження сторінки на ваш сайт. (Це не те, що хотіли б зробити всі, але це може допомогти в оптимізації сайту та завантаженні сторінки).
Simon_Weaver

Відповіді:


31

Я знаю gclid, це скорочення від ( G oogle Cl ick Id entifier)
- це унікальний параметр відстеження, який Google використовує для передачі інформації між вашим обліковим записом Google Ads і вашим обліковим записом Google Analytics.

Facebook повинен робити те саме або щось подібне, fbclidщоб вдосконалити системи аналітики відстеження.


31
порушуючи кешування у всьому світі: D одночасно. для багатьох людей
Лука

5
@Luka - ви все ще можете використовувати кешування. Вам просто потрібно виключити параметри fbclid, gclid та utm зі свого кешу :) Багато рішень це підтримують.
LucasRolff

2
Деякі плагіни кешування не мають такої опції, і те, що вони роблять, це насправді для кожної URL-адреси створюють окрему сторінку кешу, яка дорівнює відсутності кешування (cuz fbclid ніколи не буває однаковим). Найкраще реалізувати Nginx для його видалення. gist.github.com/lynt-smitka/…
Лука

6
Якщо метою цього запиту є відстеження відвідувачів, це повинно бути зазначено в документах або в політиці конфіденційності. Здається, що fblcid унікальний для кожного користувача. Якщо це справді так, існує величезна проблема конфіденційності та порушення GDPR.
fat_mike

18

Це мені допомогло: 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
Хто не працює з наведеними вище параметрами, спробуйте скористатися цим:RewriteCond %{QUERY_STRING} ^(.*)&?fbclid=[^&]+&?(.*)$ [NC] RewriteRule ^(.*)$ /$1?%1%2 [R=301,L]
Рафаель Дорадо

7
Рішення у цій відповіді замінить усі ваші параметри запиту, наприклад, все після '?' викинуть. Це може порушити деякі функції веб-сторінок, які використовують параметри запиту. Тож переконайтесь, що це те, що ви хочете. Крім того, перегляньте відповіді на stackoverflow / server default, як видалити конкретний параметр запиту.
Sybille Peters

1
спасибі, врятуй мій день
sayalok

1
Змушує мене думати, що всі веб-сервери повинні переписати щось випадкове і переслати новий запит на сервери FB;)
youcantryreachingme

12

Іншим підходом, як видалити цей параметр (щоб ваші користувачі могли поділитися вашою 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);
        }
})();

один лайнер, щоб видалити все: history.replaceState (null, '', location.origin + location.pathname)
Zibri

12

Як я розумію, параметр є засобом відстеження відвідувача сайту, щоб, якщо ваш сайт включає рекламу з Facebook, вони могли налаштувати його відповідно до записаних звичок перегляду відвідувача.

mod_rewrite Наведене вище рішення Apache є проблематичним, оскільки воно видаляє весь рядок запиту. Якщо 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 редирект. За замовчуванням багато браузерів кешують його буквально назавжди . Це зменшує це до одного тижня (або 604800 секунд). Можливо, я в меншості, думаючи про це, але це здається мені гарною практикою. Я не знаю, як довго fbclidтокени зберігаються, але якщо вони довговічні, це означає, що Facebook буде направляти відвідувачів на ті самі URL-адреси протягом тривалого часу, і якщо ви коли-небудь захочете підтримати цільові реклами Facebook або якщо вони почнуть використовуючи fbclidдля інших функціональних можливостей, які вам потрібні, ви можете виявити, що ці постійно кешовані переспрямування повертаються до укусу. Але якщо ви готові ризикнути, ви можете видалити і Headerдирективу, і E=limitcache:1прапор.

Два тести, %{REQUEST_METHOD}спрямовані на те, щоб Apache не перенаправляв запити POST (або більше езотеричних запитів, таких як PUT або DELETE, якщо вони актуальні). Більшість браузерів змінюють запит на запит GET при перенаправленні 301 або 302, що явно дозволено RFC 7231 . Існує новий код перенаправлення 308, який не повинен переписувати свій метод, але, на жаль, він не підтримується Internet Explorer у Windows 7 (і, мабуть, ніколи не буде).


Не сприяйте масовому спостереженню. Видаліть цей Headerрядок, якщо ви використовуєте це, ви не хочете використовувати fbclid. Забавно, що "постійні" переспрямування можуть мати термін дії, але це органічна природа Інтернету для вас. :-)
clacke
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.