BI meeting · zápis · 26. 5. 2026

Metodika dynamického BI měření a alertingu.

Cíl, princip a pravidla, na kterých se BI tým dohodl na meetingu: jak ověřit, že odeslané eventy do DataLayer / GA4 / Gemius opravdu odpovídají tomu, co uživatel vidí v UI — a jak rozlišit technické selhání robota od skutečné BI chyby, kvůli které je potřeba budit lidi.

Datum26. 5. 2026 StatusNávrh metodiky Verzev1 — k diskusi VlastníkBI tým CNC
01 · Cíl

Test neověřuje jen, že event existuje. Ověřuje, že odpovídá realitě stránky.

BI test musí prokázat, že tři věci dávají dohromady smysl: co uživatel vidí, jaké eventy mají vzniknout, a co bylo skutečně odesláno.

UI realita = očekávané BI eventy = správně do DataLayer / GA4 / Gemius

Test musí umět poznat:

  1. jaký typ obsahu je na stránce,
  2. jaké prvky uživatel reálně vidí,
  3. jaké eventy se mají odeslat,
  4. zda eventy doputovaly do správných systémů,
  5. zda se neposlaly vícekrát,
  6. zda jde o technickou chybu testu, nebo o skutečný BI problém.
02 · Princip řešení

Validace bude dynamická — robot nejdřív zjistí stav stránky.

Místo pevně zadaného očekávání [DataLayer, GA4, Gemius] robot nejprve detekuje UI evidenci a teprve potom určí, co je správně.

Stránka obsahuje galerii

Robot očekává gallery event v odpovídajícím tvaru.

Stránka obsahuje video player

Robot očekává video nebo VPlayer event.

Premium článek, uživatel premium

Robot očekává premium article eventy včetně Gemius eventů pro premium stav.

Paywall je vidět

Robot očekává paywall event.

UI galerii nemá

Robot nesmí vyžadovat gallery event. Tohle je hlavní obrana proti false-failům.

03 · Co musí robot kontrolovat

Tři vrstvy evidence: typ stránky, UI stav a article objekt.

Robot rozhoduje na základě tří nezávislých signálů. Když si nesedí, je to chyba — buď v datech, v UI, nebo v BI měření.

3.1 Typ stránky / článku

page

Homepage

Hlavní vstupní stránka domény.

page

Category page

Rubrika / sekce.

article

Standard article

Standardní obsah bez paywallu.

article

Premium — unlocked

Premium článek otevřený premium uživateli.

article

Premium — locked / paywall

Premium článek pro nepremium usera.

article

Article with gallery

Článek s vloženou galerií.

article

Article without gallery

Bez galerie — nesmí vyžadovat gallery event.

article

Article with video / VPlayer

Vlastní VPlayer instance v článku.

viewport

Mobile / Desktop article

Stejný obsah, jiný UI flow — vyhodnocuje se zvlášť.

3.2 UI stav stránky — co je opravdu vidět

// UI evidence — výstup z robota před výběrem očekávaných eventů
{
  hasArticleBody: true,
  hasPaywall:     false,
  hasPremiumBadge: true,
  hasGallery:     false,
  hasVideo:       true,
  hasVPlayer:     true,
  isLoggedIn:     true,
  isPremiumUser:  true,
  device:         "desktop"
}

3.3 Article objekt — co data tvrdí, že tam být má

Robot porovnává tři vrstvy: data → UI → eventy. Když si nesedí, ví, kde začít hledat.

A

Article tvrdí galerii, UI ji nemá, event chybí

Vrstva: DATA ↔ UI ↔ EVENT

Nejdřív zjistit, jestli je problém v datech, v UI, nebo v BI měření. Bez toho nelze klasifikovat.

B

Article tvrdí premium, UI ukazuje premium, GA4 posílá premium=false

Vrstva: EVENT

BI chyba v parametrech eventu. Data i UI sedí — selhal sběr.

04 · Definice eventů

Pro každý typ stránky a akce existuje konkrétní seznam pravidel.

Každé pravidlo říká: kdy má event vzniknout, kde, kolikrát a s jakými parametry.

{
  logicalEvent: "Premium Article View",
  appliesWhen: {
    pageType:        "article",
    isPremiumArticle: true,
    isPremiumUser:    true
  },
  sources: {
    dataLayer: {
      eventName:       "premium_article_view",
      count:           "exactlyOnce",
      requiredParams:  ["article_id", "page_type", "premium", "user_status"]
    },
    ga4: {
      eventName:       "premium_article_view",
      count:           "exactlyOnce",
      requiredParams:  ["article_id", "premium", "user_status"]
    },
    gemius: {
      eventName:       "premium_article_view",
      count:           "atLeastOnce"
    }
  }
}
05 · Event jen jednou

Duplicita nafukuje čísla. Musí se hlásit stejně přísně jako chybějící event.

U důležitých eventů nestačí, že existují — musí vzniknout v očekávaném počtu.

!

Subscription click se odeslal dvakrát

EXPECTED = 1×  ·  ACTUAL = 2×

