Problém: Performance Max rozděluje rozpočet podle výkonu – jenže „výkon” měří na tržbách a ROAS, ne na tom, kolik ti na produktu reálně zůstane. Takže ti PMax v klidu přesype peníze do produktu s velkým obratem a mizernou marží, a produkt, který vydělává málo na obratu, ale hodně na marži, nechá ve stínu. Ty ale neplatíš složenky z obratu. Platíš je z marže.

PMax sám o sobě marži nevidí – do feedu ji nikdo neposílá. V téhle sérii ti ukážu, jak ho ji naučit vidět a jak podle ní řídit rozpočet. V prvním dílu položíme základ: dostaneme marži produktů ze Shoptetu přes Google Sheets do Mergada, obohatíme jí feed a připravíme maržové hladiny v custom_label, podle kterých pak jde segmentovat PMax a dát každé hladině vlastní cíl.

Je to postup po krocích, který si zvládneš projít sám. A na konci férově i to, kde má tahle metoda háček – protože maržové hladiny nejsou totéž co optimalizace na skutečnou hodnotu marže, a je fér to říct rovnou.

Obsah

1. Proč optimalizovat na marži (a proč to PMax sám neumí)

Většina e-shopů řídí reklamu na ROAS – poměr tržeb k nákladům na reklamu. Zní to rozumně, ale má to skrytou vadu: ROAS počítá s obratem, ne se ziskem. Dva produkty se stejným ROASem ti můžou nechat v kapse úplně jinou částku, když má jeden marži 15 % a druhý 60 %.

PMax to neví. Do feedu, ze kterého čerpá, posílá e-shop cenu, dostupnost, kategorii, obrázky – ale marži ne. Nemá ji odkud vzít. Takže optimalizuje na to, co vidí (konverzní hodnota = tržby), a klidně nasype rozpočet do „obratových tahounů” s mizernou marží, zatímco tvoje maržově nejsilnější produkty hladoví.

Chceme to obrátit: dát systému signál, který produkty ti reálně vydělávají, a podle toho jim přidělit prostor. Kompletní řešení by bylo posílat skutečnou hodnotu marže jako konverzní hodnotu (na to se dostaneme v dalších dílech). Ale existuje jednodušší, robustní mezikrok, se kterým začneme: rozdělit produkty do maržových hladin a ty poslat do feedu přes custom_label. Pak v Google Ads segmentuješ PMax podle hladiny a každé dáš vlastní cíl.

Je to stejná logika jako u vyhodnocování, kde jde o zisk, ne o vanity metriky – jen aplikovaná přímo do řízení kampaní.

2. Krok 1: Export produktů ze Shoptetu s relativní marží

Nejdřív potřebujeme z e-shopu dostat ven dvě věci: ID produktu a jeho marži. Shoptet naštěstí umí obojí vyexportovat.

V administraci jdi na Produkty → Export a vytvoř si vlastní export. V nastavení sloupců zaškrtni (kromě code, což je interní ID produktu) i Relativní marže (relativeMargin). To je ta hodnota, kterou celá metoda stojí a padá.

Export si ulož v CSV a zkopíruj jeho URL adresu – Shoptet generuje odkaz, na kterém je feed vždy aktuální. Tu URL za chvíli použijeme v Google Sheets.

Pár poznámek, ať se nechytneš:

  • Relativní marže je marže v procentech (např. 42 %), ne v korunách. Pro maržové hladiny nám procenta stačí a jsou napříč sortimentem srovnatelná.
  • Export musí obsahovat code – to je pojítko na produkt, které za chvíli přemapujeme na g:id.
  • Jestli máš marži v Shoptetu neúplnou nebo špatně spočítanou (chybí nákupní ceny), vyřeš to teď. Maržové hladiny budou jen tak dobré, jak dobrá jsou vstupní data.

3. Krok 2: Data do Google Sheets přes =IMPORTDATA

Teď potřebujeme ta data někam, kde s nimi můžeme pracovat a odkud je Mergado umí načíst. Nejjednodušší cesta je Google Sheets.

Otevři nový list a do buňky A1 vlož funkci IMPORTDATA s URL exportu:

				
					=IMPORTDATA("https://tvuj-shop.myshoptet.com/export/tvuj-export.csv?hash=…")
				
			

Sheets si stáhne celý export a rozloží ho do sloupců. Kouzlo je v tom, že IMPORTDATA drží data živá – Google si feed periodicky přetahuje, takže když se v Shoptetu změní marže nebo přibude produkt, propíše se to (s menším zpožděním) samo. Nemusíš nic ručně kopírovat.

Ověř si, že vidíš aspoň dva sloupce, které nás zajímají: code (ID) a relativeMargin (marže). Zbytek je jedno.

