Jeżeli korzystasz z Google Analytics na swoim blogu lub stronie internetowej, warto sprawdzić, czy Twoje statystyki nie są zaburzone przez spam. Brak reakcji w tej sprawie może doprowadzić do poważnych konsekwencji podczas analizy danych. Ważne jest, aby unikać podejmowania błędnych decyzji opartych na sztucznie zaburzonych statystykach. Zachowaj czujność i podejmuj działania, aby utrzymać czystość i dokładność swoich analiz!

Czym jest spam z odesłań w Universal Analytics?

Od końca ubiegłego roku możemy zaobserwować natężony wzrost bezwartościowego ruchu z odesłań. Zgodnie z nomenklaturą Analyticsa, odesłania są ruchem pozyskanym poprzez linki prowadzące do naszej witryny z innych stron zamieszczonych w sieci. Niemniej jednak, nie zawsze odnośniki, które widzimy w naszych statystykach, są generowane przez prawdziwych użytkowników Internetu. Część tego ruchu może być sztucznym, generowanym przez różnego rodzaju boty.

Na chwilę obecną zaobserwowałem dwa rodzaje spamu. Pierwszy to tzw. „referrer spam”, który pochodzi od crawlerów, czyli botów indeksujących lub zbierających informacje o stronie (np. semalt.com, buttons-for-website.com). Drugi rodzaj spamu wykorzystuje luki w systemie Google Analytics. Jego celem jest generowanie fałszywych wejść na naszej stronie, bez faktycznych odwiedzin. Robiąc research natrafiłem na idealne określenie dla tego typu ruchu, a mianowicie „ghost referrer spam”. O ile ten pierwszy typ spamu jesteśmy w stanie zablokować używając .htaccess. Ten drugi stanowi większe utrapienie dla właścicieli stron internetowych.

Ten typ odnośników pojawia się w naszych statystykach, nawet bez rzeczywistego wejścia na witrynę. Obecnie jedyną dostępną opcją jest ustawienie filtrów w Google Analytics. Należy wykluczyć taki ruch, ponieważ bezwartościowy ruch może wpłynąć na współczynnik konwersji, wskaźnik odrzuceń, czas spędzony na stronie oraz zaburzać wiele innych istotnych danych.

Pochodzenie Ghost Refferer Spam

Zadawałem sobie pytanie, kto i dlaczego robi taką szkodę zwykłym użytkownikom Google Analytics. Postanowiłem dojść do źródła problemu. Moja ciekawość doprowadziła mnie wprost na tereny Rosji (ach Ci Rosjanie, genialni w swojej prostocie). Podczas poszukiwań natrafiłem na artykuł opisujący działalność Witalija Popowa. Ów Pan znalazł bowiem banalnie prosty sposób na zarobek.

Na czym polega fenonem Rosjanina?

Witalij doskonale wykorzystuje podstawowe mechanizmy socjotechniki, a mianowicie ludzką ciekawość. To ta sama ciekawość, która skłania nas do klikania w kontrowersyjne tytuły artykułów lub kupowania gazet takich jak „Fakt” pod wpływem przeczytania krzykliwego nagłówka z pierwszej strony (tak, tak … zaraz powiecie, że nikt tego nie kupuje – szkoda tyko, że ta gazeta okupuje pozycję lidera w sprzedaży kioskowej).

Wracając do meritum, Popow wykorzystuje lukę w Analyticsie, aby naszym oczom pojawiły się różne odesłania. Wykorzystuje on ludzką naturę i korzysta z masowych działań, bazując na zautomatyzowanym mechaniźmie. Część użytkowników, widząc taki link, będzie chciała sprawdzić, kto podlinkował ich domenę.  Sam gdy zauważam taki ruch, podążam do źródła, by przynajmniej podziękować innemu twórcy za wzmiankę o mnie lub mojej stronie.

Dlaczego Rosjaninowi zależy na naszym przejściu?

Już  wyjaśniam motywy działań naszego Rosjanina. Gdy skopujemy adres pojawiający się w naszych statystykach i wkleimy go do przeglądarki. Naszym oczom nie ukaże się dana strona z adresem widniejącym w Universal Analyticsie. Zostaniemy przekierowani na link afiliacyjny jednego z programów partnerski (np. Amazonu lub AliExpress).

