Fbclid là gì? tham số facebook mới [đã đóng]


87

Trong hai ngày, tôi nhận thấy rằng URL mà tôi xuất bản trên Facebook, có một tham số được thêm vào:
?fbclid=uFCrBkUgEvKg...
Nói chính xác hơn là:http://example.com?fbclid=uFCrBkUgEvKg...

Có ai biết thông số này làm gì không?
Nó dùng để làm gì và các nhà phát triển sử dụng nó là gì?

Cảm ơn cho ý kiến ​​của bạn.


5
Đối với tôi nó chỉ trông giống như facebook đang cố gắng luật Cookie bỏ qua ... Phần từ đó ... dường như không ai tìm thấy bất kỳ tài liệu trên tracer này ...
Antony Gibbs

19
Hành vi này thật khó chịu, nó khiến tất cả lưu lượng truy cập giới thiệu hiển thị dưới dạng url duy nhất trong báo cáo phân tích của tôi vì tham số truy vấn khác nhau trên mỗi người dùng.
Brian Surowiec

5
Có một số cuộc thảo luận về fbclid trong chủ đề này HN (rất nhiều liên kết thông tin chôn ở một nơi nào đó): news.ycombinator.com/item?id=18275061
ahiijny

9
Tôi đã viết một tiện ích mở rộng của Chrome để xóa nó. chrome.google.com/webstore/detail/…
R OMS

1
Câu hỏi này được đóng lại (grr) nhưng một điều mà không ai khác đề cập là bạn có thể tự mình sử dụng nó để theo dõi các nhấp chuột duy nhất và tham khảo chéo với số liệu thống kê do Facebook cung cấp. Bạn có thể sử dụng nó để xem có bao nhiêu nhấp chuột duy nhất (trả tiền $$$) mà bạn nhận được thực sự dẫn đến tải trang hoàn chỉnh trên trang web của bạn. (Đây không phải là điều mà mọi người đều muốn làm - nhưng có thể giúp tối ưu hóa trang web và tải trang).
Simon_Weaver

Câu trả lời:


31

Tôi biết rằng gclid, viết tắt của ( G oogle Cl ick Id entifier)
Đây là một thông số theo dõi duy nhất mà Google sử dụng để chuyển thông tin giữa tài khoản Google Ads và tài khoản Google Analytics của bạn.

Facebook phải làm điều tương tự hoặc điều gì đó tương tự fbclidđể cải thiện hệ thống phân tích theo dõi.


31
đồng thời phá vỡ bộ nhớ đệm trên toàn thế giới: D cùng một lúc. đối với nhiều người
Luka

5
@Luka - bạn vẫn có thể sử dụng bộ nhớ đệm. Bạn chỉ cần loại trừ các tham số fbclid, gclid và utm khỏi bộ nhớ cache của mình :) Rất nhiều giải pháp hỗ trợ điều này.
LucasRolff

2
Một số plugin bộ nhớ đệm không có tùy chọn như vậy và những gì chúng làm thực sự là đối với mỗi url tạo trang bộ nhớ cache riêng biệt tương đương với không có bộ nhớ đệm (cuz fbclid không bao giờ giống nhau). Thực hiện Nginx để loại bỏ nó là tốt nhất. gist.github.com/lynt-smitka/…
Luka

6
Nếu mục đích của truy vấn này là theo dõi khách truy cập thì lẽ ra phải được nêu trong tài liệu hoặc trong chính sách bảo mật. Có vẻ như fblcid là duy nhất cho mỗi người dùng. Nếu đúng như vậy thì có một vấn đề lớn về quyền riêng tư và vi phạm GDPR.
fat_mike

18

Điều này đã giúp tôi: https://greasyfork.org/en/forum/discussion/44083/fbclid-tracking-parameter-attached-by-facebook

Đây là trích dẫn từ liên kết:

Đặt mã này vào tệp .htaccess của bạn:

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

Nếu bạn làm việc trong 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
Ai không làm việc tùy chọn ở trên thử sử dụng này:RewriteCond %{QUERY_STRING} ^(.*)&?fbclid=[^&]+&?(.*)$ [NC] RewriteRule ^(.*)$ /$1?%1%2 [R=301,L]
Rafael Dorado

7
Giải pháp trong câu trả lời này sẽ ghi đè toàn bộ tham số truy vấn của bạn, ví dụ: mọi thứ sau '?' sẽ bị vứt bỏ. Điều này có thể phá vỡ một số chức năng của các trang web sử dụng tham số truy vấn. Vì vậy, hãy chắc chắn rằng đây là những gì bạn muốn. Ngoài ra, hãy xem câu trả lời trên stackoverflow / serverfault để biết cách xóa tham số truy vấn cụ thể.
Sybille Peters

1
cảm ơn bạn đã cứu một ngày của tôi
sayalok

1
Làm cho tôi nghĩ rằng tất cả các máy chủ web phải viết lại một cái gì đó ngẫu nhiên và gửi một yêu cầu mới cho các máy chủ FB của;)
youcantryreachingme

12

Một cách tiếp cận khác, cách xóa tham số này (để người dùng có thể chia sẻ URL của bạn mà không cần xóa nó theo cách thủ công) là sử dụng JavaScript và history.replaceState.

Tất cả các khoản tín dụng thuộc về tác giả gốc - https://www.michalspacek.cz/zmena-url-a-skryvani-fbclid-pomoci-javascriptu

Mã từ liên kết:

(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);
        }
})();

một lớp lót để xóa mọi thứ: history.replaceState (null, '', location.origin + location.pathname)
Zibri

12

Theo tôi hiểu, tham số là một phương tiện theo dõi người truy cập trang web để nếu trang web của bạn có quảng cáo từ Facebook, họ có thể tùy chỉnh nó để phù hợp với thói quen duyệt web được ghi lại của người truy cập.

mod_rewrite Giải pháp Apache ở trên có vấn đề vì nó tách toàn bộ chuỗi truy vấn. Nếu URL đã có một chuỗi truy vấn, điều này sẽ phá vỡ nó. Để loại bỏ chỉ fbclidtham số, điều hữu ích cần lưu ý là Facebook luôn gắn nó vào một URL, vì vậy nó luôn ở cuối cùng. Điều đó đơn giản mod_rewritehóa mã một chút. Đây là những gì tôi làm:

# 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

Các E=limitcache:1lá cờ và Headerchỉ là để hạn chế sự chuyển hướng 301 được lưu trữ trong bao lâu. Theo mặc định, nhiều trình duyệt sẽ lưu nó vào bộ nhớ cache theo nghĩa đen mãi mãi . Điều này giảm xuống còn một tuần (hoặc 604.800 giây). Tôi có thể là một thiểu số trong suy nghĩ này, nhưng đó có vẻ là một thực tiễn tốt đối với tôi. Tôi không biết fbclidcác mã thông báo tồn tại trong bao lâu , nhưng nếu chúng tồn tại lâu dài, điều đó có nghĩa là Facebook sẽ hướng khách truy cập đến cùng các URL trong một thời gian dài và nếu bạn muốn hỗ trợ các quảng cáo được nhắm mục tiêu của Facebook hoặc nếu chúng bắt đầu bằng cách sử dụng fbclidchức năng khác mà bạn cần, bạn có thể thấy các chuyển hướng được lưu trong bộ nhớ cache vĩnh viễn này trở lại thành công. Nhưng nếu bạn sẵn sàng mạo hiểm, bạn có thể xóa cả lệnh HeaderE=limitcache:1cờ.

Hai bài kiểm tra %{REQUEST_METHOD}là ngăn Apache chuyển hướng các yêu cầu POST (hoặc nhiều yêu cầu bí truyền hơn như PUT hoặc DELETE, nếu chúng có liên quan). Hầu hết các trình duyệt thay đổi yêu cầu thành yêu cầu GET trên chuyển hướng 301 hoặc 302, được RFC 7231 cho phép một cách rõ ràng . Có một mã chuyển hướng 308 mới không được viết lại phương thức của nó, nhưng tiếc là nó không được hỗ trợ bởi Internet Explorer trên Windows 7 (và có lẽ sẽ không bao giờ được).


Đừng đóng góp vào việc giám sát hàng loạt. Xóa Headerdòng đó nếu bạn sử dụng, bạn sẽ không muốn sử dụng fbclid. Thật buồn cười khi chuyển hướng "vĩnh viễn" có thể có ngày hết hạn, nhưng đó là bản chất tự nhiên của web đối với bạn. :-)
clacke
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.