Uživatel kliknul jednou, do GA4 přišly dva eventy. Fail — všechna BI čísla budou nafouknutá.

PravidloVýznamPoužití
exactlyOnceEvent musí vzniknout přesně jednou.Page view, subscription click, konkrétní akce
atLeastOnceEvent musí vzniknout alespoň jednou.Měření, kde retry nepřekáží (např. některé Gemius pingy)
maxOnceEvent může vzniknout maximálně jednou.Volitelné eventy bez požadavku na existenci
zeroEvent nesmí vzniknout vůbec.Negativní pravidla — gallery na článku bez galerie
06 · Alerting

Alert posíláme jen tehdy, když na něm někdo musí jednat.

Konkrétní seznam podmínek, kdy zazvoní Slack.

07 · Nové vs. opakované chyby

Nová chyba budí lidi. Opakovaná se počítá a tichne.

Bez tohoto rozdělení Slack zarezne a alerty přestanou být užitečné.

N

Nová chyba

PRVNÍ DETEKCE

Problém, který se dříve nevyskytoval. Příklad: article_view začal chybět na blesk.cz/article/123, v předchozích bězích byl v pořádku.

→ Do Slacku jako nový incident.

R

Opakovaná chyba

JIŽ NAHLÁŠENO · STÁLE TRVÁ

Příklad: Gemius event stále chybí na premium článcích. Poprvé detekováno 2026-05-20, počet opakování 4.

→ Bez nového incidentu — jen označit jako opakovaný problém.

08 · Slack report

Krátký, ale použitelný. Žádné tlusté payloady.

Doporučený formát — všechno, co BI tým potřebuje, aby chybu okamžitě zařadil.

BI measurement issue detected FUNCTIONAL · MISSING EVENT
Siteblesk.cz
Page typePremium article
DeviceDesktop
URLhttps://www.blesk.cz/...

Issue typeMissing event
Logical eventPremium Article View
DataLayerPass
GA4Pass
GemiusFail

ExpectedGemius event premium_article_view should be sent once.
ActualNo matching Gemius request was captured.

UI evidencepremium badge: yes · article body: yes · logged in: yes · premium account: yes
Likely meaningArticle shown as premium and unlocked for a premium user, but Gemius did not receive the expected premium article event.
ClassificationFunctional BI issue
09 · Detail chyby

Co každý záznam o chybě musí obsahovat.

site

web · URL · typ stránky · device

Identifikuje, kde a v jakém kontextu chyba vznikla.

issue

popis chyby · typ chyby

Co konkrétně se stalo — missing / duplicate / param mismatch.

event

název eventu · zdroj

DataLayer / GA4 / Gemius — kde to selhalo.

diff

expected vs. actual

Strukturovaně, ne prostý text. Aby šlo strojově porovnat.

ui

UI evidence

Co bylo opravdu na stránce vidět v okamžiku měření.

data

article object evidence

Pokud je dostupné — pro porovnání data ↔ UI ↔ event.

time

čas detekce

Timestamp v ISO, časová zóna jednoznačná.

flag

nová / opakovaná

Status pro deduplication a Slack routing.

flag

technická / funkční

Klasifikace pro vlastnictví fixu.

10 · Klasifikace chyb

Dva typy selhání. Reportují se jinak a řeší je jiní lidé.

Bez tohoto rozdělení BI tým dostane spoustu alertů, které nejsou BI problémy.

T

10.1 Technické failure

TEST/SYSTEM FAILURE · NE BI

Test neproběhl správně. Možné příčiny:

  • stránka se nenačetla / timeout
  • nepodařilo se přijmout cookies
  • nepodařilo se přihlásit nebo premium účet nefunguje
  • síťový handler nezachytil requesty
  • robot nenašel článek nebo nerozpoznal typ stránky

Výsledek: Neoznačovat jako BI chybu. Reportovat jako test/system failure.

F

10.2 Funkční BI chyba

SKUTEČNÝ BI PROBLÉM

Test technicky proběhl, UI bylo zjištěno, ale BI event nesouhlasí. Příklady:

  • UI ukazuje galerii, gallery event chybí
  • UI ukazuje video, VPlayer event chybí
  • UI ukazuje premium článek, event posílá premium=false
  • DataLayer event existuje, ale GA4 chybí
  • GA4 event existuje dvakrát na jednu akci
  • Gemius event chybí pro premium usera

Výsledek: Reportovat jako functional BI issue.

11 · Desktop vs. mobil

Mobilní měření musí být oddělené od desktopu.

UI se může výrazně lišit — hlavně u galerií a videa. Stejné pravidlo na obou viewportech by generovalo falešné chyby.

D

Desktop

Galerie může být přímo v článku, video player viditelný okamžitě, hover interakce dostupné.

M

Mobile

Galerie může být schovaná, načtená lazy, mít jiný interaction flow. Některé eventy se odesílají později nebo vůbec.

Metodika musí pro každé pravidlo jasně říct, jestli platí pro desktop, mobile, nebo oboje. Bez toho se nedá garantovat smysluplný výsledek.

12 · Speciální oblasti

Tři oblasti, které potřebují vlastní scénář.