Gdy odwiedzimy specjalnie wygenerowany link partnera. W naszej przeglądarce zapisują się ciasteczka cookies. Jeśli powrócimy na tą stronę w określonym terminie i dokonamy zakupu np. w Amazonie, to nasz sąsiad dostanie prowizję od dokonanej transakcji. Mógłbym rzec, że na naszych oczach rodzi się nowy odłam black hatowej analityki internetowej.

Jak rozpoznać spam?

Jedną z metod wykrywania spamu jest analiza logów naszego serwera. Jednak skoncentruję się na drugiej metodzie, opartej na samych statystykach w narzędziu Google Analytics. Dla osób regularnie sprawdzających statystyki nie powinno być większego problemu z wykryciem podejrzanego ruchu. Natomiast osoby o dużym ruchu lub rzadko sprawdzające dane statystyczne mogą napotkać trudności w zarejestrowaniu spamu. W takim przypadku spam może być przesunięty na dalsze strony, które mniej regularnie odwiedzający użytkownicy mogą nie przeglądać.

Linki, jak te przedstawione na poniższym zrzucie ekranu (pole 1), wywołują uzasadnione podejrzenia. Wystarczy spojrzeć na adresy składające się z wielu subdomen i różnych ciągów cyfr, aby zauważyć, że są one nietypowe. W normalnych warunkach adresy stron internetowych składają się z czytelnych i spójnych nazw, które odzwierciedlają temat lub nazwę witryny.

Analiza współczynnika odrzuceń oraz ilości sesji i średniego czasu trwania sesji jest istotna w ocenie efektywności naszej witryny. Na załączonym zrzucie ekranu (pole 2.) możemy zauważyć pewien schemat 100% odrzuceń w połączeniu z jedną sesją oraz zerową średnią pobytu na stronie.

Analiza wymiaru „Kraj” pozwala nam sprawdzić, z jakich państw pochodzi nasz ruch. Jeśli ruchu pochodzi z krajów, które nie są związane z naszą grupą docelową lub nie są naszym celem biznesowym, może to wskazywać na spam lub nieprawidłowości w analizach.

Analiza wymiaru „Nazwa hosta” wskazuje, z jakich hostów pochodzi nasz ruch. Jeżeli wiersz nie wskazuje naszego hosta (nazwy naszej domeny w polu 6.), mamy kolejną przesłankę, by uznać ten ruch za spam.

Jak rozpoznać spam w Google Analytics?

Nazwa Hosta Analytics

Gdybym sprawdzał wartościowy ruch dla mojej własnej domeny, powinienem tam zobaczyć adres projektlukas.pl (lub ewentualnie host usług Google lub web.archive), a nie (not set) lub inne nieznane hosty.

UWAGA! Screeny wkleiłem tutaj z Analyticsa strony internetowej, która już nie istnieje, a ja nie usunąłem tego konta Google Analytics. Zwróćcie uwagę jak pozornie „unikalne” statystyki potrafiła wygenerować metoda Rosjanina na nie istniejącej stronie.

Opisane powyżej schematy obejmują tylko część spamu, a nasz sąsiad stale doskonali swoją metodę. Potrafi coraz lepiej manipulować wynikami, aby wydawały się bardziej wiarygodne (pole 4.). Pamiętajcie, że raz wygenerowany ruch w Google Analytics nie zostanie usunięty z historii. Możemy co najwyżej usuwać spam z bieżącego dnia.

Jak zatrzymać spam crawlerów (semalt, buttons-for-website)?

Najlepszym sposobem na pozbycie się robotów, różnych narzędzi obciążających naszą witrynę jest blokowanie tego ruchu z poziomu serwera. Jeśli korzystacie z serwera Apache, to jesteście w tej komfortowej sytuacji , aby zablokować ruch w pliku .htacces Poniżej prezentuje 3 metody wykluczenia ruchu przy użyciu pliku .htacces, który należy wrzucić do głównego katalogu na naszym serwerze:

PRZYKŁAD 1:

