Co to jest fbclid? nowy parametr Facebooka [zamknięty]


87

Od dwóch dni zauważyłem, że do adresu URL, który publikuję na Facebooku, jest dodany parametr:
?fbclid=uFCrBkUgEvKg...
Dokładniej coś takiego:http://example.com?fbclid=uFCrBkUgEvKg...

Czy ktoś wie, co robi ten parametr?
Do czego służy i jaki jest pożytek z programistów?

Dziękuję za uwagi.


5
Dla mnie wygląda na to, że Facebook próbuje ominąć przepisy dotyczące plików cookie ... Po części ... wydaje się, że nikt nie znalazł żadnej dokumentacji na temat tego znacznika ...
Antony Gibbs

20
To zachowanie jest tak irytujące, że powoduje, że cały ruch z witryn odsyłających jest wyświetlany jako unikalne adresy URL w moich raportach analitycznych, ponieważ parametr zapytania różni się w zależności od użytkownika.
Brian Surowiec

5
W tym wątku HN jest dyskusja na temat fbclid (wiele linków informacyjnych jest tam gdzieś zakopanych): news.ycombinator.com/item?id=18275061
ahiijny

9
Napisałem rozszerzenie Chrome, które je usuwa. chrome.google.com/webstore/detail/…
R OMS

1
To pytanie jest zamknięte (grr), ale jedyną rzeczą, o której nikt inny nie wspomniał, jest to, że możesz go użyć samodzielnie do śledzenia unikalnych kliknięć i porównuj to ze statystykami dostarczonymi przez Facebooka. Możesz go użyć, aby zobaczyć, ile unikalnych (płatnych $ $$$) kliknięć faktycznie skutkuje całkowitym załadowaniem strony w Twojej witrynie. (Nie byłoby to coś, co każdy chciałby zrobić - ale może pomóc w optymalizacji witryny i ładowaniu strony).
Simon_Weaver

Odpowiedzi:


31

Wiem, że gclidto skrót od ( G oogle Cl ick Id entifier)
To unikalny parametr śledzenia, którego Google używa do przesyłania informacji między Twoim kontem Google Ads a kontem Google Analytics.

Facebook musi robić to samo lub coś podobnego, fbclidaby ulepszyć systemy analizy śledzenia.


32
podczas łamania buforowania na całym świecie: D w tym samym czasie. dla wielu ludzi
Luka

5
@Luka - nadal możesz korzystać z buforowania. Wystarczy, że wykluczysz parametry fbclid, gclid i utm ze swojej pamięci podręcznej :) Wiele rozwiązań to obsługuje.
LucasRolff,

2
Niektóre wtyczki pamięci podręcznej nie mają takiej opcji i tak naprawdę dla każdego adresu URL tworzą osobną stronę pamięci podręcznej, co oznacza brak buforowania (ponieważ fbclid nigdy nie jest taki sam). Implementacja Nginx, aby go usunąć, jest najlepsza. gist.github.com/lynt-smitka/…
Luka

6
Jeśli celem tego zapytania jest śledzenie odwiedzających, powinno to być określone w dokumentach lub w polityce prywatności. Wygląda na to, że fblcid jest unikalny dla każdego użytkownika. Jeśli tak jest w rzeczywistości, istnieje poważny problem z prywatnością i naruszenie RODO.
fat_mike

18

To mi pomogło: https://greasyfork.org/en/forum/discussion/44083/fbclid-tracking-parameter-attached-by-facebook

Oto cytat z linku:

Umieść ten kod w swoim pliku .htaccess:

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

Jeśli pracujesz w 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
Kto nie działa z powyższymi opcjami, spróbuj użyć tego:RewriteCond %{QUERY_STRING} ^(.*)&?fbclid=[^&]+&?(.*)$ [NC] RewriteRule ^(.*)$ /$1?%1%2 [R=301,L]
Rafael Dorado

7
Rozwiązanie podane w tej odpowiedzi nadpisze wszystkie parametry zapytania, np. Wszystko po znaku „?” zostanie wyrzucony. Może to spowodować uszkodzenie niektórych funkcji stron internetowych, które używają parametrów zapytania. Więc upewnij się, że tego chcesz. Przyjrzyj się również odpowiedziom na temat stackoverflow / serverfault, aby dowiedzieć się, jak usunąć określony parametr zapytania.
Sybille Peters

1
dzięki, uratuj mój dzień
sayalok

2
Sprawia, że ​​myślę, że wszystkie serwery internetowe powinny przepisać na coś losowego i
przesłać

13

Innym podejściem, jak usunąć ten parametr (aby użytkownicy mogli udostępniać Twój adres URL bez usuwania go ręcznie) jest użycie JavaScript i history.replaceState.

Wszystkie kredyty trafiają do oryginalnego autora - https://www.michalspacek.cz/zmena-url-a-skryvani-fbclid-pomoci-javascriptu

Kod z linku:

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

jedna linijka, aby usunąć wszystko: history.replaceState (null, '', location.origin + location.pathname)
Zibri

12

Jak rozumiem, parametr ten służy do śledzenia osoby odwiedzającej witrynę, aby w przypadku, gdy witryna zawierała reklamy z Facebooka, mogli dostosować ją do zarejestrowanych nawyków przeglądania.

Powyższe mod_rewrite rozwiązanie Apache jest problematyczne, ponieważ usuwa cały ciąg zapytania. Jeśli adres URL miał już ciąg zapytania, spowoduje to jego uszkodzenie. Aby usunąć tylko fbclidparametr, warto zauważyć, że Facebook zawsze dołącza go do adresu URL, więc zawsze jest ostatni. To mod_rewritetrochę upraszcza kod. Tym się właśnie zajmuję:

# 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:1Flagi i Headerdyrektywy jest ograniczenie, jak długo przekierowanie 301 jest buforowane. Domyślnie wiele przeglądarek buforuje je dosłownie na zawsze . Zmniejsza to czas do jednego tygodnia (lub 604800 sekund). Myślę, że to mniejszość, ale wydaje mi się to dobrą praktyką. Nie wiem, jak długo fbclidutrzymują się tokeny, ale jeśli są trwałe, oznacza to, że Facebook będzie kierował odwiedzających pod te same adresy URL przez długi czas i jeśli kiedykolwiek zechcesz wspierać ukierunkowane reklamy Facebooka lub jeśli zaczną korzystając z fbclidinnych funkcji, których potrzebujesz, możesz zauważyć, że te trwale zapisane w pamięci podręcznej przekierowania powrócą do gryzienia. Ale jeśli chcesz zaryzykować, możesz usunąć zarówno Headerdyrektywę, jak i E=limitcache:1flagę.

Te dwa testy %{REQUEST_METHOD}mają zapobiec przekierowywaniu żądań POST przez Apache (lub bardziej ezoterycznych żądań, takich jak PUT lub DELETE, jeśli są istotne). Większość przeglądarek zmienia żądanie na żądanie GET na przekierowaniu 301 lub 302, na co wyraźnie zezwala RFC 7231 . Jest nowy kod 308 przekierowanie nie musi mieć swój sposób przepisany, ale niestety nie jest obsługiwany przez program Internet Explorer na Windows 7 (i prawdopodobnie nigdy nie będzie).


Nie przyczyniaj się do masowego nadzoru. Usuń tę Headerlinię, jeśli jej używasz, nie będziesz chciał korzystać z fbclid. Zabawne, że „trwałe” przekierowania mogą mieć datę wygaśnięcia, ale na tym polega organiczny charakter sieci. :-)
clacke
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.