Hloubková analýza· Search strategy · 13 min čtení

Kde začít se Search kampaněmi na obřím webu? Tvoje GA4 už to ví.

Na obřím webu první otázka u Search nezní na klíčová slova, ale které vstupní stránky si vůbec můžou dovolit inzerci. Odpoví ekonomika GA4, krok za krokem.

Obří dveře vstupních stránek roztříděné na hromádky ANO a NE.
Fakta jsou skutečná — obálky článků ne.

Stručně: Na obřím webu nezní první otázka u Search na klíčová slova, ale které vstupní stránky si vůbec můžou dovolit inzerci. Z exportu vstupních stránek z GA4 a crawlu webu spočítáte pro každou stránku maxCPC = cílový CRR × CR × AOV a porovnáte ho se skutečným průměrným CPC. Výstupem je TOP 100–200 stránek hodných kampaně plus čistá hromádka „na tohle nebiduj" — ještě než utratíte cent.

TOP 100–200
vstupních stránek, které stojí za to postavit první
CRR × CR × AOV
max CPC, který si každá stránka může dovolit
~3 min
na nastavení extrakce z crawlu
€0.10 CPC
stránky, na které bys nikdy neměl bidovat

Co do toho dáš a co z toho dostaneš

Dáš do toho dvě věci, které už máš: export vstupních stránek z GA4 a crawl svého webu. Dostaneš zpátky jednu věc — seřazený seznam vstupních stránek, které si zaslouží Search kampaň jako první, každou s přesným max CPC, který si může dovolit, a čistou hromádku „na tohle nebiduj” pro stránky, jejichž ekonomika placené vyhledávání zakazuje. Žádný keyword nástroj, žádné tušení, žádné „prostě zapneme dynamické reklamy ve vyhledávání a uvidíme”. Tabulka, která ti řekne, kam namířit rozpočet, než utratíš jediný cent.

To je celý článek. Níže projedu pipeline od začátku do konce a v každém kroku ti ukážu doslova to, co vypadne ven — řádky z GA4, aritmetiku max CPC na jednom řádku, tabulku extrakce z crawlu, prioritizační seřazení před a po a diagnózu problémové stránky, která zachrání stránku, kterou by všichni ostatní smazali. Čísla jsou v celém článku ilustrativní — dosaď si vlastní — ale tvary jsou přesně to, co nástroje vrací.

Proč se vůbec obtěžovat s pre-flightem? Protože default na webu s 10 000 URL je namířit širokou kampaň na všechno a nechat Google, ať si to roztřídí. To spálí rozpočet na stránkách, které nikdy nemohly konvertovat, rozvolní cílový ROAS a otráví fázi učení. Tenhle filtr je nejlevnější pojistka, jakou kdy koupíš.

Pipeline v jednom boxu

  • Co chceme Vstupní stránky, které stojí za inzerci, seřazené
  • Vstupy Export vstupních stránek z GA4 · crawl webu
  • Jeden vzorec maxCPC = cílový CRR × CR × AOV
  • Co dostaneš Hromádka postavit, hromádka opravit, hromádka přeskočit

Jedno číslo, které rozhoduje o všem: max CPC

Každá vstupní stránka má strop — nejvíc, co můžeš zaplatit za proklik a pořád ještě trefit cílovou efektivitu. Spočítej ho pro každou stránku a celá prioritizace vypadne z matematiky:

maxCPC = cílový CRR × CR × AOV

kde CRR (cost-revenue ratio — evropské PNO, ekvivalent ACOS) je podíl tržeb, který jsi ochotný utratit za reklamu, CR je konverzní poměr stránky a AOV je její průměrná hodnota objednávky.

Konkrétní příklad, přímo ze vzorce. Stránka kategorie konvertuje na 2 %, průměrná objednávka je €1,000 a ty jsi ochotný utratit za reklamu 10 % tržeb (10× ROAS):

maxCPC = 0.10 × 0.02 × €1,000 = €2.00.

Pokud raději přemýšlíš v ROAS, totéž se přerovná na maxCPC = CR × AOV / ROAS = 0.02 × 1,000 / 10 = €2.00. Stejné číslo, vyber si tvar, který tvému mozku sedí. (Ilustrativní příklad.)