Premium, VPlayer a galerie jsou tři místa, kde se BI dnes nejčastěji rozchází s realitou.

P

12.1 Premium články

SCÉNÁŘ · PREMIUM USER · PREMIUM ARTICLE

Co kontrolovat:

  • UI ukazuje premium stav a článek je odemčený
  • DataLayer / GA4 / Gemius eventy existují
  • eventy mají správné premium a user_status parametry
  • eventy nejsou duplicitní
V

12.2 VPlayer

SCÉNÁŘ · ČLÁNEK S VLOŽENÝM PŘEHRÁVAČEM

Co kontrolovat:

  • VPlayer je vidět v UI a inicializoval se
  • očekávaný video / VPlayer event existuje
  • event má správné parametry a není duplicitní
G

12.3 Galerie

SCÉNÁŘ · ROZDÍL DESKTOP/MOBILE

Co kontrolovat:

  • robot rozpozná, zda článek opravdu má galerii
  • nesmí vyžadovat gallery event, pokud galerie v UI není
  • musí vyžadovat gallery event, pokud galerie v UI je
  • mobile a desktop se vyhodnocují zvlášť
13 · Flow robota

14 kroků od otevření URL k publikaci alertu.

Pořadí je důležité — bez UI evidence a typu stránky robot neví, co očekávat.

  1. Otevři URL.
  2. Nastav consent a login stav podle scénáře.
  3. Zachytávej DataLayer eventy.
  4. Zachytávej GA4 requesty.
  5. Zachytávej Gemius requesty.
  6. Zjisti UI evidence (co je opravdu vidět).
  7. Zjisti article object evidence, pokud existuje.
  8. Urči page / article type.
  9. Vyber očekávané eventy podle page type + UI evidence.
  10. Porovnej expected vs. actual.
  11. Zkontroluj duplicity.
  12. Zkontroluj povinné parametry.
  13. Klasifikuj výsledek (technical / functional, new / repeated).
  14. Pošli do Slacku pouze relevantní alert.
14 · Minimum pravidel

S čím začít — osm pravidel a osm typů stránek.

Hodnota přijde dřív než kompletní pokrytí. Tahle minimální množina pokryje nejčastější regrese.

#Logické pravidlo
1Article View
2Premium Article View
3Paywall View
4Gallery View
5Video / VPlayer Impression
6Subscription Click
7Login Success
8Page View
#Typ stránky
1Standard article
2Premium unlocked article
3Premium locked article
4Article with gallery
5Article without gallery
6Article with VPlayer
7Category page
8Homepage
15 · Popis do dokumentace

Anglická verze pro Confluence / README.

Tohle je text, který může jít ven beze změny.

BI Measurement Validation Methodology

The BI validation robot dynamically evaluates whether analytics events match the actual UI state of the tested page.

The test does not only check whether a configured event exists. It first identifies the page type, visible UI components, article metadata, user state, device type, and consent state. Based on this evidence, it determines which BI events are expected in DataLayer, GA4, and Gemius.

Each expected event can define required sources, required parameters, expected values, count rules, and UI conditions. The system reports missing events, duplicated events, incorrect parameters, and mismatches between UI state and analytics state.

Failures are classified into two groups:

  1. Technical failures — the robot could not complete the scenario reliably.
  2. Functional BI issues — the test completed successfully, but the expected analytics measurement is missing or incorrect.

Slack alerts are sent only for relevant BI issues and are grouped into new and repeated issues.

16 · Manažerská verze

Tři odstavce pro shrnutí v poradě.

BI testy budou dynamicky kontrolovat, zda analytické eventy odpovídají tomu, co uživatel skutečně vidí na stránce.

Robot nejdříve rozpozná typ stránky, typ článku, UI prvky, stav uživatele, device a article metadata. Poté podle pravidel určí, jaké eventy mají vzniknout v DataLayer, GA4 a Gemius.

Systém bude hlásit chybějící eventy, duplicitní eventy, špatné parametry a nesoulad mezi UI a BI měřením. Alerty do Slacku budou rozdělené na nové a opakované chyby a zároveň na technická selhání robota a skutečné BI chyby.

17 · Nejlepší další krok

Z metodiky vytáhnout jednu tabulku pravidel.

Tohle je formát, který se dá rovnou předat implementaci a zároveň ho BI tým schvaluje řádek po řádku.

Page type UI condition DataLayer GA4 Gemius Count Device Notes
Premium article premium badge visible + premium user logged in premium_article_view premium_article_view premium_article_view exactlyOnce desktop / mobile Validate Gemius
Article with VPlayer video player visible video_impression video_impression video_impression atLeastOnce desktop / mobile Include VPlayer
Article without gallery no gallery visible no gallery_view required no gallery_view required no gallery_view required zero · ignored desktop / mobile Prevent false fail
Article with gallery gallery visible gallery_view gallery_view optional / defined exactlyOnce desktop / mobile Mobile differs

Až bude tato tabulka odsouhlasena, je to nejlepší základ pro implementaci i pro dohodu s BI týmem o tom, co bude robot měřit jako první.