Filtrowanie niechcianego ruchu w Google Analytics


Ilość ocen: 565 Średnia ocena: 4.83/5
Polecaj to innym: 

W ostatnim czasie nasila się na wielu stronach WWW sztucznie generowany ruch ze stron internetowych takich jak semalt.com, buttons-for-website.com i wielu innych. Ruch ten nie tylko psuje statystyki Google Analytics, ale również dodatkowo obciąża zasoby serwera. Jak sobie z nim poradzić? Wyjaśniamy to w tym artykule.

Sprawdź mój najnowszy wideoporadnik - Jak filtrować SPAM w Google Analytics

Jak zidentyfikować niechcianych ruch?

Żeby dowiedzieć się, z jakich witryn przychodzą do nas użytkownicy wystarczy zajrzeć w Google Analytics do raportu Pozyskiwanie -> Wszystkie odesłania. Tam warto włączyć wymiar dodatkowy "Kraj". Może się okazać, że na liście witryn odsyłających widnieje wiele wizyt ze stron w dość egzotycznych jak na Polskę krajach.

Wiele z tych witryn, które znajdziemy w tym raporcie to sztucznie generowany ruch, który może przy większym natężeniu psuć statystyki i dlatego warto jest go wyeliminować. Jeżeli znajdziesz w swoim raporcie witryny odsyłające takie jak np. arodar.com, semalt.com, 7makemoneyonline.com, buttons-for-website.com, ilovevitaly.com lub ilovevitaly.ru to warto byś zastosował jeden z podanych w dalszej części środków zapobiegawczych.

Blokowanie ruchu na poziomie serwera

Jeżeli Twój serwer WWW obsługuje pliki .htaccess i ma włączoną obsługę modułu mod_rewrite wówczas możesz wyeliminować wejścia z niechcianych witryn już na poziomie serwera WWW.

Jest to najlepsze rozwiązanie, gdyż nie tylko wyeliminuje całkowicie niepożądane dane ze statystyk Google Analytics, ale również będzie oszczędzać wykorzystanie zasobów Twojego serwera WWW.

W celu blokowania ruchu pochodzącego z określonych witryn wystaczy w pliku .htaccess umieścić następujący kod:

RewriteEngine On
RewriteCond %{HTTP_REFERER} ^https?://(.*\.)?semalt\.com [OR,NC]
RewriteCond %{HTTP_REFERER} ^https?://(.*\.)?buttons-for-website\.com [OR,NC]
#RewriteCond %{HTTP_REFERER} ^https?://(.*\.)?darodar\.com [OR,NC]
RewriteCond %{HTTP_REFERER} ^https?://(.*\.)?7makemoneyonline\.com [OR,NC]
RewriteCond %{HTTP_REFERER} ^https?://(.*\.)?ilovevitaly\.ru [OR,NC]
RewriteCond %{HTTP_REFERER} ^https?://(.*\.)?ilovevitaly\.com [NC]
RewriteRule .* - [F]

W przypadku wykrycia odesłania z określonej domeny lub subdomeny spowoduje to zablokowanie dostępu i odpowiedź serwera z błędem 403.

W przypadku wykrycia w przyszłości kolejnych niechcianych źródeł ruchu wystaczy w pliku .htaccess dopisać linijkę:

RewriteCond %{HTTP_REFERER} ^https?://(.*\.)?semalt\.com [OR,NC]

zaraz na początku wszystkich reguł (po linii RewriteEngine On)

Alternatywną opcją do powyższej jest ustawienie zmiennej środowiskowej za pomocą dyrektywy SetEnvIfNoCase, jeśli na serwerze jest aktywny moduł mod_setenvif.

W tym celu zamiast powyższych reguł w pliku .htaccess wpisujemy:

SetEnvIfNoCase Referer ^https?://(.*\.)?semalt\.com spamreferer=yes
SetEnvIfNoCase Referer ^https?://(.*\.)?buttons-for-website\.com spamreferer=yes
#SetEnvIfNoCase Referer ^https?://(.*\.)?darodar\.com spamreferer=yes
SetEnvIfNoCase Referer ^https?://(.*\.)?7makemoneyonline\.com spamreferer=yes
SetEnvIfNoCase Referer ^https?://(.*\.)?ilovevitaly\.ru spamreferer=yes
SetEnvIfNoCase Referer ^https?://(.*\.)?ilovevitaly\.com spamreferer=yes
Order allow,deny
Allow from all
Deny from env=spamreferer

W przypadku serwera apache 2 wersji 2.4 zamiast 3 ostatnich linijek musimy zastosować następujące:

Require all granted
Require not env spamreferer

Filtrowanie witryn odsyłających w Google Analytics

W sytuacji jednak, gdy nasz serwer nie pozwala na zastosowanie jednej z w/w metod pozostaje nam odfiltrowanie ruchu z określonych witryn odsyłających  poprzez zastosowanie filtrów niestandardowych w Google Analytics.

W tym celu po zalogowaniu do Google Analytics przejdź do sekcji Administracja, wybierz odpowiednie konto, usługę i widok, dla którego chcesz zastosować filtr i wykonaj następujące czynności:

  • na poziomie widoku kliknij "FILTRY",
  • kliknij przycisk "+NOWY FILTR",
  • zaznacz opcję "Utwórz nowy filtr" (domyślnie zaznaczona),
  • wpisz nazwę filtru np. "Wyklucz odesłania z semalt.com",
  • jako typ filtru wybierz "niestandardowy",
  • zaznacz opcję "wyklucz",
  • jako pole filtru wybierz "odesłanie",
  • w pole "Wzorzec filtru" wpisz następujący ciąg znaków: ^https?://(.*\.)?semalt\.com
  • na koniec kliknij przycisk "Zapisz" znajdujący się na dole strony.

Czynności powyższe musisz powtórzyć dla każdej witryny odsyłającej, którą chcesz blokować w Google Analytics. 

Pamiętaj, że filtry zaczną być aktywne od momentu ich utworzenia. Podobnie również jak blokowanie na poziomie serwera - efekty w statystykach Analytics zobaczysz dopiero od momentu poprawnego skonfigurowania.

Aktualizacja 2014-12-28

Niestety blokowanie "wizyt" z darodar.com na poziomie serwera jest bezskuteczne, gdyż w logach serwera wizyty te po prostu nie istnieją. Analizując dokładnie dane z Analytics i porównując je z logami serwera możemy zauważyć, że w określonym czasie w jakim Analytics odnotował wizytę z odesłania serwer nie odnotował w ogóle ruchu na stronie.

Jedynym skutecznym sposobem w tym konkretnym przypadku jest więc blokada na poziomie Google Analytics poprzez stworzenie odpowiednich filtrów.

Filtrowanie po nazwie hosta

Ponieważ w raportach Google Analytics pojawia się coraz więcej odesłań "wirtualnych" - tzn. takich, dla których nie następują w ogóle odwiedziny strony, tylko są to dane przesyłane do usługi Google Analytics za pomocą measurement protocol w walce ze spamem bardzo pomocny może się okazać również filtr po nazwie własnego hosta.

Jeśli w raporcie stron odsyłających jako wymiar dodatkowy włączymy nazwę hosta okazać się może, że w wielu przypadkach nazwa hosta w ogóle nie odpowiada nazwie naszego hosta (czyli adresowi domeny, na której działa strona) lub jest nieustawiona (not set). To jest jedna z charakterystycznych cech pozwalająca na identyfikację "skradzionego" kodu, ale również wirtualnych wizyt.

Ta własność daje nam doskonałą okazję do odfiltrowania sztucznego ruchu, a w tym celu wystarczy utworzyć filtr na widoku danych, który uwzględni tylko nazwę naszego hosta.

Poniżej prezentujemy przykład, jak skonfigurować taki filtr w Google Analytics. W celu utworzenia filtru trzeba przejść na kartę Administracja w Google Analytics, a tam w kolumnie WIDOK kliknąć kartę Filtry, a następnie kliknąć przycisk +NOWY FILTR.

Dodając filtr należy pamiętać, że pole "Wzorzec filtru" interpretowane jest jako wyrażenie regularne. Dlatego znaki specjalne takie jak np. kropka "." należy poprzedzić odwrotnym ukośnikiem "\" w celu uniknięcia niejednoznaczności.

Jeżeli dla widoku mamy skonfigurowane śledzenie w wielu domenach musimy uwzględnić we wzorcu wszystkie śledzone domeny. W tym celu należy wypisać wszystkie domeny oddzielając je znakiem pionowej kreski (bez spacji). Wówczas filtr może mieć następującą postać:

domena-a\.pl|domena-b\.pl

Pamiętajmy by filtry najpierw skonfigurować na testowym widoku danych i dopiero po zweryfikowaniu poprawności ich działania stosować je na głównym widoku danych.

 

Opublikowane przez:

O autorze

Tomasz Ciepłucha

Cześć, nazywam się Tomasz Ciepłucha i jestem Certyfikowanym specjalistą Google Ads i Analytics oraz ekspertem na forum reklamodawców Google.

Jeżeli szukasz pomocy w zakresie prowadzenia kampanii reklamowych Google Ads, konfiguracji lub wdrożenia Google Analytics oraz wdrożeń z zakresu GTM (Menedżera Tagów Google) to zapraszam do kontaktu ze mną!

Google+ Dodaj mnie do kręgów na Google+

YouTube Zasubskrybuj mój kanał na YouTube!

Lista komentarzy

evaplus
A w jakim celu tworzony jest ten "sztuczny ruch" przez "jakieś" strony internetowe?
Tomek
Motywy takiego działania mogą być różne. W większości wypadków jest to sposób na pozyskiwanie ruchu na stronach, gdyż po wyświetleniu się w statystykach wielu wejść na naszą stronę z ciekawości możemy chcieć sprawdzić, skąd pochodzi ten ruch i wchodzimy na stronę odsyłającą. Najczęściej następuje wówczas przekierowanie na stronę z reklamami lub jakiegoś sklepu, itp.
EVAplus
Dziękuję, miałem od jakiegoś czasu po kilka/kilkanaście wejść z Samary (głównie) z jednego adresu, ale od dwóch dostawców internetowych i jednego z Moskwy często bez określonego czasu pobytu na naszej stronie. Zostali zablokowani i jak na razie jest spokój. Pozdrawiam
Tomek
W sumie najlepiej jest używać połączeń blokowania na poziomie serwera + filtrowanie w Google Analytics.
Wówczas takie przypadki jak darodar, które są totalnie wirtualne i nie ma ich w logach serwera są wyłapywane przez filtry w GA, natomiast wszystkie pozostałe już na poziomie serwera WWW.
nonameman
W jaki sposób najlepiej dodać powyższe reguły do pliku .htaccess w przypadku kiedy dana witryna działa na WordPressie?
Tomek
Jeśli w pliku .htaccess znajduje się już dyrektywa RewriteEngine On to należy wstawić tylko linijki rozpoczynające się od RewriteCond... zaraz po linii RewriteEngine On i powinno działać.
Niemniej jednak zalecam dodanie również odpowiednich filtrów w konfiguracji widoku danych Google Analytics.
nonameman
Niestety, metoda na wklejenie nie działa (chyba, że coś źle zrobiłem ;) ). Kod wygląda jak poniżej:
-------------------------------------------------
# BEGIN WordPress

RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
RewriteCond %{HTTP_REFERER} ^https?://(.*.)?semalt.com [OR,NC]
RewriteCond %{HTTP_REFERER} ^https?://(.*.)?buttons-for-website.com [OR,NC]
RewriteCond %{HTTP_REFERER} ^https?://(.*.)?7makemoneyonline.com [OR,NC]
RewriteCond %{HTTP_REFERER} ^https?://(.*.)?ilovevitaly.ru [OR,NC]
RewriteCond %{HTTP_REFERER} ^https?://(.*.)?ilovevitaly.com [NC]
RewriteRule .* - [F]

# END WordPress
-------------------------------------------------
Jak mogę to poprawić?
Tomek
Spróbuj zmienić kolejność, żeby wyglądało to tak, jak poniżej.
Poza tym możesz w celu sprawdzenia możesz do tej listy blokowanych stron dodać dowolną domenę na której wiesz, że jest link do Twojej strony, a następnie kliknij w ten link, by sprawdzić, czy blokada zadziała.
Oczywiście pamiętaj później, żeby usunąć tą testową domenę z listy w .htaccess

-------------------------------------------------
# BEGIN WordPress

RewriteEngine On
RewriteCond %{HTTP_REFERER} ^https?://(.*.)?semalt.com [OR,NC]
RewriteCond %{HTTP_REFERER} ^https?://(.*.)?buttons-for-website.com [OR,NC]
RewriteCond %{HTTP_REFERER} ^https?://(.*.)?7makemoneyonline.com [OR,NC]
RewriteCond %{HTTP_REFERER} ^https?://(.*.)?ilovevitaly.ru [OR,NC]
RewriteCond %{HTTP_REFERER} ^https?://(.*.)?ilovevitaly.com [NC]
RewriteRule .* - [F]
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]


# END WordPress
-------------------------------------------------
BJakob
Ja też mam problem z spamrefererami. Dodatkowo chciałem blokować boty z ahrefs itp. Połączyłem to w jeden blok w .htaccess, ale nic z tego. Zresztą mój htacces ma 350 linii.
Tomek
BJakob - w .htaccess nie usuniesz ruchu, który jest generowany za pomocą Measurement Protocol - czyli nie ma fizycznych wejść tylko do Twojej usługi GA przesyłane są spamerskie dane.
W tym przypadku jedynym zabezpieczeniem jest filtrowanie odesłań w Google Analytics.
rucinsky
Najbardziej rzeczowo napisany artykuł na temat spam-odesłań. Dzięki :)
Dorota
Hej, u mnie w filtrach google analitics w ogóle się nie pojawia się przycisk - zrób nowy filtr. Co z tym mogę zrobic?
Tomek
Dorota - jeśli nie widzisz przycisku pozwalającego na utworzenie nowego filtru to znaczy, że nie masz odpowiednich uprawnień.
Musisz mieć uprawnienia do edycji na poziomie konta, żeby w widoku danych móc tworzyć nowe filtry. Więcej znajdziesz w artykule pomocy na stronie: https://support.google.com/analytics/answer/2884495?hl=pl&ref_topic=6014099
Dorota
Mam wszystkie uprawnienia...
Tomek
Konto Google Analytics ma następującą strukturę:
Konto > Usługi > Widoki danych.
Możesz mieć wszystkie uprawnienia na poziomie usługi i widoku danych, ale na pewno nie masz uprawnień do edycji na poziomie konta, czyli najwyższym i przez to nie możesz tworzyć filtrów.
Jestem tego pewien na 100% bo to już przerabiałem kilka razy.
niepelnosprawny.org
to jest typowe filtrowanie (zablokowanie dostepu do strony), czy usuniecie jedynie ze statystyk analytics?
Tomek
Blokować dostęp do strony można jedynie jeśli następuje rzeczywisty ruch na stronie. Natomiast w przypadku spamowania usług w Google Analytics mamy do czynienia w większości przypadków z przesyłaniem danych bezpośrednio do serwerów Google więc nie jest to rzeczywisty ruch.
Jedyne co można w takiej sytuacji zrobić to skonfigurować odpowiednie filtry w widokach danych, by ten niechciany ruch nie był wyświetlany w raportach.
agmos
A jak zablokować w htaccess ruch z okreslonego kraju o tym nie napisałes :) Jak to będzie regułka ?
Tomek
Jeżeli chodzi o blokowanie SPAMu wirtualnego w Google Analytics to odsyłam do innego mojego artykułu na blogu: https://www.rmt.pl/blog/jak-filtrowac-spam-w-google-analytics-poradnik-praktyczny-film.html
Jeżeli Twoje pytanie dotyczy nie ma fizycznego wejścia na serwer tylko dane są przesyłane bezpośrednio do serwerów Google za pomocą measurement protocol wówczas dodawanie reguł w .htaccess w niczym nie pomoże.
Agmos
Wydaje mi się że są fizyczne wejscia gdyż w sekcji GA -> Widok na żywo pokazuje je, to nie tylko statysyki.
Znalazłem taką stronę:
https://www.ip2location.com/free/visitor-blocker
Jednak mam problem z krokiem 3 gdyż nie wiem co tam zaznaczyć ? Mam strone click shop z homepl (tam jest jakas webide serwer)
Tomek
Pojawienie się ruchu w widoku na żywo niczego nie dowodzi. W raportach na żywo pojawią się dane bez względu na to, czy ktoś odwiedza naszą stronę, czy też jakiś skrypt wysyła dane do serwera Google Analytics z pominięciem naszej witryny.
Jeżeli nie wierzysz, że tak się da, to odsyłam do hit buildera:
https://ga-dev-tools.appspot.com/hit-builder/
Wstaw w pole tid identyfikator usługi dla Twojej strony, dodaj pole uip z wartością np. 54.239.26.128 (Ashburn, USA) oraz pole dl z pełnym adresem Twojej strony (na końcu dodaj jakiś parametr, np. ?foo=bar), jak wypełnisz pola, które chcesz kliknij "Validate hit" i następnie obserwując raporty na żywo kliknij "Send hit to Google Analytics". W Twoim Google Analytics pojawi się ruch ze Stanów Zjednoczonych.
Pełna lista parametrów i ich znaczenie jest na stronie: https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters
Agmos
Na pewno sprawdzę w domu sobie . Dzięki wielkie wreszcie jakąs konkretną odpowiedź od kogos dostałem . Pozdrawiam serdecznie i zapisuje sobie bloga twojego hej :)

Twoja opinia jest dla nas cenna!