Rozwiązanie problemu fbclid za pomocą .htaccess lub Google Analytics

fbclid

Od około miesiąca w raportach Google Analytics można zauważyć parametr „fbclid” doklejany do adresów URL przez Facebook. Facebook wprowadził ten parametr być może aby poradzić sobie z rosnącym blokowaniem śledzenia użytkowników w Internecie. Poniżej znajduję się recepta jak ponownie uporządkować dane w Google Analytics lub pasek adresu w przeglądarce użytkownika.

Co to jest fbclid? fbclid pojawia się, kiedy zalogowany do Facebooka użytkownik, klika w link, który prowadzi go do zewnętrznej strony. Do adresu URL dodawany jest parametr fbclid i jego wartość. W Google Analytics robi się bałagan w tym momencie, bo zamiast otrzymać dane o wyświetleniach jednego adresu URL, mamy ten ruch rozproszony. Ilustruje to poniższy zrzut ekranu. Jeden adres URL został rozproszony do ponad 90 wariantów.

fbclid

Rozwiązanie połówkowe

Ten problem można rozwiązać na kilka sposobów.

Google Analytics

Pierwszym z nich jest dodanie informacji o ignorowanych parametrach w konfiguracji Google Analytics w widoku danych, opcja (Wyklucz parametry zapytania z adresu URL). Należy jednak pamiętać, że parametr fbclid znika tylko z raportów Google Analytics, nadal będzie widoczny dla użytkownika w pasku adresu przeglądarki.

fbclid wykluczenie

mod_rewrite

Drugim sposobem jest dodanie reguły do pliku .htaccess, która będzie przepisywała adres URL za pomocą modułu mod_rewrite na czysty adres. Reguła wygląda następująco:

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

Jak rozmieć reguły RewriteCond i RewriteRule oraz zapisane za nimi flagi wyjaśniłem we wpisie Jak zablokować „złe” boty – poradnik .htaccess + lista 1801 botów.

Jeśli używasz WordPress to cały fragment może wyglądać następująco:

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]

W ten sposób użytkownik już nie zobaczy parametru fbclid w pasku adresu, bo zostanie on usunięty przez serwer na etapie wysyłania treści do użytkownika.

Rozwiązania te nazwałem połówkowymi ponieważ mają one jedną zasadniczą wadę. Usuwają wszystkie parametry z adresu URL i pozostawiają go bez niczego. Zatem jeżeli adres URL zawierał także inne parametry, np. UTMy, to też zostaną one usunięte.

Rozwiązanie pełne

Rozwiązanie pełne polega na tym, że tylko parametr fbclid zostaje usunięty, a pozostałe parametry nadal są przekazywane. Działa to bez względu w którym miejscu parametr fbclid się znajduje. Może być na pierwszym miejscu, w środku lub na końcu.

Google Analytics

W konfiguracji Google Analytics w widoku danych należy dodać filtr typu Wyszukaj i zastąp i w pole znajdź ciąg wstawić (fbclid=[^&]*&?). Pole filtra powinno zawierać jedno z pół dotyczących UTM czyli np. nazwa kampanii, źródła kampanii lub medium kampanii.

fbclid filtr

mod_rewrite

Sposobem opartym o plik .htaccess jest dodanie reguły, która korzysta z powyższego dopasowania. Wygląda ona następująco

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

lub jeśli korzystamy z WordPress to całość wygląda tak:

RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} ^(.*)&?fbclid=[^&]+&?(.*)$ [NC]
RewriteRule ^(.*)$ /$1?%1%2 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

W rozwiązaniu pełnym z adresu URL usunięty jest tylko parametr fbclid a wszystkie inne pozostają na miejscu.


Zapisz się do newslettera wypełniając pola poniżej. Będziesz na bieżąco ze wszystkimi wydarzeniami związanymi z Silesia SEM i informacjami o marketingu internetowym w sieci. Nie spamujemy.

Zostanie wysłany do Ciebie e-mail potwierdzający: przeczytaj zawarte w nim instrukcje, aby potwierdzić subskrypcję.

Twój email:

 Zapoznałem się z polityką prywatności.
The following two tabs change content below.

Artur Strzelecki

