Jak pozbyć się spamu z Google Analytics?

Jak pozbyć się spamu z Google Analytics?

Spam w Google Analytics, to zjawisko niezwykle irytujące. Statystyki strony są po to, by pomagać w podejmowaniu trafnych decyzji marketingowych. Tymczasem, zwłaszcza na stronach z niewielkim ruchem tzw. referral spam może być odpowiedzialny nawet za 20-30% sesji widocznych w raportach. Nietrudno domyślić się, jak opłakane skutki może mieć decyzja podjęta podstawie tak zafałszowanych danych. Na szczęście jest dość prosty sposób, aby się od tego zjawiska uwolnić.

Zanim jednak przejdziemy do mięsa, dwa słowa wstępu (no – może trochę więcej ;) ).

Być może zastanawiasz się …na jakiego grzyba ktokolwiek miałby spamować moje wyniki w Google Analytics? Odpowiedź jest dość prosta i niewiele różni się od motywacji towarzyszącej wszelkim innym formom spamu. W ten sposób misię-marketerzy (od mi-się-wydaje) starają się zdobyć Twoją uwagę.

Wydaje im się, że może klikniesz w link, sprawdzisz co to za strona (tu niestety mogą mieć rację) i może puścisz w niepamięć ten syf, który narobili w Twoich wynikach, po czym postanowisz skorzystać z oferty super SEO za 100 dolarów. A nawet jeśli nie – przy okazji wizyty na stronie spamera złapiesz jakiegoś złośliwego wirusa, który wyciągnie Twoje dane, wyczyści konto itd.

Zatem zapamiętaj jedną z najbardziej podstawowych zasad BHP – nie odwiedzaj stron wysyłających spam na Twoje konto Google Analytics.

Opisów rozwiązania problemu tzw. ghost traffic / referral spam pojawiło się w sieci już sporo. Jedne ledwie skuteczne, inne bardzo efektywne (niektóre wręcz geekowskie ;)). Jeśli interesują Cię te ostatnie polecam szczególnie wpis Tomasza Brzozowskiego – bardzo szczegółowa analiza i ciekawe rozwiązanie. Dlaczego więc opisywać to po raz kolejny?

Przy doborze rozwiązania kierowałem się dwoma kryteriami:

  • ma być skutecznie – tak jak to tylko możliwe przy uwzględnieniu drugiego kryterium, czyli…
  • ma być łatwo – tak, aby w 20-30 min poradził sobie z tym każdy, kto był w stanie założyć konto GA ;)

Przedstawiona poniżej kombinacja, moim zdaniem, spełnia obydwa kryteria. Po 2 tygodniach testów na kilku domenach ilość spamu spadła do granicy błędu statystycznego. Jeśli zaś okaże się nie takie łatwe, jak sądzę – zawsze możesz zadać mi pytanie w komentarzach, poniżej.

1. Wykluczamy ruch z obcych hostów

Zdecydowana większość spamu, na jaki trafisz w GA jest generowana metodą skryptową. Oznacza to w skrócie, że nie dochodzi do faktycznej wizyty na stronie, a jedynie zostaje wysłany tzw. hit na serwer Google Analytics z Twoim (wygenerowanym losowo) identyfikatorem GA.

Ile takich wizyt miało miejsce na Twojej stronie? Sprawdzisz to w raporcie Odbiorcy / Technologia / Sieć, po zmianie wymiaru podstawowego na Host:

Raport adresów Hosta w Google Analytics

W tym raporcie Twoją uwagę powinny zwrócić wszelkie wartości inne niż adres Twojej strony www (na które nie miałeś szansy dodać swojego kodu śledzenia Google Analytics).

WAŻNE

Do adresów niepożądanych w tym raporcie z pewnością możesz zaliczyć takie jak (not set), google, czy amazon. Spamerzy mogą się pod nie podszywać, natomiast z całą pewnością nie instalowałeś własnego kodu śledzenia na stronie głównej wyszukiwarki Google, prawda? :)

Warto natomiast pozostawić adresy takie, jak translate.googleusercontent.com, (wizyty z wykorzystaniem tłumacza Google do treści Twojej strony) czy webcache.googleusercontent.com (wizyta na kopii strony z pamięci podręcznej). Pozostawić należy także adresy Twojego usługodawcy płatności online i inne usługi powiązane z Twoją stroną.

Jak założyć filtr na adres hosta?

Przejdź do zakładki Administracja na koncie Google Analytics, następnie przejdź do widoku, na którym chcesz dodać filtr i wybierz pozycję Filtry:

dodawanie nowego filtru w Google Analytics

Kliknij polecenie +Nowy filtr i wprowadź następujące ustawienia:

  • nazwa filtru
  • typ: niestandardowy / uwzględnij
  • pole: host
  • wzór: wyrażenie regularne dla hostów, które chcesz uwzględnić w raportach

filtr na wykluczanie nieprawidłowych hostów