RewriteEngine on
RewriteCond %{HTTP_REFERER} nazwa-strona1\.pl [OR,NC]

RewriteCond %{HTTP_REFERER} nazwa-strony2\.pl [OR,NC]

RewriteCond %{HTTP_REFERER} nazwa-strony3\.pl [OR,NC]

RewriteCond %{HTTP_REFERER} nazwa-strony4\.pl

RewriteRule . – [F]

PRZYKŁAD 2:

order allow,deny
deny from domena.com
deny from subdomena.domena.com
allow from all

PRZYKŁAD 3:

Jeżeli posiadamy IP naszych spamerów, to będziemy mogli wykluczyć ruch z całego IP, a nawet klas. Ja osobiście używam konkurencji GA do szybkiego wychwytywania IP użytkowników, a dokładnie Clicky. IP możemy dodatkowo namierzyć przez sprawdzenie logów na naszym serwerze.

order allow,deny
deny from 000.000.0.00
deny from 000.00.000.0
allow from all

Jak usunąć Ghost Refferer Spam w Universal Analytics używając filtrów?

W związku z tym, że do zablokowania spamu w GA podchodziłem kilka razy, przedstawię Wam każdą z moich prób. Być może, któraś z metod przyda się Wam w przyszłości. Aaa… zapomniałbym, że każdy z Was powinien już na samym początku instalacji skryptu GA, zaznaczyć w panelu wykluczenie popularnych botów. Lista tych botów nie jest imponująca, ale zawsze to jakieś dodatkowe zabezpieczenie. Google w tym przypadku korzysta z listy przygotowanej przez IAB.

Wykluczenie popularnych botów

Jak ustawić filtr odesłań w Google Analytics?

Moje pierwsze podejście do blokowania spamowego ruchu działałoby nadal, gdyby nie powstawały nowe strony zaśmiecające statystyki. Aby nie bawić się w pojedyncze wykluczanie adresów, zastosowałem wyrażenie pozwalające wykluczyć wiele domen/subdomen za jednym zamachem (przy kopiowaniu usuń spacje/entery):

.\.[bestwebsitesawards|cenoval|blackhatworth|hulfingtonpost|semalt|priceg|
darodar|econom|iloveitaly|7makemoneyonline|saveyoutubevideo|cclicking|
buttons\-for\-website|tasteidea|kambasoft]\.[com|co|ru]

Przechodząc do sedna sprawy poniżej prezentuje screena, który przedstawi Wam krok po kroku co zrobić, aby ustawić filtr odesłań w Google Analytics.

Wykluczenie odesłań w Analytics

Administracja -> Filtry -> Wybieramy dowolną nazwę filtru ->Wybieramy typ niestandardowy -> Zaznaczamy opcję WYKLUCZ ->Wybieramy Odesłania -> Wpisujemy Wzorzec filtru -> Sprawdzamy poprawność, weryfikując wpisany filtr -> Zapisujemy

Po dokonaniu weryfikacji możecie ujrzeć albo komunikat: „Ten filtr nie zmieniłby danych: konfiguracja filtra jest nieprawidłowa lub zestaw próbnych danych jest zbyt mały.”, albo tabelę z ruchem, który zostałby wykluczony, gdyby filtr działał od 7 dni.

Tabela weryfikacji Analytics

Efekty działania filtra stają się widoczne w danych do 24 godzin. Dane historyczne nie zostaną usunięte, jedynie zapobiegniecie zaburzeniom z dnia bieżącego oraz przyszłego.

Jak usunąć spam z Rosji lub innego kraju w Google Analytics?

Wykluczenie Rosji z Google AnalyticsNiestety wykluczenie wyżej wymienionych domen nie było idealnym rozwiązaniem. Po wdrożeniu tego filtru, musiałem obserwować ruch z odesłań w poszukiwaniu nowych spam domen. Gdy wykrywałem coś nowego – dodawałem ją do wyżej użytego wyrażenia.

