nastroje📅 28. listopadu 2025⏱️ 16 min

GA4 vlastní události: Jak měřit SEO přesněji 2026

Klient mi volal frustrovaný: "Mám 50 000 návštěv měsíčně z organiku, ale nikdo nenakupuje. SEO nefunguje."

Podívala jsem se do GA4. Bounce rate? GA4 ho už ani pořádně neměří. Engagement rate? 45 %. Sessions? Rostou. Ale co vlastně uživatelé na webu dělají?

Nastavili jsme vlastní události (custom events). Za měsíc jsme zjistili, že 78 % uživatelů scrolluje jen na 25 % stránky. Nikdy se nedostanou k CTA tlačítku, které je ve spodní třetině.

Problém nebyl v SEO. Problém byl v obsahu, který nedržel pozornost.

Standardní GA4 metriky vám tohle neřeknou. Vlastní události ano.

Proč standardní metriky nestačí

Problém s bounce rate v GA4

Infografika - Proč standardní metriky nestačí V Universal Analytics byl bounce rate jednoduchý: uživatel přišel, neudělal nic, odešel. Bounce.

GA4 tohle změnil. Místo bounce rate máte engagement rate. Uživatel je "engaged", pokud:

  • Strávil na stránce více než 10 sekund
  • Měl 2+ pageviews
  • Provedl konverzi

Ale 10 sekund? Na 3000slovní článek? To je směšně málo.

Uživatel může strávit 15 sekund scrollováním, nic nepřečíst a odejít. GA4 ho označí jako "engaged". Vy si myslíte, že obsah funguje.

Nefunguje.

Co vám standardní metriky neřeknou

Standardní metrikaCo chybí
SessionsKolik uživatelů skutečně četlo?
Engagement rateČetli, nebo jen scrollovali?
Average engagement timeKde přestali číst?
PageviewsInteragovali s obsahem?
ConversionsProč ostatní nekonvertovali?

Co vlastní události odhalí

Nastavením vlastních událostí zjistíte:

  • Kde uživatelé přestávají číst (hloubka scrollování 25/50/75/100 %)
  • Jak dlouho skutečně čtou (časové milníky 30s/60s/120s)
  • Jestli interagují (CTA kliky, interní odkazy)
  • Proč odcházejí (záměr opuštění, nedokončení formuláře)

Základní vlastní události pro SEO

1. Sledování hloubky scrollování (25/50/75/100 %)

Infografika - Základní vlastní události pro SEO Hloubka scrollování (scroll depth) je nejdůležitější metrika pro obsahové weby. Říká vám, jestli uživatelé čtou.

Proč měřit na 4 úrovních:

  • 25 % — Uživatel viděl úvod. Zaujal ho?
  • 50 % — Čte hlavní obsah. Drží pozornost?
  • 75 % — Blíží se k závěru. Obsah funguje.
  • 100 % — Dočetl celý článek. Kvalitní návštěva.

Benchmark pro kvalitní obsah:

Hloubka scrollováníCílová hodnota
25 %70-80 % uživatelů
50 %50-60 % uživatelů
75 %35-45 % uživatelů
100 %20-30 % uživatelů

Pokud 90 % uživatelů odchází před 50 %, máte problém s obsahem, ne s SEO.

2. Časové milníky na stránce (30s/60s/120s)

Čas zapojení (engagement time) v GA4 měří celkový čas, ale neřekne vám, kdy uživatel "zatuhne".

Doporučené milestones:

  • 30 sekund — Minimální kvalitní návštěva
  • 60 sekund — Aktivní čtení (cca 200-250 slov)
  • 120 sekund — Hloubkové čtení
  • 180+ sekund — Velmi engaged uživatel

Kombinace s hloubkou scrollování:

Vysoký scroll + nízký čas = Uživatel jen projíždí, nečte. Nízký scroll + vysoký čas = Čte pomalu, ale nedojde daleko. Možná ho něco zastavilo. Vysoký scroll + vysoký čas = Ideální aktivní čtení (engaged read).

3. CTA button clicks

Měříte konverze, ale kolik lidí vůbec vidělo a kliklo na CTA?

Co trackovat:

  • Hlavní CTA v hero sekci
  • CTA uprostřed článku
  • CTA na konci článku
  • Floating CTA (pokud máte)

Příklad dat:

CTA poziceImpressionsKlikyCTR
Hero10 0003203,2 %
Mid-article5 5001803,3 %
Konec článku2 8002207,9 %

Závěr: CTA na konci článku má nejvyšší CTR, ale nejméně impressions. Řešení? Přidat CTA i doprostřed.

4. Kliky na interní odkazy

Pro SEO je klíčové, aby uživatelé procházeli web. Interní odkazy zlepšují:

  • Procházitelnost (crawlability)
  • Distribuci hodnoty odkazů (link juice)
  • Metriky zapojení

Co měřit:

  • Klik na související články
  • Klik na odkazy v obsahu
  • Klik na drobečkovou navigaci (breadcrumbs)
  • Klik na kategorie/tagy

Pokročilé vlastní události

Dokončení aktivního čtení (Engaged read completion)

Kombinace hloubky scrollování + času = skutečné přečtení článku.

Definice aktivního čtení:

  • Scroll 90 %+ AND
  • Time 60+ sekund (pro 1500+ slov) OR
  • Time 120+ sekund (pro 3000+ slov)

Tohle je metrika, kterou chcete sledovat jako konverzi pro obsahové weby.

Dosledování videa (Video watch completion)

Pokud máte embedded videa:

  • Video start — Kolik začalo sledovat
  • 25/50/75 % — Kde přestávají
  • 100 % — Kolik dosledovalo

Pro YouTube marketing videa použijte YouTube iframe API. Pro vlastní videa HTML5 video events.

Nedokončení formuláře (Form abandonment)

Kolik uživatelů začne vyplňovat formulář, ale nedokončí?

Co sledovat:

  • form_start — Uživatel klikl do prvního pole
  • field_complete_[name] — Vyplnil konkrétní pole
  • form_abandon — Odešel bez odeslání

Pak zjistíte: "85 % uživatelů opouští formulář u pole 'telefon'." Řešení? Udělejte telefon volitelný.

Sledování záměru opuštění (Exit intent tracking)

Kdy uživatel odchází?

Spouštěč: Kurzor opouští viewport směrem k zavíracímu tlačítku prohlížeče.

Použití:

  • Spuštění vyskakovacího okna při odchodu
  • Měření, na které stránce uživatelé odcházejí
  • Identifikace problematických sekcí

Nastavení přes Google Tag Manager

GTM je nejflexibilnější způsob nastavení vlastních událostí. Zde je kompletní návod.

Infografika - Nastavení přes Google Tag Manager

Krok 1: Sledování scrollování (Scroll tracking)

1. Povolte built-in proměnné:

  1. V GTM jděte do Variables → Configure
  2. Zaškrtněte:
    • Scroll Depth Threshold
    • Scroll Depth Units
    • Scroll Direction

2. Vytvořte trigger:

  1. Triggers → New
  2. Trigger Type: Scroll Depth
  3. Nastavení:
    • Vertical Scroll Depths: Percentages
    • Percentages: 25, 50, 75, 100
    • Enable When: All Pages (nebo specifické URL)

3. Vytvořte tag:

  1. Tags → New
  2. Tag Type: Google Analytics: GA4 Event
  3. Configuration Tag: Váš GA4 config tag
  4. Event Name: scroll_depth
  5. Event Parameters:
    • Parameter Name: percent_scrolled
    • Value: {{Scroll Depth Threshold}}
  6. Trigger: Váš scroll trigger

Kód pro pokročilejší sledování:

// JavaScript pro detailnější sledování scrollování
<script>
window.addEventListener('scroll', function() {
  var scrollPercent = Math.round(
    (window.scrollY / (document.documentElement.scrollHeight - window.innerHeight)) * 100
  );

  // Trackovat specifické procenta
  var thresholds = [25, 50, 75, 90, 100];
  thresholds.forEach(function(threshold) {
    if (scrollPercent >= threshold && !window['scroll_' + threshold]) {
      window['scroll_' + threshold] = true;
      dataLayer.push({
        'event': 'scroll_depth',
        'scroll_percent': threshold
      });
    }
  });
});
</script>

Krok 2: Sledování kliknutí (Click tracking)

Pro CTA tlačítka:

1. Vytvořte spouštěč:

  1. Triggers → New
  2. Trigger Type: Click - All Elements
  3. This trigger fires on: Some Clicks
  4. Podmínka: Click Classes contains "cta-button" (nebo váš class)

2. Vytvořte tag:

  1. Tags → New
  2. Tag Type: Google Analytics: GA4 Event
  3. Event Name: cta_click
  4. Event Parameters:
    • cta_location: {{Click Element}} nebo custom variable
    • cta_text: {{Click Text}}
    • page_url: {{Page URL}}

Pro interní odkazy:

// Spouštěč pro interní odkazy
// Podmínka: Click URL contains "seopohotovost.cz" AND Click URL not equals {{Page URL}}

Krok 3: Časové milníky (Time milestones)

GTM nemá vestavěné sledování času, ale můžete použít časový spouštěč (Timer trigger).

1. Vytvořte časové spouštěče:

Pro každý milník (30s, 60s, 120s):

  1. Triggers → New
  2. Trigger Type: Timer
  3. Interval: 30000 (pro 30 sekund, v milisekundách)
  4. Limit: 1
  5. Enable When: Page URL matches (vaše stránky)

Alternativně - vlastní JavaScript:

// Přesnější sledování času
<script>
var timeThresholds = [30, 60, 120, 180];
var trackedThresholds = [];

setInterval(function() {
  var timeOnPage = Math.floor((Date.now() - performance.timing.navigationStart) / 1000);

  timeThresholds.forEach(function(threshold) {
    if (timeOnPage >= threshold && trackedThresholds.indexOf(threshold) === -1) {
      trackedThresholds.push(threshold);
      dataLayer.push({
        'event': 'time_on_page',
        'seconds': threshold
      });
    }
  });
}, 1000);
</script>

Krok 4: Testování a ladění

1. Režim náhledu (Preview mode):

  1. V GTM klikněte Preview
  2. Zadejte URL vašeho webu
  3. Otevře se nové okno s debug panelem

2. Co ověřit:

  • Tags Fired: Spouští se správné tagy?
  • Variables: Mají proměnné správné hodnoty?
  • Data Layer: Posílají se správné eventy?

3. GA4 DebugView:

  1. V GA4 jděte do Admin → DebugView
  2. Měli byste vidět eventy v reálném čase
  3. Ověřte, že se posílají správné parametry

4. Časté chyby:

ProblémŘešení
Událost se nespouštíZkontrolujte podmínky spouštěče
Chybí parametryOvěřte mapování proměnných
Duplicitní událostiPřidejte omezení "spustit jednou"
Událost v náhledu, ale ne v GA4Ověřte Measurement ID

Nastavení přímo v GA4

Některé vlastní události můžete nastavit přímo v GA4, bez GTM.

Vytvoření události (Create event)

  1. Admin → Events → Create event
  2. Název vlastní události: např. engaged_scroll
  3. Matching conditions:
    • event_name equals scroll
    • percent_scrolled greater than 75

Omezení: Pouze na základě existujících eventů a jejich parametrů.

Úprava události (Modify event)

  1. Admin → Events → Modify event
  2. Matching conditions: Které události upravit
  3. Modifications: Změnit název nebo parametry

Příklad: Přejmenovat scroll na deep_scroll když percent_scrolled >= 90.

Omezení bez GTM

FunkceS GTMBez GTM
Sledování hloubky scrollováníPlná kontrolaJen 90 % (automatický)
Časové milníkyAnoNe
Sledování CTA klikůAnoPouze přes DOM události
Vlastní podmínkyNeomezenéOmezené
Záměr opuštěníAnoNe
Nedokončení formulářeAnoNe

Doporučení: Pro seriózní sledování použijte GTM. Investice do nastavení se vrátí v kvalitě dat.

Konverze z vlastních událostí

Které události označit jako konverze

Doporučené konverze pro obsahové weby:

UdálostProč jako konverze
engaged_read (scroll 90 % + time 60s+)Skutečně kvalitní návštěva
cta_clickPřímý zájem o službu
newsletter_signupGenerování leadů
video_completeVysoké zapojení
internal_click_3plusUživatel prozkoumává web

Jak nastavit:

  1. Admin → Conversions → New conversion event
  2. Zadejte název události (přesně jak ji posíláte)
  3. Uložte

Jak přiřazovat hodnoty

Pro lepší reporting přiřaďte konverzím hodnotu.

Příklad výpočtu hodnoty aktivního čtení:

  1. Průměrná hodnota konverze (objednávky): 5 000 Kč
  2. Konverzní poměr z aktivního čtení: 2 %
  3. Hodnota aktivního čtení: 5 000 × 0,02 = 100 Kč

Nastavení v GA4:

// V odeslání do dataLayer
dataLayer.push({
  'event': 'engaged_read',
  'value': 100,
  'currency': 'CZK'
});

Nebo v GTM přes parametry události:

  • value: 100
  • currency: CZK

Reportování a analýza

Vlastní průzkumné reporty (Custom exploration reports)

Krok za krokem:

  1. Explore → Blank
  2. Variables:
    • Dimenze: Cesta stránky, Název události, Zdroj/médium
    • Metriky: Počet událostí, Konverze, Uživatelé
  3. Settings:
    • Řádky: Cesta stránky
    • Sloupce: Název události (filtrujte na vaše vlastní události)
    • Hodnoty: Počet událostí

Praktický report - Aktivní čtení podle stránek:

StránkaScroll 25%Scroll 50%Scroll 75%Scroll 100%Aktivní čtení
/blog/seo-guide8 5005 2003 1001 8001 200
/blog/technicky-audit4 2002 8001 9001 100850
/sluzby12 0007 5004 2002 1001 500

Co z toho vyčtete:

  • /blog/seo-guide: 14 % dočte článek (1 800/8 500), 14 % aktivního čtení. Normální pro dlouhý obsah.
  • /sluzby: Pouze 12,5 % aktivního čtení ze 100% scrollu. Proč? Stránka je kratší.

Segmentace podle událostí

Vytvořte segment "Aktivní čtenáři":

  1. Explore → Segments → User segment
  2. Conditions:
    • Název události: engaged_read
    • Počet: alespoň 1

Použití segmentu:

Porovnejte chování aktivních čtenářů vs. všichni uživatelé:

  • Konverzní poměr
  • Průměrná hodnota objednávky
  • Návratnost

Typicky zjistíte: Aktivní čtenáři konvertují 3-5× lépe.

Praktické příklady pro různé weby

E-shop: Aktivní prohlížení produktů

Co sledovat:

  • product_scroll_complete — Uživatel viděl celý produkt
  • product_time_60s — Strávil 60+ sekund na produktu
  • product_gallery_view — Prohlédl více fotek
  • size_guide_click — Otevřel velikostní tabulku
  • review_scroll — Přečetl recenze

Definice aktivního prohlížení produktu:

  • Scroll 80 %+ AND (Prohlížení galerie OR Scroll k recenzím OR Čas 45s+)

Příběh z praxe:

E-shop s oblečením měl konverzní poměr 1,2 %. Po nastavení vlastních událostí zjistili:

  • 65 % uživatelů nikdy nescrolluje k recenzím
  • Ti, co scrollují k recenzím, konvertují 3,8 %

Řešení: Přesunuli recenze výš na stránce. Konverzní poměr: 1,8 %.

Blog: Kvalitní čtení

Co sledovat:

  • article_25/50/75/100 — Milníky scrollování
  • article_read_time_30/60/120s — Časové milníky
  • related_article_click — Klik na související články
  • author_bio_click — Zájem o autora (E-E-A-T signál)
  • share_click — Sdílení na sociální sítě