Jak mniemam najbardziej problematycznym elementem tego kroku mogą być wyrażenia regularne, To jednak temat na zupełnie inny wpis :) Zatem wersja gotowa do użytku poniżej:

(.*twojadomena\.pl)|(.*googleusercontent\.com)|(.*twojoperatorplatnosci\.pl)

Dodając kolejne adresy do wzoru pamiętaj o następujących zasadach:

  • nazwę domeny poprzedzaj znakiem kropki i gwiazdki “.*” – dzięki temu uwzględnione będą zarówno domena główna jak i subdomeny
  • przed znakami takimi jak kropka, czy myślnik w adresie stawiaj ukośnik “\”
  • pomiędzy kolejnymi adresami dodaj znak alternatywy “|”

W razie dodatkowych pytań odsyłam do pomocy Google na temat wyrażeń regularnych i zapraszam do zadawania pytań w komentarzach. Gdy już Twój wzorzec będzie gotowy i umieszczony w odpowiednim polu – nie zapomnij kliknąć Zapisz – i gotowe.

2. Wykluczamy złośliwe źródła kampanii

Wróćmy teraz do raportu adresów hostów i dodajmy do niego wymiar dodatkowy źródło:

Raport adresów hosta i źródeł kampanii w Google Analytics

Zapewne zauważysz, że niektóre z niepożądanych odniesień w raportach mają prawidłowy adres hosta. Takich hitów niestety pierwszy filtr nie wyłapie, dlatego potrzebujemy kolejnego – tym razem na źródło kampanii.

Zaraz, zaraz – dlaczego akurat źródło kampanii, a nie np. odesłanie (referral)? Ano dlatego, że filtry na pole odesłania muszą uwzględniać pełny adres odesłania, przez co spamer po zmianie subdomeny może znów pojawić nam się w raportach. Pole źródło kampanii z kolei jest automatycznie przypisywane przez Google do każdego wejścia na stronie (poza bezpośrednimi) i wystarczy nam w tym polu adres domeny.

Podsumowując, dzięki temu filtr będzie pewniejszy.

Jak założyć filtr na źródło kampanii?

Przejdź ponownie do filtrów i utwórz nowy. Tym razem należy wprowadzić następujące ustawienia:

  • nazwa filtru
  • typ: niestandardowy / wyklucz
  • pole: źródło kampanii
  • wzór: wyrażenie regularne dla większości znanych źródeł spamu

Tym razem, dla ułatwienia gotowy wzorzec do wklejenia dla Ciebie:

(semalt)|((best|100dollars)\-seo)|(kambasoft)|(7makemoneyonline)|(tubevideo)|(darodar)|(iloveitaly)|(for(\-your)?\-(website|business))|(free\-(share|social)\-buttons)|(econom\.co)|(cclicking)|(tasteidea)|(musica\-gratis)|(free\-traffic)|(youporn)

wykluczanie źródeł kampanii w Google Analytics

Na koniec możesz zweryfikować filtr na podstawie ostatnich 7 dni, aby zobaczyć jakie wpisy w raportach zostaną przezeń wyłapane.

Jak zapewne zauważyłeś, zdecydowałem się nie wpisywać pełnych nazw domen, a jedynie konkretne frazy, oraz nieco modyfikowałem niektóre z wpisów.

Zrobiłem tak z dwóch powodów:

  • dzięki temu filtr jest krótszy (wzorzec filtra nie może mieć więcej niż 255 znaków)
  • wiele ze spamowych domen ma bardzo podobne adresy (np. free-share-buttons i free-social-buttons) – zamiast dodawać obydwie, używamy alternatywy (free\-(share|social)\-buttons)

W moim wzorcu użyłem przede wszystkim tych adresów, które pojawiały się w wynikach, mimo zastosowania pierwszego filtru oraz zidentyfikowanych jako najbardziej popularne przez Macieja Lewińskiego.

ZANIM ZACZNIESZ

Wspominałem na początku o pierwszej zasadzie BHP. Czas najwyższy na zasadę nr 2. Otóż, zanim nałożysz jakikolwiek filtr na swoje raporty, pamiętaj, że takiego działania nie można odwrócić. To co zostanie przefiltrowane przez Google Analytics zostanie takie na wieki wieków.

Dlatego powinieneś zawsze mieć na koncie przynajmniej jeden całkowicie niefiltrowany widok dla każdej śledzonej domeny.

Gdy już wszystko gotowe…

Oczywiście zdaję sobie sprawę z tego, że w przyszłości mogą pojawić się kolejne adresy, które trzeba będzie dodać do filtru campaign source. Niemniej, sądząc po ostatnich tygodniach spamerzy jednak są leniwi, i zdecydowaną większość z nich udaje się zatrzymać filtrem na poprawny host. Nieliczni pozostali wpadają w drugi filtr :)

To tyle ode mnie. Ciekaw jestem, jak powyższe rozwiązanie sprawdzi się w Twoim przypadku – koniecznie daj znać w komentarzach :)

Na co dzień prowadzi kampanie reklamowe klientów, analizuje, optymalizuje i przeprowadza audyty efektywnościowe.

  • Artur, dzięki, to było bardzo przydatne!
    Czy opisywales gdzies, jak “mieć na koncie przynajmniej jeden całkowicie niefiltrowany widok dla każdej śledzonej domeny”? Jak to zrobic?

    Dzięki z góry!

    • Tez sie nad tym zastanawiam…

      • Karolina, ja już to ogarnęłam (nie pamiętam jak, ale okazalo się dość intuicyjne), ALE to tak naprawdę niewiele teraz nam da. Trzeba było na samym poczatku, tworzac profil na GA zalozyc od razu 2 widoki. Vi teraz ten drugi widok jest pusty, zaczyna od zera.

        • @@piatypokoj:disqus – tak, jeśli założysz nowy widok, dane będą na nim zbierane od momentu utworzenia – taka operacja nie działa wstecz. Niemniej warto to zrobić w każdym czasie – z każdym miesiącem będzie na nim więcej danych historycznych i będzie co porównywać.

          Dla jasności – nowy widok zakładamy przechodząc do zakładki Administracja w górnym menu. Następnie rozwijamy listę widoków w prawej kolumnie i na dole listy klikamy “nowy widok”.

          • też już znalazłam :) Dzięki

          • @arturziolkowski:disqus mam jeszcze jedną zagwozdkę – mimo, że (jak mi się przynajmniej wydaje) zmodyfikowałam sobie w kodzie definicję odrzucenia (ustawiłam na ileś-tam sekund), to mam wciąż mnóstwo odwiedzin po 0 sekund, ze 100% Bounce Rate z domen, które znam (głownie znane mi, zaprzyjaźnione blogi), ale z jakimiś zagranicznymi sufiksami. Domyślam się, że to odwiedzający z innych krajów, odeslani do mnie z w/w blogów. Ale dlaczego zawsze 0s?

          • @piatypokoj:disqus zmiana definicji odrzucenia nie powoduje, że odwiedziny 0s znikną – jedynie odwiedziny na 1 podstronie POWYŻEJ “iluśtam” sekund nie będą traktowane jako odrzucenie :)

            Ruch o którym piszesz może być wynikiem działania zagranicznych adserverów – ale ciężko stwierdzić bez zerknięcia. W razie czego można odfiltrować osobnym filtrem – jeśli uważasz, że to konieczne :)

  • Zastosowałam wymienione przez Ciebie filtry, ale podczas weryfikacji nie pokazuje mi by blokowało jakiekolwiek źródła. A na stronie z ostatnim miesięcznym raportem dalej pokazuje sesje (not set) 0,15% – wiem, że może to nie jest jakoś zabójczo dużo, ale cały ruch miesięczny na blogu (sesje) to niecałe 40 tys. Czy to oznacza, że filtr nie działa?
    Albo zrobiłam coś nie tak?

    • @@bogusiam:disqus podrzuć proszę screen z ustawieniami filtra oraz listę domen, które chcesz wykluczyć – sprawdzimy :)

      • W tych hostach dodałam: (.*pieknoiminimalizm.blogspot.com.pl)|(.*googleusercontent.com)|

        tego już nie, bo nie wiem o jakiego operatora chodzi? (.*twojoperatorplatnosci.pl)

        A w tych kampaniach dokładnie to co masz napisane.

        • @bogusiam:disqus spróbuj takiego zapisu:

          (*pieknoiminimalizm.blogspot.com.pl)|(*googleusercontent.com)

          Zwracaj uwagę na to, by nie kończyć wyrażenia regularnego znakiem “|” oraz poprzedzać znakiem “” wszelkie kropki itd.

          Warto zawsze przetestować wyrażenie w zwykłym raporcie i sprawdzić, czy wyklucza to, co powinien – jeśli tak – to na pewno działa :)

          • Dzięki, poprawiłam te przed kropkami:)
            Chyba się udało, bo jak sprawdzam (not set) z wczoraj to pokazuje 0, a wcześniej jednak jakiś tam ruch był generowany przez te hosty czy jak to tam nazwać:)

  • Hmm, mi w obu przypadkach pokazuje, że filtr nie zmieniłby danych. Ale zrobiłam to przed chwilą, to może muszę poczekać? Czy powinno być od razu?

    • @@greatdee:disqus opcja podglądu – z doświadczenia – nie zawsze działa jak powinna. Natomiast zawsze bierze pod uwagę tylko pewien okres, chyba ostatnie 7 dni (jeśli sesje, które chcesz odfiltrować na przyszłość były wcześniej – zmiana nie będzie widoczna) Podeślij screen ustawień filtra – sprawdzimy.

  • Hej! Dzięki za przydatny wpis :) Może udostępnisz listę aktualnych botów, które warto blokować?

Na tej stronie wykorzystujemy ciastka. Ale bez obawy - podchodzimy do Twoich ciastek z szacunkiem ;) Dowiedz się więcej >>
OK, rozumiem
x