Rubriky
Blog o webové analytice

Jak odfiltrovat referral spam v Google analytics 4?

Do Google analytics se znova vrátil spam. Trochu nostalgie k Google Universal Analytics? Potkal jsem to hned na několika projektech, někde to je vidět méně a někde více. Hlavně to zahýbe číslami menších projektů.

Trochu příběhu. Tohle je ukázka z debugovací profilu pro vývojáře, kde jsem z většiny odfiltroval lidský trafik, jsou tam asi 3 moje přístupy, co mi tam zůstaly. Takže to co reálně vidíte je 99% spam.

  • Koho se to týká? Většiny GA4 property.
  • Musí to řešit všichni? Asi ne, u velkých GA4 s velkou návštěvnosti si toho ani nevšimnete, protože to bude dělat opravdu promile trafiku. Ale je dobré mít čisté data.
  • Co malé weby? Tam je to horší, tam to může zahýbat daty a v reportech to může vypadat divně.
  • Je to zatím velký problém? Ne, ale zhoršuje se to. Je dobré o tom vědět. Není potřeba se tím moc stresovat.

Jak vypadá tento typ spamu v GA4?

Předem varuji, že typů spamu je více typů od různých tvůrců a vybral jsem pro ukázku jen dva, co potkávám asi nejčastěji.

Co uvidíte na následujícím obrázku?

Spam v GA4 reportu návštěvnosti (jednotlivé návštěvy)
  • Návštěvnost v reportu Traffic acquisition nemá zdroj
  • Není to moc „uživatelů“.
  • Engagement sessions „0“
  • Nemá návštěvy „0“ (úroveň návštěva), což je dáno, že používají parametr ignore_referrer = true
  • Dělá velmi slušné špičky v datech.

Spam v GA4 exportu do Google big query

První návštěva uživatele / začátek návštěvy má zdroj s cílem spamu. Což je zde „urlumbrella.com“ web, který se snaží prodávat to, že vám do Google analytics 4 pošle fake trafik pro šefy, které nezajímá reálná výkonost, ale jen čísla. A jako propagaci spamu všechny GA4. Z toho pak plyne, to co uvidíte později na obrázcích, že se snaží emulovat částečně uživatele a hrát si dlouhý čas na stránce. V Google big query pak nevidíte žádné další parametry v odeslaných datech, které normálné máte odesílané, z čehož plyne i to, že tento trafik nikdy neprošel přes váš server, ale byl napřímo poslán do GA4. To znamené, že tento spam nejde vyloučit pomoci ochrany na serveru / hostingu nebo v Google tag manageru či Server GTMJe vysoce pravděpodobné, takže 1x váš web navštíví robot (crawler – bot co prochází internet) a pak následující dny dostane spam. Důvod, proč tyto data nemám v hlavní GA4 profilu, protože jsem už při prvotní návštěvě poznal, že se jedná o spam a podstračil jsem jim tuto GA4 vývojářskou property. Další zajímavost je, že ani ten referral není pravdivý, protože tam jsou reálně natvrdo poslané parametry eventu source a medium.

Spam v GA4 reportu z User acquisition (Zdroj první návštěvy uživatele)

Tím, že používají parametr ignore_referrer =  true, tak jsou tyto data o spamu vidět jen na úrovni First User source / medium.

Spam v GA4 reportu událostí

V následujícím obrázku je pak vidět že je tam hromada page_views kolem 30-32ks. Trochu zajímavé je i počet „prvních návštěv“ a začátků návštěv, které mají 1.1, tam by to normálně mělo být 1.

Spam v GA4 reportu stránek

Zde se pak můžete podívat na to, že všechna jako návštěvnost byla na homepage webu. Z důležitých věcí je zde vidět čas na stránce a to prakticky deset minut. Což je věc, co se bude na více místech opakovat.

Spam v GA4 reportu demografie

Trochu demografie… trafik rozložený do různých států. Velmi podobný čas.

Spam v GA4 reportu o technologiích

A pak jsou tu krásně vyrovnané čísla.

  • Operační systémy rovnoměrně rozdělené. Jejich verze jsou jiné.
  • Vše z desktopu
  • Prohlížeče prakticky stejné rozložení, taky s unikátními verzemi.
  • Rozlišení se blíží klasickému rozložení v normálním návštěvnosti.

Další typ referral spamu v GA4.

Jmenovitě třeba návštěvnost z:

  • news.grets.store / referral
  • static.seders.website / referral
  • rida.tokyo / referral
  • info.seders.website / referral
  • kar.razas.site / referral
  • trast.mantero.online / referral
  • game.fertuk.site / referral
  • ofer.bartikus.site / referral
  • garold.dertus.site / referral

Rozdíl je v tom, že nejsou tak chytré a nehrají si na čas na stránce a hodně pageviews. Jako bonus, ale posílají ještě event „scroll“. Dále jsou vidět i v záložce traffic session source / medium.

Jistě bude další hromada dalšího spamu od různých tvůrců, ale tyto dva typu byli asi nejvíce známé.

Jak se bránit referral spamu v GA4?

Teorie

Šance, že zabráníte prvnímu vstupu útočníkova robota na web je velmi malá, stačí mu změnit IP adresu a použít headless prohližeč (jde detekovat, ale hůře se určuje, že to není reálný člověk), který bude vypadat jako úplně normální uživatel. Tím pádem je velmi vysoká šánce, že se bot utočníka dozví vaše GA4 measure ID („G-něco“ + doménu).  Ale to se aktuálně dozví je pokud měříte v Google consent mode v2 advance mode (měříte i statické data ikdyž nemáte souhlas s ukládám cookies do prohlížeče). Pozitivní zpráva pro lidi, co neměří statistické data bez cookies (skript se jim načte jen po souhlasu), tak těm se tento spam asi vyhne :), protože robot nenajde vaše GA4 measure ID. Pokud nemáte souhlasovou lištu vůbec, tak se máte stydět a ten spam si zasloužíte 😉 .

Reálně vám robot útočníka nenavštěvuje web, ale jen odesílá simulovanou návštěvnost přímo ze svého serveru do Google analytics. Takže se tomu nejde bránit, pomoci vyloučení pomoci ochran na serveru / hostingu nebo v GTM samotném.

A toho i využívám při své obraně. Tím, že modifikace eventu a nebo přes GTM modifikuji parametr traffic_type, tak útočník tuto změnu nebude odesílat a já pak vyloučím všechen trafik, kde chybí tyto vyplněné data. Aktuálně, co vím není jiná obrana než tento postup. A to i díky limitům, které jsou v nastavení GA4, kde na vyloučení je možno použít jen proměnou traffic_type a žádnou jinou.

Postup:

Varování

Pokud neprovedete správně kontrolu před finální aktivaci filtru, tak si můžete špatnou implementaci nenávratně smazat nové data odesílané do Google analytics 4.

Vytvoření vlastní proměnné traffic_type.
  1. To se dělá v GA4 > Administrace > Property settings > Data display > Custom definitions.
  2. Tam tlačítko „Create custom dimension“
  3. Vložte do event parametr „traffic_type“
  4. Do názvu „traffic_type_cd“ – Dávám tam _cd nakonec bych to pak mohl rozlišovat etc.
  5. A pak „Save“
Naplnění proměnné v traffic_type vaší osobní hodnotou.
  1. Verze v GA4 UI adminu (Doporučená)
    1. GA4 UI admin > Data collection and modification > Data Streams > Vyber svůj data stream > Events > Modify events > Create
    1. Dle obrázku
    2. Vytvořte si jméno. Třeba „traffic_type antispam“
    3. Vložete do parametrů „traffic_type“ a podmínku nastavte na „does not match regular expresion“ a do hodnoty vložte „..*“
    4. Dole do midifikovaných parametrů vložete „traffic_type“ a hodnotu třeba „my_domain“ nebo vámi vymyšlenou.
  1. Verze v GTM. – Bacha, tahle verze implementace má určité problém, ale zároveň i některé výhody. Výhoda: Pokud máte velké množství GA4, tak je nemusíte nastavovat ručně. Nevyhoda: V GTM nejde přečíst filtr nastavené pomocí IP adresy, takže je při použit traffic_type parametru bude přemazán. Nedoporučuji, pokud používáte vyloučení přes IP adresy implementovaný v GA4 UI Admini rozhraní.
  2. Kombo GA4 + GTM: V GA4 použít filtr doplňující prázdný traffic_type a  GTM si jen vyloučit věci, co nechci. Osobně nedoporučuji vylučovat data a raději věci o kterých vím, že nechci přeposílám rovnou do GA4 výjářské property (separátní GA4 property).
  3. Verze GA4 + sGTM. „traffic_type“ si můžete modifikovat v server GTM a tím se zamezí problému, kdy traffic_type je normálně viditelný pro uživatele. Ale zatím co úpravu v sGTM neví nikdo kromě vás, protože dál data putují přímo na server Google. Tohle je docela finální ochrana. Jen to není pro každého, ale pokud by vám někdo pravidelně spamoval data, tak je to řešení. Ikdyž zase je zde riziko, že se vám protočí budget na spamu, takže je dobré podobný spam zaříznou ještě než dojde do sGTM.
  4. Rizika pro pokročilé. Pokud používáte measure protokol nebo měříte mobilní aplikace, tak si tam musíte přidávat ručně traffic_type, jinak budou tyto data zahozené, protože neprojdou přes filtr.
Vytvoření filtru, co povolí jen data označené příslušným traffic_type a zapnutí testování
  1. GA4 UI admin > Data collection and modification > Data filters > Create Filter > Internal Traffic
  2. Dle obrázku
  3. V data filter name si napište název daného filtru
  4. Nastavte „Include Only“
  5. Do traffic_type nastavte vaše hodnotu z předchozích kroků. V mém případě „my_domain
  6. Nastavte Filter state „Testing
  7. Uložte.
