Jsou to dva roky, kdy se v datech Google Analytics 4 začal objevovat nový problém. V rámci návštěvnosti z Google Ads, označené jako google / cpc, se do dimenze Campaign začaly propisovat místo názvu kampaní hodnoty jako (organic) nebo (not set).

Přitom automatické tagování bylo zapnuté a gclid parametr fungoval v URL normálně.

Až se objevil na Linkedinu příspěvek, který to všechno vysvětluje.

#Proč k tomu vůbec dochází

Důvodů je víc a liší se podle toho, co přesně v GA4 vidíte.

Nejčastější příčina je consent. Když uživatel na webu odmítne reklamní cookies, nebo má v nastavení svého Google účtu vypnutou personalizaci reklam, GA4 sice pozná z gclid parametru, že návštěva přišla z Google Ads – ale nemá přístup k detailům kampaně. V tu chvíli dosadí místo názvu kampaně hodnotu (organic). Není to chyba, je to záměrné chování: GA4 říká vím, že šlo o Google vyhledávání, ale více nevím.

Druhá situace nastane, když se page_view event v GA4 nespustí včas nebo vůbec. Tohle se děje hlavně u single page aplikací. GA4 vidí gclid, takže zdroj a médium má správně jako google / cpc, ale název kampaně nestihne načíst a dosadí (not set).

Pokud vidíte místo názvu kampaně (referral), jde obvykle o přerušenou kontinuitu session. Typicky u e-shopů, kde uživatel přeskakuje mezi doménami nebo subdoménami bez nastaveného cross-domain trackingu. GA4 to vyhodnotí jako novou session z referralu.

A (direct) se objeví u vracejících se uživatelů, kteří přišli zpět bez gclid parametru, třeba přes záložku nebo přímé zadání URL. GA4 nemá jak zjistit, že původně klikli na reklamu.

#Proč to vůbec řešit

V Google Ads názvy kampaní vidíte. Jenže GA4 vám k nim přidá kontext, který v Google Ads nenajdete – míru zapojení, průměrnou dobu na webu, chování uživatelů po příchodu z konkrétní kampaně. Bez správných názvů kampaní v GA4 tohle jednoduše nevyhodnotíte.

#Jak to opravit

Řešení je překvapivě jednoduché. Pomůže ruční UTM tagování vedle automatického tagování, které máte v Google Ads zapnuté.

Ke každé reklamě přidáte do finální URL parametry utm_source=google, utm_medium=cpc a utm_campaign s názvem kampaně. GA4 pak má název kampaně přímo v URL a nepotřebuje ho dohledávat přes gclid a takže ani consent omezení nehrají roli.

Nejpohodlnější cesta je přes Google Ads skript, který tohle udělá automaticky přes celý účet. Skript publikoval Jan Zdarsa na svém GitHubu a funguje spolehlivě. Nastavíte ho jednou, spustíte na frekvenci každou hodinu a dál se o to nestaráte.

Stačí v rámci Google Ads zvolit Tools → Bulk actions → Scripts a vložit obsah odkazu utm_tracking_single_account.js z Githubu. Viz screenshot níže:

Pár věcí je ale potřeba mít na paměti. Skript nepokrývá Demand Gen, Discovery a Video kampaně – tam je potřeba UTM parametry doplnit ručně. A automatické tagování nevypínejte, oboje musí běžet zároveň.

Výsledky se projeví postupně. Lookback window v GA4 je 90 dní, takže historická data zůstanou tak jak jsou. Dopředu ale kampaně začnou padat správně.

Pokud si s nastavením nejste jistí nebo chcete mít jistotu, že vám data v GA4 sedí, napište mi. Rád se na to podívám.