Szukając lepszego rozwiązania, znalazłem pewną wspólną dla nowych domen. Krajem pochodzenia wszystkich odesłań była Rosja. Postanowiłem wykluczyć cały ruch z Rosji. W związku z tym, że Rosjanie nie są moją grupą docelową, pozwoliłem sobie na wykluczenie takiego użytkownika. Filtr ustawiamy podobnie jak wyżej. Z tym wyjątkiem, że tym razem zamiast odesłań wybieramy kraj i wpisujemy angielską odmianę kraju naszych sąsiadów – Russia.

Finałowa runda ze spamerami Google Analytics!

Filtr po nazwie hosta w GAPo wykluczeniu ruchu z Rosji pozbyłem się śmieciowego ruchu. Myślałem, że wygrałem internety ustawiając ten filtr, przez długi czas moim oczom nie ukazywał się żaden spam.

Wszystko jednak trwało do czasu :(

Rywal nauczył się korzystać z proxy. Łącząc się z Analyticsem z różnych części świata. Załamałem się widząc ruch z Dominikany, Hong Kongu i innych egzotycznych państw. Dodatkowo na nieszczęście zauważyłem ten spam dopiero po 2 dniach. Po dostrzeżeniu tego problemu zacząłem szukać innego wspólnego schematu.

Poszukując w wymiarach dodatkowych nowych danych, dokopałem się do „Nazwy hosta”, który wskazywał dla tego ruchu albo (not set), albo obcą domenę. Gdzie prawidłowo powinna pojawiać się nazwa mojej domeny projeklukas.pl (wyjątkiem są ruchy z usług Google oraz webarchive).

Idąc tym tropem postanowiłem tym razem skorzystać z opcji „UWZGLĘDNIJ” tylko i wyłącznie ruch posiadający nazwę hosta mojej domeny. Filtr ustawiamy tak jak w pierwszym przypadku, z wyjątkiem różnicy opcji wykluczenia oraz wpisując nazwę swojej własnej domeny (odpowiednio bez lub z prefixem www). Przed kropkami ustaw odwrócony ukośnik tzw.”backslash” (\). Będziesz miał pewność, że Analytics rozróżni prawidłowo kropkę (zasada wyrażeń regularnych). Choć w przypadku wpisywania pojedynczego adresu, pominięcie backslasha również przyniesie oczekiwane rezultaty. Pamiętaj o weryfikacji i o dobrej praktyce stosowania nowych filtrów na „testowym widoku”.

Lista przykładowych spam domen

Wybrane crawlery do wykluczenia w .htaccess:

semalt.com
semalt.semalt.com
best-seo-solution.com
best-seo-offer.com
top1-seo-service.com
buttons-for-website.com
buttons-for-your-website.com

Wybrane ghost spam:

simple-share-buttons.com
site11.simple-share-buttons.com
site13.simple-share-buttons.com
site16.simple-share-buttons.com
free-social-buttons.com
guardlink.org
share-buttons.xyz
traffic2cash.xyz
с.новым.годом.рф
topseoservices.co
googlemare.com
cenoval.ru
blackhatworth.com
hulfingtonpost.com
priceg.com
forum.topic50413042.darodar.com
bestwebsitesawards.com
buy-cheap-online.info
ilovevitaly.co
howtostopreferralspam.eu
sanjosestartups.com
event-tracking.com
get-free-traffic-now.com

Podsumowanie

Na chwilę obecną nie widzę spamu od momentu ustawienia trzeciego rozwiązania (5 kwiecień 2015)

Ze względu na to, że spamerzy stale modyfikują swoje metody – będę miał na oku dane Analyticsa. Jeśli znasz lepszą metodę walki ze spamem, podziel się nią z czytelnikami w komentarzu. Jeśli wykryjesz nowy sposób spamera, proszę daj mi znać w komentarzu. Postaram się go dodać do artykułu. Jeśli pomogłem Ci w walce ze spamem, będę wdzięczny za udostępnienie tego artykułu.

author Łukasz D. K.

Łukasz D. K.

Internety robię w badaj.to

E-ntuzjasta digital marketingu oraz wszelkich metod pozwalających generować wartościowy ruch na projekty internetowe. Związany z branżą internetową od 2012 roku. W przeszłości związany z branżą SEM, realizując kampanie m.in. dla klientów z sektora instytucjonalnego, automotive, IT, FMCG.