Počkejte 3-4dny před provedením kontroly.

Je velmi důležité si nasbírat data, pro ověření správnosti nastavení.

Kontrola, vše funguje jak má.
  1. Jděte do GA4 Ui > Report > Engagement > Events
  2. Nastavte datum, aby tam byli nejméně celé dva dny od úvodního nastavení.
  3. Zde klikněte na „+“ a vyberete “ Test data filter name“3. Kontrola
    1. Napravo nad tabulkou „Rows per page:“ „vyberte 250“
    2. Mělo by tak pak vypadat následovně. Tjs u všech eventu v prvním sloupečku by měl být vyplněný název filtru … hodnota v druhém sloupečku. – Vše je OK.
    3. Pokud by chyběla v druhém sloupečku hodnota , tak doporučuji přezkoumání, jestli se jedná o SPAM (což je správně) a nebo vám někde chybí měření (measure protocol, mobilní aplikace etc.) – Pokud tam je neoznačený event a není to spam, tak je něco špatně a neaktivujte daný antispam filtr.
Pokud je vše OK, zapneme spam filtr

Může jít zpět do GA4 UI admin > Data collection and modification > Data filters > Vybrat váš filtr a přepnout ho z testing na Activate a uložit. Tím se filtr zapne.

Automatizace zatím není možná.

Zatím v GA4 admin API nejsou funkce které by umožňovaly „modifikovat událost“ a přidat filtr návštěvnosti.

Stačí to?

Přesně proti tomu typu spam útoku ano, ale je obecně dobré dělat další vrstvy ochrany:

  1. V GTM i v sGTM můžete použít template proměnné na detekci botů od skvělého Markus Baersch.

Co spousty lidí pak nedělá, tak tím jde blokovat, aby se zbytečně spouštěli marketingové značky botům a mít tak čistější data.

2) Detekce headless prohlížečů. – Tohle zkoumám a je to docela náročné zjistit, co je robot a co je reálný člověk.

3) Testování uživatelů přes Google recaptcha – Zpětně vám to řekne, kdyby to byl robot.

2) Můžete mí detekci spam trafiku na serveru a do GTM si tyto věci posílat přes dataLayeru (dataLayer push před GTM bez parametru „event“ aby to přišlo ještě před souhlasy)

3) Povolit si měření jen na dané doméně. – Zde si odříznete překlady z Google translate a podobných služeb. Ale i to jde při troše snahy opravit.

Docela jsem vyznavačem, pokud možno takovou návštěvnost nezahazovat, ale přesměrovat na do vývojářského profilu Google analytics 4. Hlavní výhoda takového přístupu, je že se může stát že někdy reálnou návštěvnost omylem označíte jako spam, ale pokud data jen přesměruje do GA4 dev property, tak furt máte data.

4) Zpětně si čistit data … v GA4 přes segmenty data vyloučit z důležitých reportů. Je to více práce, ale jde tam zachránit data zpětně. Spam data tam sice zůstanou, ale není nutné je reportovat ;).

5) Čištění dat v Google big query etc. Tohle je pak speciální kategorie, kdy je nutné vědět, co je fake trafik, protože tím si ušetříte i dost času nad některými nesmyslnými čísly při analýzách.

Co ostatní návody? Sorry, ale nefungují?

https://solutionsdigitalconsulting.com/blog/how-to-fix-referral-traffic-spike-from-news-grets-store-in-ga4/

https://www.linkedin.com/pulse/strange-ga4-referral-traffic-from-newsgretsstore-staticsederswebsite-vsgye

Vyloučení referralu v GA4 data streamu jen zamaskuje tuto fake návštěvnosti, ale neočistí ji. Nevyloučí ji, spam tam stále bude, jen to nerozpoznáte. Navíc to ani není reálný referral, ale posílá se tam fake referral přes source a medium(něco jako UTMka, co říká textově, že to referral je, ikdyž není), takže stejně nemáte jak to vyloučit a nebude to fungovat.

Označení trafiku přes vyloučení IP adres funguje jen na známé IP adresy, cokoliv bude nového, tak to neočistíte. Vždy budete v ochraně proti spamu pozadu není možné to ošetřit trvale.

Kde všude se vám SPAM škodit?

  • Může vám rozhodit třeba reklamní kampaně na Google ads, Meta a dalších systemech.
  • Může vám změnit výsledky při AB testech. Zde by jste si měli před vyhodnocením vyčistit data od spamu, super userů, testovacích skriptů vývojářů a dostupnosti etc.
  • Datovým analytikům… zvyšuje náklady na zpracování a uložení dat. Zhoršuje čistotu a důvěryhodnost výsledků.

Našli jste spam už i u vás v Google analytics 4?

Napište mi do komentářů na sociálních sítích. To samé v případě dotazů či dalších zkušeností s GA4 spamem.

.