Těch €2.00 je verdikt. Porovnej je se skutečným průměrným CPC ve tvém účtu pro daný trh a stránka se roztřídí sama: pohodlně nad průměrným CPC → postav ji; pod ním → na sebe nevydělá; hluboko pod ním → ani na to nemysli. Všechno, co následuje, je jen spolehlivé vyrobení tohohle čísla pro každou stránku a čtení výsledku.

Pipeline na první pohled

Pět kroků. Pro každý: co děláš, na co se díváš a proč — protože každý krok existuje, aby odpověděl na jednu konkrétní otázku o stránce.

1 — Vytáhni ekonomiku vstupních stránek z GA4

Udělej: pro každou vstupní stránku exportuj sessions, konverze, transakce a tržby; odvoď CR a AOV. Proč: tohle je signál poptávky a peněz — bez něj je max CPC jen odhad. Dostaneš: jeden řádek na stránku nesoucí dvě čísla, která vzorec jí (CR a AOV).

2 — Procrawluj web kvůli struktuře

Udělej: procrawluj každou stránku kvůli title, H1, hloubce breadcrumbu a — to nejdůležitější — kolik produktů vypisuje. Proč: GA4 zná ekonomiku, ale ne strukturu; stránka se dvěma produkty skladem neunese kampaň, ať konvertuje sebelíp. Dostaneš: strukturní zrcadlo svých GA4 řádků plus příznak tenké stránky.

3 — Spoj oba datasety, spočítej max CPC

Udělej: spoj GA4 + crawl podle URL, projeď vzorec na každém řádku, zahoď tenké stránky. Proč: tady se ekonomika a struktura potkávají a verdikt se stává spočitatelným. Dostaneš: každou stránku s max CPC hned vedle ní.

4 — Prioritizuj: max CPC vs. skutečný průměrný CPC

Udělej: dej max CPC každé stránky vedle skutečného průměrného CPC ve tvém účtu nebo zemi, seřaď podle rezervy. Proč: max CPC samo o sobě nic neznamená — jen rozdíl oproti tomu, kolik proklik reálně stojí, rozhodne, jestli stránka může vydělat. Dostaneš: TOP 100–200 hromádku postavit, hromádku opravit a hromádku přeskočit.

5 — Diagnostikuj problémové stránky

Udělej: u stránek, které by měly konvertovat, ale nekonvertují, zkontroluj nejdřív cenovou konkurenceschopnost produktů, které vypisují. Proč: nízký CR na stránce, která by měla prodávat, je obvykle merchandisingová netěsnost, ne problém poptávky — a dá se opravit. Dostaneš: stránky zachráněné z hromádky přeskočit zpátky na hromádku postavit, jakmile dokážou reálně konvertovat.

Teď těch samých pět kroků, jeden po druhém, každý s tím, co doslova vyrobí.

Krok 1 — Export z GA4, jak dorazí

Nepotřebuješ žádný luxusní report. V GA4: Prozkoumat → prázdné → Volný formulář, dimenze Vstupní stránka + řetězec dotazu, metriky Sessions, Klíčové události / Konverze, Celkové tržby. Přidej Transakce, pokud je máš; jinak AOV vyjde z tržeb ÷ konverze. Jeden filtr na úvod: vylučte detaily produktů a nechte stránky kategorií / kolekcí — řešíš, kam posílat návštěvnost, a na většině webů to jsou kategorie, ne jednotlivá SKU. Smícháním SKU zkreslíš každé AOV i CR, které spočítáš.

Tady je, jak vypadají čtyři reprezentativní řádky po exportu, s odvozeným CR a AOV:

Landing page         Sessions  Conv   CR     Revenue    AOV
/cordless-vacuums       8,140    163   2.0%   €68,460    €420
/winter-tyres           5,020    156   3.1%   €28,080    €180
/sleeping-bags         12,300    135   1.1%   €12,825    €95
/phone-cases            9,800    137   1.4%    €2,192    €16