Niezależny specjalista SEM, który upowszechnia wiedzę o marketingu w wyszukiwarkach internetowych. W wolnych chwilach doradza jak odnaleźć własną ścieżkę w Google.

10 komentarzy do “Rozwiązanie problemu fbclid za pomocą .htaccess lub Google Analytics

  1. Artur uważam, że fbclid służy do pomiaru cross device, Googlo’wi jest znacznie prościej mierzyć poruszającego się użytkownika pomiędzy urządzeniami ponieważ wszyscy są zalogowani na gmaila i na telefonie itp. Facebook ma problem bo na telefonie jest … aplikacją :). Rozwiązanie w Google Analytics proste skuteczne genialne 🙂 Natomiast rozwiązanie z htaccess’em uważam za niebezpieczne, ponieważ nie znamy na 100% przeznaczenia tego parametru. Jeżeli służy to też do pomiaru reklam, pomiaru fanpage czy cokolwiek związanego z statystykami na fejsie może być szkodliwe. Jeżeli zaburzysz automaty do „optymalizacji” odbiorców, którym wyświetlane są posty może to skutkować zmniejszeniem lub zachwianiem zasięgów

  2. Wojtek dał bardzo celną uwagę dotyczącą przeznaczenia parametru fcblid . Na Analyticsach wdrożyliśmy już u siebie, gdy tylko zaczął pojawiać się problem i zrobiliśmy to na poziomie ustawienia widoku Google Analytics.

    Pozdrawiam i dalej będę śledził wątek.

  3. Bardzo przydatny i prosty w odbiorze tekst. Dzięki. Warto jednak by było dodać kilka słów komentarza o konsekwencjach zmian w htaccess żeby ktoś nie wylał dziecka z kąpielą 🙂

  4. Tak, Analytics rozpozna źródło. Mod_rewrite nie wymazuje wartości pola referrer. Dla testu, dodałem do kodu strony funkcję, która wyświetli w konsoli przeglądarki wartość pola referrer, które widzi Google Analytics. Po sprawdzeniu, w polu referrer jest „https://wwww.facebook.com”

  5. Dzięki Arturze za poradnik. Rozwiązanie w Google Analytics wygląda na bardzo proste.
    Usuwanie tego parametru przez mod rewrite może być jednak niezbyt korzystne, szczególnie gdy korzystamy z reklam na Facebooku i śledzimy ruch przy pomocy pixela FB. Czy przypadkiem parametr „fbclid” nie jest/będzie odpowiednikiem „gclid” z reklam Google AdWords do automatycznego śledzenia? 🙂 Usuwając go z adresu możemy gubić dane analityczne w FB (nie wiem czy jest tak na pewno, ale czy nie po to wdrożono ten parametr?:).

  6. Nie wiem czy jest tylko do reklam, parametr pojawia się u każdego, kto jest zalogowany do FB, bez względu czy to reklama czy nie. Nie pojawia się natomiast gdy jesteś w trybie prywatnym i niezalogowany a klikasz jakiś link zewnętrzny opublikowany wcześniej na jakiejś stronie na Facebook.

  7. Cześć 😉

    Czy w GA nie powinienem ustawić filtered field na „request url” a nie „campaign name” czy inne utm?

    Pozdrawiam,
    Emil

  8. Dziękuję za poradę, jest dla mnie bardzo cenna!
    Często podsyłam linki do moich nieopublikowanych jeszcze wpisów na blogu na WordPress, przez tzw. „public preview”. Gdy taki link poślę do kogoś Messengerem, dokleja się kod fbclid i w efekcie, zamiast do mojego nieopublikowanego wpisu, klienta przenosi na stronę główną. Bardzo słabo to wygląda, muszę się tłumaczyć ludziom, że wszytko działa, tylko Facebook nie jest tak oczywisty, jak im się wydaje :/

  9. Dzięki wielkie za kawałek kodu (szukałem czegoś podobnego już jakiś czas). Z nie wiadomych przyczyn fbclick wpływał na stronę internetową klienta („rozjeżdżając” css-y). Wyglądało to bardzo paskudnie. Teraz po zlikwidowaniu fbclick z adresu wszystko pięknie śmiga 🙂

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *