Apa itu fbclid? parameter facebook baru [ditutup]

87

Selama dua hari, saya perhatikan bahwa URL yang saya publikasikan di Facebook, ada parameter yang ditambahkan:
?fbclid=uFCrBkUgEvKg...
Lebih tepatnya seperti:http://example.com?fbclid=uFCrBkUgEvKg...

Apakah ada yang tahu apa parameter ini?
Untuk apa dan untuk apa pengembangnya?

Terima kasih atas komentar Anda.

Rafael Dorado
sumber
5
Bagi saya sepertinya facebook mencoba untuk melewati undang-undang cookie ... Bagian dari itu ... sepertinya tidak ada yang menemukan dokumentasi tentang pelacak ini ...
Antony Gibbs
20
Perilaku ini sangat mengganggu, ini menyebabkan semua lalu lintas rujukan ditampilkan sebagai url unik dalam pelaporan analitik saya karena parameter kueri berbeda untuk setiap pengguna.
Brian Surowiec
5
Ada beberapa diskusi tentang fbclid di utas HN ini (banyak tautan informatif terkubur di sana di suatu tempat): news.ycombinator.com/item?id=18275061
ahiijny
9
Saya menulis ekstensi Chrome yang menghapusnya. chrome.google.com/webstore/detail/…
R OMS
1
Pertanyaan ini ditutup (grr) tetapi satu hal yang tidak disebutkan orang lain adalah Anda dapat menggunakannya sendiri untuk melacak klik unik dan referensi silang dengan statistik yang disediakan oleh Facebook. Anda dapat menggunakannya untuk melihat berapa banyak klik unik (berbayar $$$) yang Anda dapatkan sebenarnya menghasilkan pemuatan halaman yang lengkap di situs Anda. (Ini tidak akan menjadi sesuatu yang semua orang ingin lakukan - tetapi dapat membantu dalam pengoptimalan situs dan pemuatan halaman).
Simon_Weaver

Jawaban:

31

Saya tahu itu gclid, adalah kependekan dari ( G oogle Cl ick Id entifier)
Ini adalah parameter pelacakan unik yang digunakan Google untuk mentransfer informasi antara akun Google Ads dan akun Google Analytics Anda.

Facebook harus melakukan hal yang sama atau serupa fbcliduntuk meningkatkan sistem analitik pelacakan.

Marcin Milowski
sumber
32
saat melanggar caching di seluruh dunia: D pada waktu yang sama. bagi banyak orang
Luka
5
@ Luka - Anda masih dapat menggunakan caching. Anda hanya perlu mengecualikan parameter fbclid, gclid dan utm dari cache :) Banyak solusi yang mendukung ini.
LucasRolff
2
Beberapa plugin caching tidak memiliki opsi seperti itu dan apa yang mereka lakukan sebenarnya untuk setiap url membuat halaman cache terpisah yang sama dengan tanpa caching (cuz fbclid tidak pernah sama). Implementasi Nginx untuk menghapusnya adalah yang terbaik. gist.github.com/lynt-smitka/…
Luka
6
Jika tujuan kueri ini adalah untuk melacak pengunjung, maka seharusnya telah dinyatakan dalam dokumen atau dalam kebijakan privasi. Tampaknya fblcid itu unik untuk setiap pengguna. Jika memang demikian, ada masalah privasi yang besar dan pelanggaran GDPR.
fat_mike
18

Ini membantu saya: https://greasyfork.org/en/forum/discussion/44083/fbclid-tracking-parameter-attached-by-facebook

Berikut kutipan dari tautan:

Letakkan kode ini di file .htaccess Anda:

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

Jika Anda bekerja di 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]
tidak ada yang istimewa
sumber
2
Siapa yang tidak bekerja opsi di atas coba gunakan ini:RewriteCond %{QUERY_STRING} ^(.*)&?fbclid=[^&]+&?(.*)$ [NC] RewriteRule ^(.*)$ /$1?%1%2 [R=301,L]
Rafael Dorado
7
Solusi dalam jawaban ini akan menimpa seluruh parameter kueri Anda, misalnya semua setelah '?' akan dibuang. Ini dapat merusak beberapa fungsionalitas halaman web yang menggunakan parameter kueri. Jadi, pastikan ini yang Anda inginkan. Selain itu, lihat jawaban di stackoverflow / serverfault untuk mengetahui cara menghapus parameter kueri tertentu.
Sybille Peters
1
terima kasih, kamu menyelamatkan hariku
sayalok
2
Membuat saya berpikir semua server web harus menulis ulang ke sesuatu yang acak dan meneruskan permintaan baru ke server FB;)
youcantryreachingme
13

Pendekatan lain, cara menghapus parameter ini (sehingga pengguna Anda dapat membagikan URL Anda tanpa menghapusnya secara manual) adalah dengan menggunakan JavaScript dan history.replaceState.

Semua kredit diberikan kepada penulis asli - https://www.michalspacek.cz/zmena-url-a-skryvani-fbclid-pomoci-javascriptu

Kode dari link:

(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);
        }
})();
Pavel Štěrba
sumber
satu liner untuk menghapus semuanya: history.replaceState (null, '', location.origin + location.pathname)
Zibri
12

Seperti yang saya pahami, parameter adalah alat untuk melacak pengunjung situs sehingga jika situs Anda menyertakan iklan dari Facebook, mereka dapat menyesuaikannya agar sesuai dengan kebiasaan browsing pengunjung yang tercatat.

mod_rewrite Solusi Apache di atas bermasalah karena menghapus seluruh string kueri. Jika URL sudah memiliki string kueri, ini akan merusaknya. Untuk menghapus fbclidparameter saja, perlu diperhatikan bahwa Facebook selalu menambahkannya ke URL, jadi selalu terakhir. Itu sedikit menyederhanakan mod_rewritekode. Inilah yang saya lakukan:

# 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

The E=limitcache:1bendera dan Headerdirektif adalah untuk membatasi berapa lama 301 cache. Secara default, banyak browser menyimpannya secara harfiah selamanya . Ini menguranginya menjadi satu minggu (atau 604.800 detik). Saya mungkin termasuk minoritas dalam memikirkan hal ini, tetapi bagi saya hal itu tampaknya merupakan praktik yang baik. Saya tidak tahu berapa lama fbclidtoken bertahan, tetapi jika tahan lama, itu berarti Facebook akan mengarahkan pengunjung ke URL yang sama untuk waktu yang lama, dan jika Anda ingin mendukung iklan bertarget Facebook, atau jika mereka mulai menggunakan fbcliduntuk fungsionalitas lain yang Anda butuhkan, Anda mungkin menemukan pengalihan cache permanen ini kembali menggigit. Tetapi jika Anda bersedia mengambil risiko, Anda dapat menghapus Headerperintah dan E=limitcache:1benderanya.

Kedua pengujian tersebut %{REQUEST_METHOD}adalah untuk mencegah Apache mengalihkan permintaan POST (atau permintaan esoterik lainnya seperti PUT atau DELETE, jika relevan). Sebagian besar browser mengubah permintaan menjadi permintaan GET pada pengalihan 301 atau 302, yang secara eksplisit diizinkan oleh RFC 7231 . Ada kode pengalihan 308 baru yang metodenya tidak boleh ditulis ulang, tetapi sayangnya tidak didukung oleh Internet Explorer pada Windows 7 (dan mungkin tidak akan pernah).

Richard Smith
sumber
Jangan berkontribusi pada pengawasan massal. Hapus Headerbaris itu jika Anda menggunakan ini, Anda tidak akan ingin menggunakan fbclid. Lucunya, pengalihan "permanen" dapat memiliki tanggal kedaluwarsa, tapi itulah sifat organik web untuk Anda. :-)
clacke