4. Krok 3: Druhý list - z „code" uděláme „g:id" a publikujeme CSV

Tady je drobný, ale zásadní krok. Mergado potřebuje produkty spárovat s tvým existujícím feedem pro Google Merchant Center – a páruje se přes ID. V GMC feedu se ID jmenuje g:id, kdežto Shoptet ho posílá jako code. Musíme to sjednotit.

Založ v tom samém sešitu druhý list a naplň ho jen tím, co potřebujeme – s přejmenovanou hlavičkou:

				
					List 2 (jen dva sloupce, které pošleme do Mergada):

g:id            relativeMargin
=List1!A2       =List1!X2
=List1!A3       =List1!X3
...
				
			

Tedy: hodnoty code z prvního listu přetáhneš pod hlavičku g:id, a marži pod její sloupec. Výsledek je čistá tabulka „ID produktu + marže”, kterou Mergado bez problémů spáruje.

Když to máš, publikuj tento druhý list jako CSV: v Google Sheets Soubor → Sdílet → Publikovat na webu → vyber druhý list → formát CSV → Publikovat. Dostaneš veřejnou URL, na které je pořád aktuální CSV. Tuhle URL si ulož – půjde do importního pravidla v Mergadu.

Pozor: publikuješ jen ten čistý list s g:id a marží, ne celý sešit. A ano, je to veřejná URL – neposílej přes ni nic citlivého, jen ID a procenta marže.

5. Krok 4: Mergado - element pro marži a doplňkový feed

Teď přesuneme marži do feedu. V Mergadu nebudeme přepisovat zdrojová data – jen je obohatíme o marži z našeho CSV. Je to klasický doplňkový (supplemental) feed.

Nejdřív jedna věc, na kterou se snadno zapomene: element pro marži musí v Mergadu existovat dřív, než pustíš aplikaci pravidel. Založ si tedy vlastní element (např. relativeMargin) předem – jinak nebude mít importní pravidlo kam data zapsat.

Pak vytvoř pravidlo typu Import datového souboru (CSV / XML):

  • Zdroj: Zadat URL → vlož publikovanou CSV URL z Google Sheets.
  • Párování: nech zapnuté „Párovat podle vstupních hodnot” (páruje přes g:id proti původním hodnotám feedu, ne přes data už upravená jinými pravidly).
  • Oddělovač: čárka (Google publikuje CSV s čárkou).
  • Import napojí g:id → produkt a natáhne k němu relativeMargin.

Po aplikaci má každý produkt ve feedu navíc svoji marži. Sám o sobě ten sloupec do Google Ads nepošleme (marže nepatří do standardních polí feedu) – použijeme ho jen jako vstup pro maržové hladiny v dalším kroku.

6. Krok 5: Maržové hladiny do custom_label

Teď z čísla uděláme kategorii, které Google Ads rozumí. Google Shopping feed má na tohle připravená pole custom_label_0custom_label_4 – volné štítky, do kterých si můžeš zapsat cokoli a pak podle nich v kampani segmentovat.

Postup v Mergadu má dvě části:

  1. Výběry produktů podle výše marže. Vytvoř si výběry (segmenty) nad elementem marže – např. margin < 20, margin 20–40, margin 40–60, margin > 60.
  2. Pravidlo, které do custom_label_4 zapíše hladinu. Typ pravidla Hromadné přepisování dle výběrů, element g:custom_label_4, a ke každému výběru přiřaď hodnotu hladiny:
				
					VÝBĚR (podle marže)      →   custom_label_4
margin < 20              →   "20 a méně"
margin 20 - 40           →   "20 - 40"
margin 40 - 60           →   "40 - 60"
margin > 60              →   "60 a více"
				
			

Tip: jestli chceš mít hladiny v Google Ads hezky seřazené, dej jim na začátek pořadové číslo (1 – do 20 %, 2 – 20–40 %…). Google řadí štítky abecedně a „60 a více" by ti jinak skočilo před „20 a méně".

Hranice hladin (20/40/60) neber jako dogma – nastav je podle rozložení marží ve svém sortimentu, ať ti v každé hladině zůstane dost produktů a rozpočtu, aby se PMax měl z čeho učit.

Až se feed přegeneruje, propíše se custom_label_4 do Google Merchant Center a odtud do Google Ads.

7. Krok 6: Segmentace PMax podle marže a vlastní ROAS

Poslední kus skládačky je v Google Ads. Jakmile máš custom_label_4 v Merchant Center, můžeš podle něj v PMax rozdělit produkty do skupin listingů (listing groups) – pro každou maržovou hladinu vlastní skupina.

A tady je ta výplata: každé hladině můžeš dát vlastní cíl ROAS. Produktům s vysokou marží nastavíš cíl volnější (nižší tROAS) – dovolíš jim utrácet víc a získat víc prostoru, protože si to marže může dovolit. Nízkomaržovým produktům nastavíš cíl přísnější, ať neprojídají rozpočet.

Výsledek: rozpočet plyne tam, kde ti reálně zůstává nejvíc peněz – ne tam, kde je jen největší obrat. Je to stejná filozofie jako u stavby PMax struktury s hlavou a patou, jen řízená marží místo pocitu.

8. Kde to má háček (poctivá poznámka)

Slíbil jsem férovost, tak ji dostaneš. Tahle metoda je skvělý mezikrok, ale není to totéž co plná optimalizace na marži – a je dobré vědět proč:

  • Maržová hladina je vlastnost produktu, ne konverze. Zákazník klikne na maržově silný produkt, ale nakonec koupí něco jiného (nebo přidá do košíku pár nízkomaržových věcí). Systém pak dostal signál podle produktu ve feedu, ne podle toho, co reálně padlo do košíku.
  • Není to optimalizace na hodnotu marže při sběru konverzí. Ta by znamenala posílat do měření skutečnou marži objednávky jako konverzní hodnotu – to je další level (a další díl téhle série).
  • Hladiny jsou zjednodušení. Produkt s marží 39 % a 41 % skončí v jiné hladině, i když jsou skoro stejné. Hranice vždycky někoho rozseknou.

Přesto to dělám a doporučuju, protože to pomáhá tobě i systému: dává PMax smysluplný signál navíc, srozumitelně rozděluje sortiment a je to robustní a rychlé – spustíš to za odpoledne, bez zásahů do měření. Je to první patro. V dalších dílech postavíme ta vyšší.

Optimalizace na marži není přepínač, je to cesta. Maržové hladiny v custom_label jsou první krok, který uděláš rychle a bezpečně - a systém i ty díky němu poprvé vidíte, kde jsou opravdové peníze.

Závěr

Shrnuto v jedné větě: vytáhli jsme marži ze Shoptetu, přes Google Sheets a Mergado ji dostali do feedu, přeložili ji na hladiny v custom_label a připravili si půdu, abychom v PMax řídili rozpočet podle zisku, ne jen obratu.

Co si odnést:

  1. PMax marži sám nevidí – musíš mu ji dodat, přes feed a custom_label.
  2. Cesta vede přes Shoptet export → Google Sheets (IMPORTDATA + g:id) → doplňkový feed v Mergadu.
  3. Maržové hladiny jsou robustní mezikrok, ne finální řešení – ale okamžitě posunou rozpočet blíž k zisku.

V dalším dílu se pustíme do vyššího patra – jak posílat do měření skutečnou hodnotu marže a optimalizovat rovnou na ni.

Chceš optimalizovat na marži u sebe?

Jestli tohle chceš rozjet u sebe a někde se zasekneš - nebo chceš rovnou probrat, jestli se ti maržová segmentace vyplatí a kde nastavit hladiny. Rád to projdu s tebou.

FAQ

  • Potřebuju na to Shoptet, nebo to jde i jinde? Princip je univerzální – jde o to dostat ven ID a marži. Shoptet to má v exportu (Produkty → Export, sloupec Relativní marže); u jiných platforem hledej export s marží nebo si ji dopočítej z nákupní a prodejní ceny.
  • Proč to tahat přes Google Sheets a nedat CSV rovnou do Mergada? Sheets ti přes IMPORTDATA drží data živá a dá se v něm snadno přejmenovat code na g:id a vyházet nepotřebné sloupce. Je to mezikrok, který ti ušetří ruční práci při každé změně.
  • Co když nemám v Shoptetu vyplněné nákupní ceny? Pak bude relativní marže nepřesná nebo prázdná a hladiny nebudou dávat smysl. Doplnění nákupních cen je předpoklad – bez správné marže je celá metoda jen tak dobrá jako vstupní data.
  • Do kterého custom_label to zapsat? Do libovolného volného (custom_label_04). Používám custom_label_4, ať mi nekoliduje s ostatními štítky (sezónnost, bestsellery, doprodej). Hlavně ať víš, který máš volný.
  • Je maržová hladina to samé jako optimalizovat na marži? Ne. Je to zjednodušení na úrovni produktu, ne skutečná hodnota marže objednávky. Je to silný mezikrok, ne finále – plnou optimalizaci na hodnotu marže rozebereme v dalším dílu.
  • Neublíží mi to výkonu? Samo o sobě ne – jen přidáváš signál a rozděluješ produkty. Riziko je v příliš jemných hladinách (málo dat na skupinu) nebo ukvapených cílech ROAS. Začni hrubě (2–3 hladiny) a uprav podle dat.