(Ilustrativní příklad.) CR je konverze ÷ sessions; AOV je tržby ÷ konverze. To je celý vstup, který vzorec z GA4 potřebuje — dva sloupce, CR a AOV, na stránku. Všimni si už teď, že /sleeping-bags má v sadě nejvíc sessions, a přitom konvertuje nejhůř; podrž si tu myšlenku, je to ta zajímavá pozdějc.

Krok 2 — Crawl a sloupec, který odvádí práci

GA4 ti řeklo, jak si každá stránka vede. Neumí ti říct, že je stránka strukturně dutá — „kategorie” se dvěma produkty skladem nebo parametrický filtr, který by nikdy neměl nést kampaň. Na to potřebuješ crawl. Dvě cesty: nech AI, ať ti za pět minut napíše crawler na jedno použití, nebo použij Screaming Frog s vlastní XPath extrakcí, kterou nastavíš zhruba za tři minuty (celý mini-návod ve steal boxu). Spusť ho v List mode na své sadě URL z GA4 a melе na pozadí, zatímco děláš něco jiného.

Jeden sloupec, který si zaslouží svoje místo, je počet produktů — kolik produktových dlaždic stránka reálně vykreslí. Tady je výstup extrakce napojený na ty samé čtyři stránky plus jednu navíc, kterou crawl označí:

URL                  Title                H1               Products  Breadcrumb
/cordless-vacuums    Cordless Vacuums …   Cordless Vacuums      48    Home>Floorcare>Vacuums
/winter-tyres        Winter Tyres | …     Winter Tyres        112    Home>Tyres>Winter
/sleeping-bags       Sleeping Bags …      Sleeping Bags         9    Home>Camping>Sleep
/phone-cases         Phone Cases …        Phone Cases         640    Home>Accessories>Cases
/clearance-2019      Clearance            Clearance             0    Home>Clearance

(Ilustrativní příklad.) Pravidlo tenké stránky odvede práci na místě: /clearance-2019 vypisuje 0 produktů — prázdná kategorie, na kterou GA4 pořád loguje sessions. Před prioritizací zahoď každou stránku pod ~3 produkty a tahle stránka-duch se na hromádku postavit nikdy nedostane. Mini-příklad, situace → akce → výsledek: crawl ukáže „kategorii” s nulou živých produktů → vyloučíš ji před prioritizací → neztratíš kampaň (ani analytikovo odpoledne) na stránce, která nemá co prodávat.

Krok 3 — Spoj oba datasety a vzorec na jednom řádku

Teď se z dvou datasetů stává jeden. Spoj GA4 + crawl podle URL a každá stránka nese jak svou ekonomiku (CR, AOV), tak strukturu (počet produktů). Projeď maxCPC = cílový CRR × CR × AOV dolů sloupcem. Sleduj, jak dopadne na jeden skutečný řádek — /cordless-vacuums, cílový CRR 10 %:

maxCPC = 0.10 × 0.020 × €420 = €0.84.

Jeden řádek, jeden strop. Udělej to pro všechny čtyři přeživší a dostaneš max CPC na stránku, na kterém visí celé rozhodnutí:

Page                CR     AOV    CRR    maxCPC = CRR×CR×AOV
/cordless-vacuums   2.0%   €420   10%    0.10 × 0.020 × 420 = €0.84
/winter-tyres       3.1%   €180   12%    0.12 × 0.031 × 180 = €0.67
/sleeping-bags      1.1%    €95   10%    0.10 × 0.011 ×  95 = €0.10
/phone-cases        1.4%    €16   10%    0.10 × 0.014 ×  16 = €0.02

(Ilustrativní příklad.) Cílový CRR se může lišit stránku od stránky, pokud se liší tvoje marže — /winter-tyres tu nese 12 %, protože kategorie snese volnější efektivitu. Všechno ostatní je mechanika. Teď máš max CPC pro každou stránku na webu; další krok je jediné rozhodnutí, které ti zbývá.

Krok 4 — Prioritizuj: seřazení, před a po

Max CPC samo o sobě nic neznamená. €0.84 je v jednom trhu štědré a v jiném nezaplatitelné — co rozhoduje, je rozdíl oproti tomu, kolik tě proklik reálně stojí. Takže si z účtu Google Ads vytáhni skutečný průměrný CPC na stránku (nebo na trh, pokud nemáš per-stránku) a dej obě čísla vedle sebe.

Před — surový join, v jakémkoli pořadí vypadl z GA4, je jako plán nečitelný:

Page                maxCPC   avg CPC
/sleeping-bags      €0.10    €0.45
/phone-cases        €0.02    €0.35
/cordless-vacuums   €0.84    €0.55
/winter-tyres       €0.67    €0.40

Po — seřaď podle rezervy (maxCPC − avg CPC) a ze stejných čtyř řádků se stane zadání práce s verdiktem zapsaným v posledním sloupci:

Vstupní stránkaCRAOVCílový CRRmaxCPCprůměrný CPCVerdikt
/cordless-vacuums2.0%€42010%€0.84€0.55Postavit hned
/winter-tyres3.1%€18012%€0.67€0.40Postavit hned
/sleeping-bags1.1%€9510%€0.10€0.45Nejdřív opravit (problémová stránka)
/phone-cases1.4%€1610%€0.02€0.35Neztrácet čas

(Ilustrativní příklad.) Čísla jsou vymyšlená, aby ukázala mechaniku — dosaď si vlastní hodnoty z GA4. Každé maxCPC je tu jen cílový CRR × CR × AOV aplikované na řádek.

Dva řádky jsou jasné. /cordless-vacuums zvládne zaplatit €0.84 proti trhu za €0.55 — +53 % rezerva, postav ji. /winter-tyres stejně tak. /phone-cases si může dovolit €0.02 proti €0.35; nebude to fungovat ani v těch nejdivočejších snech, nech ji být a neotáčej se. Naškáluj tohle ze čtyř řádků na deset tisíc a vršek seřazeného seznamu je tvoje TOP 100–200 — stránky, které se staví první, seřazené podle toho, kolik mají prostoru bidovat.

Zajímavý je /sleeping-bags: maxCPC €0.10 proti trhu za €0.45. Na papíře „neztrácet čas”. Ale měla v celém exportu nejvíc sessions a kategorii, která by evidentně měla prodávat. Podezřele nízký CR na stránce, která by měla konvertovat, je málokdy problém poptávky. Je to problémová stránka — a problémové stránky dostanou diagnózu, ne smazání.

Krok 5 — Problémové stránky: diagnóza na skutečném výpisu

Když konverzní poměr stránky sedí hluboko pod tím, kde by kategorie měla skončit, zeptej se proč, než ji zahodíš. U e-commerce je odpověď ve většině případů cenová konkurenceschopnost produktů, které stránka ukazuje jako první. Prvních 10–20 produktů, které návštěvník vidí, je celý první dojem stránky; pokud to jsou tvoje nejméně hodnotné položky, CR se propadne bez ohledu na to, kolik poptávky stránka přitáhne.

Takže si kategorii přečteš přesně tak, jak ji čte zákazník — v jejím výchozím řazení — a zkontroluješ ceny hero pozic.

Přečti si mix produktů kategorie v pořadí řazení

Vytáhni produkty v /sleeping-bags podle jejich product_type z Google Merchant Center, ve výchozím pořadí výpisu, které návštěvník reálně dostane. Vršek seznamu je to, co konvertuje (nebo ne).

Zkontroluj ceny vršku oproti trhu

Vezmi nejvýše vypsané produkty a prozkoumej živé ceny konkurence přes DataForSEO — endpoint serp/google/organic/live/advanced vrátí celou stránku s výsledky (shopping bloky s obchodníky a cenami, organika) jako strukturované JSON zhruba za $0.0035 za dotaz.

Přeceň nebo přeřaď, pak změř znovu

Pokud jsou hero pozice předražené, máš dvě páky: přecenit, nebo přeřadit kategorii tak, aby vedly skutečně konkurenceschopné produkty. Pak sleduj CR. Teprve až se zvedne, povýšíš stránku z „problémové” na hromádku postavit.

Tady je, jak ta diagnóza doslova vypadá na /sleeping-bags, stránce sedící na maxCPC €0.10. Vršek výpisu, tvoje cena vs. nejlevnější konkurent, kterého DataForSEO našel pro stejný produkt:

Pos  Product (first-listed)       Your price  Cheapest comp.  Gap
 1   AlpineLite 200 Down Bag      €129        €99             +30%
 2   TrekWarm Mummy −5°C          €115        €112            +3%
 3   BaseCamp Synthetic XL        €89         €92             −3%
 4   ValleyHike Junior            €45         €47             −4%

(Ilustrativní příklad.) Netěsnost je hned nahoře: produkt, který 12 300 měsíčních návštěvníků potká jako první, je nacenený 30 % nad nejlevnější nabídkou trhu. Všechno pod ním je konkurenceschopné — ale nikdo neprojede za špatný první dojem. Mini-příklad, situace → akce → výsledek: hero produkt je 30 % nad trhem → sniž jeho cenu na €105 nebo přeřaď tak, aby vedly konkurenceschopné BaseCamp a ValleyHike → CR se zotaví k normě kategorie → projeď znovu Krok 3, maxCPC vyleze z €0.10 a stránka postoupí na hromádku postavit.

Tohle je smyčka, kterou většina agentur nikdy neuzavře, protože překračuje hranici, kterou obvykle nepřekračují. Práce e-shopu (ceny, merchandising, řazení) a práce agentury (nákup návštěvnosti) jsou stejná optimalizační smyčka. Ladit jednu bez druhé znamená bidovat do děravého kýble.

Po filtru: volba, jak nakupuješ

Teprve teď — s hromádkou postavit v ruce — vybíráš jak: AI Max, dynamické reklamy ve vyhledávání, klasický STAG, nebo kombinaci (broad + DSA v jedné kampani). Jedna kampaň, nebo tři, nebo pět záleží na klientovi a objemu konverzí — než budeš dělit, respektuj pravidlo ~30 konverzí na kampaň. Tuhle volbu nechávám záměrně na tobě. Pointa celé pipeline je, že ji děláš až po ekonomice, ne před ní.

Ať skončíš u čehokoli, pravidlo je stejné: nová kampaň nesmí nikdy startovat na špatných stránkách. Slabé vstupní stránky ti rozvolní cílový ROAS a otráví fázi učení. Předfiltr je to, co drží spuštění namířené jen na stránky, které na sebe dokážou vydělat — a odtud je stavba super-struktury (data z crawlu + keyword research na kategorii přes Google Ads API, postavená ve vlnách podle kategorie, jazyka a zralosti) vlastní kus práce, a má svůj článek.

Část, která se vrací k manifestu

Technicky vzato na tom není nic nového. Export z GA4, crawl, scrape cen a join jsi mohl udělat před pěti lety. Jenže by to byl půlrok zakázkového vývoje a kdokoli při smyslech by to v půlce vzdal. Důvod, proč to píšu právě teď, je, že s nástroji jako Codex, Claude Code a současnou generací agentů tohle přestalo být projektem a stalo se z toho běžný úterní workflow — skript, který namíříš na účet a necháš běžet přes noc.

To je celý ten posun a je nejvíc vidět z obou stran najednou: cenotvorba a merchandising e-shopu a inzertní práce agentury se zhroutí do jedné smyčky, kterou můžeš konečně ladit společně. Ekonomika ti ji dovolí uzavřít.

The part you can steal

Část, kterou si můžeš ukrást

# 1) Strop na každé vstupní stránce
maxCPC = target_CRR * CR * AOV
     = CR * AOV / ROAS          # totéž v ROAS tvaru
# např. 0.10 * 0.02 * 1000 = €2.00  (10% CRR, 2% CR, €1000 AOV)

# 2) Screaming Frog vlastní extrakce (~3 min, běží na pozadí)
Configuration → Custom → Custom Extraction → Add
• Produkty na stránce  XPath:  count(//div[contains(@class,'product-card')])
                       extractor type: Function Value   (count() vrací číslo)
• H1                  XPath:  //h1                       → Extract Text
• Breadcrumb          XPath:  //nav[@aria-label='breadcrumb']  → Extract Text
Crawl (nebo List mode na tvé sadě URL z GA4) → export → join na GA4 podle URL.
Před prioritizací zahoď jako tenkou stránku každou s < ~3 produkty.
  1. Pro počet produktů použij Function Value, ne Extract Text. count() vrací číslo; textový extraktor ho spolkne. Tohle je jednoznačně nejčastější důvod, proč se sloupec s počtem vrátí prázdný.
  2. Přizpůsob selektor product-card webu. Pravým tlačítkem na dlaždici produktu → Inspect → vezmi stabilní class. Trefíš tenhle XPath jednou správně a filtr tenkých stránek se spustí sám.
  3. Nejdřív z exportu GA4 odfiltruj detaily produktů. Řešíš, kam návštěvnost posílat — stránky kategorií a kolekcí — ne jednotlivá SKU. Když je smícháš dohromady, zkreslíš každé AOV i CR, které spočítáš.
  4. Problémové stránky diagnostikuj v pořadí řazení. Vytáhni kategorii podle product_type v jejím výchozím řazení výpisu a zkontroluj ceny vršku — co konvertuje, je první dojem, ne průměr stránky.

FAQ

Proč používat maxCPC místo toho, abych se prostě díval na ROAS cíle v Google Ads?

Protože Googlovský tROAS reaguje až poté, co jsi utratil peníze na učení. maxCPC je filtr před spuštěním: řekne ti ještě před jediným prokliknem, které stránky si můžou matematicky dovolit inzerovat. Použiješ ho k rozhodnutí, co stavět; tROAS použiješ k řízení toho, co jsi postavil.

Moje CR a AOV hodně kolísají měsíc od měsíce. Nerozbíjí to ten vzorec?

Použij stabilní okno — 60 až 90 dní — a segmentuj podle zařízení nebo trhu, pokud se výrazně liší. Vzorec nemá být přesný na cent; má roztřídit stránky na hromádky postavit / opravit / přeskočit. Jde ti o rezervu v řádu, ne o desetníky.

Opravdu potřebuju Screaming Frog, nebo mi crawler může prostě napsat AI?

Funguje obojí. Screaming Frog s vlastní XPath extrakcí je no-code cesta a opravdu je to tříminutové nastavení. Naskriptovaný crawler je lepší, pokud potřebuješ data automaticky napojit do pipeline. Vyber podle toho, jestli jde o jednorázový audit nebo opakovatelný workflow.

Co se počítá jako „problémová stránka“ oproti stránce, kterou mám prostě přeskočit?

Stránka k přeskočení má slabou ekonomiku už ze své podstaty — nízké AOV, nízký záměr — takže její maxCPC je opravdu malé a vždycky bude (/phone-cases na €0.02). Problémová stránka by měla konvertovat — slušné AOV, reálná poptávka, hodně sessions — ale nekonvertuje, obvykle proto, že její první vypsané produkty jsou předražené nebo špatně seřazené (/sleeping-bags na €0.10). Stránky k přeskočení necháš stranou; problémové opravíš a pak změříš znovu.

Funguje to jen pro e-commerce?

Vzorec maxCPC funguje všude, kde máš hodnotu konverze — včetně lead genu, kde se AOV stane hodnotou leadu. Diagnostika problémových stránek (product_type z Merchant Center, ceny konkurence, řazení kategorie) je specifická pro e-commerce; problémové stránky v lead genu potřebují vlastní diagnózu, obvykle tření ve formuláři nebo nesoulad nabídky.

Jak tohle souvisí s AI Max a koncem DSA?

Je to upstream toho rozhodnutí. Ať skončíš u jakéhokoli typu kampaně — AI Max, nástupce DSA, klasický STAG — měl by vždycky mířit jen na stránky, které prošly tímhle filtrem. Volba strategie mění, jak nakupuješ; ekonomika rozhoduje, co vůbec stojí za nákup.


CTA: Chceš hromádku postavit pro svůj web, seřazenou podle toho, kolik si každá stránka reálně může dovolit? Pojďme na tvojí GA4 spustit filtr.

Oč tu celou dobu jde

Chcete tuhle úroveň přehledu ve svém účtu?

Jeden e-mail. Upřímně vám řeknu, jestli se to pro vaše nastavení vyplatí.

Ozvěte se →