Definice kvalitního čtení:

  • Scroll 80 %+ AND Čas 90s+ AND (Klik na související OR Sdílení)

KPI pro obsahovou strategii:

MetrikaCíl
Kvalitní čtení / Relace15 %+
CTR souvisejících článků5 %+
Scroll 50 %50 %+ relací
Čas 60s+40 %+ relací

B2B: Hodnocení kvality leadů

Co sledovat:

  • pricing_page_view — Zájem o ceny
  • case_study_read — Čtení případových studií
  • demo_video_complete — Dosledování demo videa
  • multiple_service_view — Prohlížení více služeb
  • contact_page_time_30s — Čas na kontaktní stránce

Model hodnocení leadů:

AkceBody
Pricing page view+20
Aktivní čtení případové studie+30
Demo video 50 %++25
3+ service pages+15
Contact form start+40
Contact form complete+50

Použití:

Leady s 80+ body = Horké leady → Okamžitá priorita pro obchod. Leady s 40-79 body = Teplé leady → Pečující sekvence. Leady pod 40 bodů = Studené → Automatizace.

Implementace:

// Ukládání skóre do dataLayer/cookie (úložiště prohlížeče)
var leadScore = parseInt(localStorage.getItem('lead_score') || 0);

// Při události
leadScore += eventPoints;
localStorage.setItem('lead_score', leadScore);

// Poslat do GA4
dataLayer.push({
  'event': 'lead_score_update',
  'lead_score': leadScore
});

Metriky před a po: Případová studie

Klientka: B2B SaaS pro účetní firmy

Před vlastními událostmi:

  • Sessions z organiku: 15 000/měsíc
  • Bounce rate: "Nevíme" (GA4)
  • Engagement rate: 52 %
  • Konverze: 45 demo requests
  • Závěr marketingu: "SEO přináší traffic, ale nekonvertuje."

Po nastavení vlastních událostí (1 měsíc):

MetrikaHodnotaInsight
Scroll 25 %78 %OK
Scroll 50 %41 %Problém - uživatelé odcházejí
Scroll 75 %18 %CTA je až v 80 % stránky
Time 60s+29 %Nízké
CTA visibility18 %Většina CTA nikdy nevidí
CTA CTR (z visibility)12 %Vysoké - problém je visibility

Změny na základě dat:

  1. CTA přesunuto z 80 % na 40 % stránky
  2. Přidán sticky CTA
  3. Zkráceny úvodní sekce (méně fluff)
  4. Přidány subheadingy pro lepší scanning

Po 2 měsících:

MetrikaPředPoZměna
Scroll 50 %41 %58 %+41 %
CTA visibility18 %52 %+189 %
Konverze4578+73 %

Návratnost investice: Nastavení vlastních událostí trvalo 4 hodiny. Výsledek: +73 % konverzí.

Závěr a checklist

Vlastní události v GA4 vám odhalí, co se skutečně děje na vašem webu. Standardní metriky jsou jen povrch.

Checklist pro implementaci

Základní nastavení (den 1):

  • Nainstalujte GTM (pokud nemáte)
  • Nastavte sledování hloubky scrollování (25/50/75/100 %)
  • Nastavte časové milníky (30s/60s/120s)
  • Otestujte v režimu náhledu

Rozšířené sledování (týden 1):

  • Sledování CTA kliků
  • Sledování interních odkazů
  • Definujte "aktivní čtení" pro váš web
  • Nastavte aktivní čtení jako konverzi

Pokročilé (měsíc 1):

  • Sledování nedokončení formulářů
  • Sledování sledování videí (pokud relevantní)
  • Záměr opuštění (volitelné)
  • Hodnocení leadů (pro B2B)

Reportování (průběžně):

  • Vytvořte vlastní průzkumný report
  • Nastavte měsíční kontrolu vlastních událostí
  • Porovnávejte s předchozím obdobím
  • Optimalizujte na základě dat

Potřebujete pomoct s nastavením?

Správné měření je základ úspěšného SEO. Pokud nevíte, co uživatelé dělají, nemůžete optimalizovat.

Domluvte si konzultaci

Související články

Často kladené otázky (FAQ)

Potřebuji GTM pro vlastní události?

Ne nutně, ale velmi doporučuji. Bez GTM můžete vytvářet vlastní události pouze na základě existujících GA4 událostí (Admin → Events → Create event). To je omezené.

S GTM máte plnou kontrolu: sledování scrollování, sledování času, sledování kliků, sledování formulářů - cokoliv potřebujete. Nastavení GTM trvá hodinu, ale ušetří vám měsíce nepřesných dat.

Alternativa bez GTM: Přidat JavaScript přímo do kódu webu. Funkční, ale těžší na správu a ladění.

Jak ovlivňují vlastní události rychlost webu?

Minimálně, pokud jsou správně implementované. GTM se načítá asynchronně a neblokuje vykreslení stránky.

Čísla z praxe:

  • GTM samotný: +50-100 ms na čas načtení
  • 10 značek vlastních událostí: +10-20 ms
  • Celkový dopad na Core Web Vitals: Zanedbatelný

Tip: Nenastavujte zbytečné události. Měřte to, co budete skutečně analyzovat. 10 relevantních událostí > 50 událostí, které nikdo nekontroluje.

Kolik vlastních událostí mohu mít?

GA4 má limity, ale jsou velkorysé:

LimitHodnota
Unikátních názvů událostí500
Parametrů na událost25
Uživatelských vlastností25
Konverzí30

Pro většinu webů je 500 událostí víc než dost. Problém není v limitu, ale v analýze. Pokud máte 100 událostí a nekontrolujete je, jsou zbytečné.

Doporučení: Začněte s 5-10 klíčovými událostmi. Přidávejte postupně podle potřeby.

Jak testovat, že události fungují?

4 úrovně testování:

  1. Režim náhledu GTM — Vidíte, jestli se značky spouští
  2. GA4 DebugView — Vidíte události v reálném čase (Admin → DebugView)
  3. GA4 Report v reálném čase — Události s mírným zpožděním
  4. Chrome DevTools — Záložka Network, filtrujte na "collect"

Krok za krokem:

  1. Zapněte náhled GTM
  2. Otevřete GA4 DebugView v jiné záložce
  3. Proveďte akci na webu (scroll, klik...)
  4. Ověřte v GTM, že se značka spustila
  5. Ověřte v GA4 DebugView, že událost přišla se správnými parametry

Pokud událost nefunguje:

  • Zkontrolujte podmínky spouštěče
  • Ověřte Measurement ID
  • Zkontrolujte, že značka není blokovaná AdBlockerem

Jsou vlastní události v souladu s GDPR?

Ano, pokud máte správně nastavenou správu souhlasů.

Co potřebujete:

  1. Lišta cookies s možností odmítnout analytické cookies
  2. Režim souhlasu v GA4 — GA4 respektuje souhlas
  3. Dokumentaci v zásadách ochrany osobních údajů

Technické nastavení:

V GTM nastavte značky tak, aby se spouštěly pouze po udělení souhlasu:

// Inicializace režimu souhlasu
gtag('consent', 'default', {
  'analytics_storage': 'denied'
});

// Po udělení souhlasu
gtag('consent', 'update', {
  'analytics_storage': 'granted'
});

Vlastní události nesbírají osobní údaje (jméno, email, IP se anonymizuje). Sledujete chování, ne identitu. To je v souladu s GDPR, pokud máte souhlas pro analytické účely.

O autorce

Ing. Jana Hrabalová

Ing. Jana Hrabalová

SEO specialistka

SEO se věnuji od roku 2012. Pomáhám firmám získat více zákazníků z Google a přežít každý algoritmus update bez škrábnutí.

📚 Čtěte dále

Získejte SEO článek zdarma

Publikuji váš článek na kvalitním webu s vysokou autoritou

  • Publikace na webu s DA 50+
  • Dofollow odkaz na váš web
  • Profesionální copywriting

Vyzkoušejte také mé bezplatné SEO nástroje: