Navazuje na report z 29. 5. Po tvé ruční kontrole jsem každý odkaz znovu reálně přeměřil a opravil chybu v měření. Každý řádek má teď proklik na testovaný článek.
view se po načtení stránky posílá se zpožděním ~3–5 s (na spir.hit.gemius.pl). Bot dřív vyhodnocoval po 6 s a stihl to těsně minout. Přeměřeno: na blesku, horoskopech i receptech Gemius jede — přesně jak jsi psal/a („gemius se odesílá při příchodu, způsobeno prodlevou“).view u Premium+ jede. Vyvrací „Premium+ rozbíjí Gemius“ i „blesk Gemius chybí v obou“.player_play odpálí sám (e15, blesk, horoskopy, auto, aha) — i po prerollech.gallery_next chodí při každém přepnutí, ale GTM kontejner GTM-K2G3KZ na něj nemá napojený GA4 tag (má ho jen na gallery_open) → do GA4 nedorazí žádný collect s gallery_next. Bot to hlásí správně. Screenshot v Tag Assistantu ukazoval DataLayer event, ne reálné odeslání do GA4. K nahlášení webovému/GTM týmu (doplnit GA4 tag pro gallery_next/previous podle funkčního gallery_open).Příčina falešných „Gemius chybí“: bot čekal pevně a pak vyhodnotil. Gemius view ale chodí později. Nově bot aktivně čeká, dokud Gemius beacon nedorazí (max 20 s), teprve pak vyhodnotí. To může jen snížit počet falešně chybějících — nikdy nevyrobí falešné „OK“, protože čeká na skutečně zachycený event. Zapojeno do produkčního robota u všech sekcí, kde se Gemius view čeká po načtení (page_ready, page_next/prev, galleryOpen, articlePart) — ne u player (ten má stream a 40s okno).
| Zdroj | kdy se odesílá | dřív bot | nově bot | stav |
|---|---|---|---|---|
Gemius view (page_ready) | ~3–5 s po načtení | vyhodnotí v 6 s → mine | čeká na beacon (max 20 s) | opraveno |
| player_play (DL + GA4) | po prerollu, autoplay | jen po ručním kliku | autoplay povolen → chytá sám | opraveno |
Gemius stream (player) | při startu videa | 40 s okno (OK) | beze změny | beze změny |
Kód: waitForGemiusEvent v src/utils/eventUtils.ts, zapojeno do robotů homepage.ts / pagination.ts / gallery.ts (galleryOpen) / article-parts.ts. Ověřeno živě produkčním během na recepty (Gemius view zachycen). Probe okna: scripts/probe-links.ts, scripts/probe-premium.ts.
Každý odkaz proběhl reálným robotem znovu. ✅ = systém posílá · chybí = reálně chybí · pozn. = potřeba kontext. Klikni na URL pod názvem webu — vede na přesný testovaný článek.
| Odkaz (testovaný článek) | typ | page_ready (DL/GA4/Gemius) | video / galerie | poznámka vs. 29. 5. |
|---|---|---|---|---|
| e15www.e15.cz/byznys/rohlik-hlasi-…-1433149 | video | DL ✅ GA4 ✅ Gemius ✅ | player_play ✅ + stream | autoplay chytá player_play; Gemius view/data/stream |
| reflexwww.reflex.cz/clanek/fotogalerie/86231/… | galerie | DL ✅ GA4 ✅ Gemius ✅ | GA4 u gallery_next/prev chybí | reálný nález webu — DataLayer gallery_next chodí, ale GTM nemá GA4 tag pro gallery_next/previous (jen pro gallery_open) → do GA4 nic nedorazí. Potvrzeno i v reálném prohlížeči. Bot hlásí správně. K nahlášení GTM týmu. |
| blesk (politika)www.blesk.cz/clanek/zpravy-politika/840482/… | video | DL ✅ GA4 ✅ Gemius ✅ | player_play ✅ + stream | opraveno — dřívější „Gemius chybí“ byl falešný (časování). Gemius view ~4 s. |
| blesk (Ukrajina)www.blesk.cz/clanek/zpravy-valka-na-ukrajine/840531/… | video | DL ✅ GA4 ✅ Gemius ✅ | player_play ✅ + stream | opraveno — stejné jako výše, Gemius view ~5 s. |
| horoskopy.bleskhoroskopy.blesk.cz/clanek/nove-horoskopy-astroclanky/813010/… | článek + video | DL ✅ GA4 ✅ Gemius ✅ | player_play ✅ (autoplay) | opraveno — „Gemius chybí“ byl falešný; autoplay video posílá player_play. |
| receptywww.recepty.cz/recept/krupave-pecene-redkvicky-166232 | recept (článek) | DL ✅ GA4 ✅ Gemius ✅ | — | opraveno — dřívější „Gemius nejede vůbec“ bylo falešné. Gemius view ~5 s. (Bot testuje recept-článek, ne HP.) |
| auto (Seat)www.auto.cz/znacka-seat-neni-mrtva-…-161149 | video | DL ✅ GA4 ✅ Gemius ✅ | player_play ✅ + stream | beze změny — vše OK, autoplay chytá player_play. |
| auto (BAIC)www.auto.cz/test-baic-x55-…-161072 | video | DL ✅ GA4 ✅ Gemius ✅ | player_play ✅ + stream | beze změny — vše OK (druhý testovaný článek auto). |
| ahaonlinewww.ahaonline.cz/clanek/zhave-drby/234484/… | video | DL ✅ GA4 ✅ Gemius ✅ | player_play ✅ + stream | beze změny — vše OK. |
| isport.bleskisport.blesk.cz/clanek/fotbal-chance-liga/476082/… | galerie (článek) | DL ✅ GA4 ✅ Gemius ✅ | — | opraveno — bot teď testuje článek (ne HP). 29. 5. byl v reportu omylem uveden jako „homepage“. |
| isport.blesk (tenis)isport.blesk.cz/clanek/tenis-roland-garros/476087/… | video (článek) | DL ✅ GA4 ✅ Gemius ✅ | player_play ✅ | druhý testovaný článek isport (video); vše OK. |
| magazin.receptymagazin.recepty.cz/clanky/dobroty-do-vedra-…-3100.html | — | mimo rozsah | — | samostatná subdoména, zatím nemonitorovaná. |
| zivewww.zive.cz/clanky/test-pocitace-asus-tuf-t500/… | — | neprůkazné | — | Cloudflare „Just a moment…“ blokuje bota (anti-bot). |
V reportu z 29. 5. bot tvrdil, že „Premium+ rozbíjí Gemius“ (e15/auto/isport) a že na blesku „Gemius chybí v obou“. Tvoje ruční kontrola to vyvrátila — a měla pravdu. Přeměřeno živě přihlášenou Premium+ session (ověřeno z dataLayer: user.loginStatus="loggedIn", premiumStatus="premiumPlus"): Gemius view u Premium+ jede na všech ověřených webech, včetně blesku.
| Web | session | Gemius — nepřihlášený | Gemius — Premium+ (živě) | závěr |
|---|---|---|---|---|
| blesk | premiumPlus ✓ | jede (view) | jede (view+data+stream) | OK — vyvrací „chybí v obou“ |
| auto | premiumPlus ✓ | jede | jede (view) | OK — vyvrací „Premium+ rozbíjí Gemius“ |
| isport.blesk | premiumPlus ✓ | jede | jede (view+data+stream) | OK — vyvrací „Premium+ rozbíjí Gemius“ |
| e15 | session expirovala | jede | nedoměřeno | uložená Premium+ session vypršela (z 29. 5.) → doměřit po refreshi |
| reflex | session expirovala | jede | nedoměřeno | session vypršela → doměřit po refreshi |
Data: data/probe-premium-2026-06-15.json. Ze stejného důvodu (časování ~3–5 s) byl falešný i původní Premium+ nález; probe i pravidlo teď čekají na opožděný Gemius beacon. Pravidlo page-ready-premium zůstává (očekává správně DL+GA4+Gemius), poznámka opravena na realitu — selže jen u skutečného výpadku. e15/reflex Premium+ doměřím po obnovení přihlášené session (pw-tests-beta).
Tvoje poznámky o galeriích jsem proklikal naživo (i přes MCP browser). Tři zjištění:
| Co | Realita (ověřeno) | Stav v botu |
|---|---|---|
| blesk/horoskopy — Gemius „při listování“ galerie | Měl/a jsi pravdu: Gemius posílá nový view při každém přepnutí snímku. První po otevření je opožděný ~7 s (galerie je v samostatném rámci, Gemius se inicializuje líně). |
opraveno — gallery_next/prev teď čeká na opožděný Gemius beacon |
| smallGallery (malá galerie v těle článku) — recepty + auto | Měl/a jsi pravdu: bot ji vůbec neměřil. Při listování posílá Gemius view (oba weby), DataLayer gallery_next jen auto (ne recepty), GA4 nikde. |
přidáno — nový robot pro malou galerii; měří recepty + auto (Gemius povinný, GA4 se nečeká) |
| reflex — GA4 u listování galerie | Bot hlásil správně — GA4 u listování galerie NEJEDE. Ověřeno třemi způsoby včetně Claude for Chrome v reálném prohlížeči (živá Network záložka, 12+ kliknutí, 0 nových GA4 hitů). DataLayer gallery_next chodí na každé kliknutí, ale GTM GTM-K2G3KZ na něj nemá GA4 tag (má ho jen na gallery_open). Screenshot v Tag Assistantu = DataLayer event, ne reálné GA4 odeslání. |
reálná chyba webu — GTM tým doplní GA4 tag pro gallery_next |
| recepty video „nefunguje měření“ | Na receptu není žádné video (0 video prvků) — není co měřit; není to chyba bota. | není video |
waitForGemiusEvent) ve všech navigačních sekcích; ověřeno živě.Ahoj, díky za ruční kontrolu z 29. 5. — měla jste pravdu skoro ve všem a díky vašim poznámkám je bot teď výrazně přesnější. Stručně, bez technikálií, co se změnilo:
Jediná věc, kde měl pravdu naopak bot: u reflexu se při listování fotogalerie neposílá událost do GA4 (do DataLayeru ano, do GA4 ne). Není to chyba bota ani špatné měření — ověřili jsme to třemi způsoby včetně reálného prohlížeče. Je to nastavení webu (GTM); předáváme GTM týmu k opravě (viz dopis níže). Až to doplní, bot to začne vidět automaticky.
Když narazíte na další rozdíl mezi tím, co vidíte ručně, a co hlásí bot — pošlete screenshot z Network/Tag Assistantu (ideálně reálné odeslání requestu, ne jen DataLayer). Doměříme a doladíme.
Shrnutí: Při listování fotogalerie na reflex.cz se do dataLayeru korektně pushuje gallery_next / gallery_previous (s pozicí fotky), ale do GA4 se nic neodešle — kontejner GTM-K2G3KZ nemá na tyto eventy navázaný GA4 event tag. GA4 tak měří jen gallery_open, ne samotné listování.
Důkaz (3 nezávislá ověření):
{event:"gallery_next", gallery:{position:N}} ✅analytics.reflex.cz/g/collect, tid=G-1J2EP3RRDT): přes 12 přepnutí 0 nových GA4 requestů — všechny GA4 hity proběhly jen při načtení stránky (page_view, gallery_open).Co prosím doplnit: GA4 event tag (typu „GA4 Event“) napojený na GTM trigger pro gallery_next a gallery_previous — podle vzoru už fungujícího tagu „GA4 - Event - Gallery“, který máte navázaný na gallery_open. Parametry mohou kopírovat gallery_open (gallery_content_id, gallery_content_imageCount_and_position, atd.).
Klíčové rozlišení: „tag fired“ v GTM Preview / Tag Assistantu ≠ odeslání do GA4. Tag se může „odpálit“ a přesto neposlat žádný GA4 collect request (např. když je navázaný jen na gallery_open, ne na gallery_next). Rozhoduje síťový request a GA4 Realtime/DebugView, ne Preview panel.
A) Test přes Network (nejjistější):
collect, zapni Preserve log.analytics.reflex.cz/g/collect (nebo google-analytics.com/g/collect) s tid=G-1J2EP3RRDT. U každého se podívej na parametr en= (v URL i v těle POSTu).en=gallery_next. Co vidíme my: 0 nových requestů — jen ty z načtení stránky (en=page_view, en=gallery_open). Počet requestů na analytics.reflex.cz zůstane stejný i po 12 kliknutích.B) Křížová kontrola v GA4: GA4 → Realtime nebo DebugView (zapni si Google Analytics Debugger rozšíření) a listuj galerií. Uvidíte přicházet page_view a gallery_open, ale žádný gallery_next.
C) Proč Tag Assistant mate: v Preview/Tag Assistantu se gallery_next objeví jako dataLayer event (push z webu proběhne — to je v pořádku). To ale neznamená, že existuje GA4 tag, který ho pošle. Porovnejte: u gallery_open uvidíte v Network reálný collect ... en=gallery_open; u gallery_next takový request chybí.
Až tag doplníte, test A) ukáže 5 requestů s en=gallery_next — a náš monitoring to potvrdí automaticky.
Pozn.: screenshot z Tag Assistantu, kde se gallery_next objevuje, ukazuje DataLayer event — ne reálné odeslání do GA4. Po doplnění tagu se to do GA4 začne posílat a náš monitoring to potvrdí automaticky.