Symptom: U produktů, které mají na e-shopu dopravu zdarma (akce), Google Nákupy
u inzerátu i nadále zobrazují účtovanou cenu dopravy.
Příčina (potvrzená porovnáním vstupního a výstupního feedu):
WooCommerce správně zapisuje dopravu zdarma do vstupního feedu jako 0 CZK.
Mergado ale při zpracování hodnotu 0 CZKztratí a do výstupu pošle
prázdnou cenu. Prázdná cena → Google si dopravu dopočítá z nastavení účtu → účtuje ji.
Důkaz — Cemio SENSITIVE dětský šampon (239 Kč)
Dopravce
VSTUP (z WooCommerce)
VÝSTUP (z Mergada → Google)
PPL
0 CZK
prázdné
Balíkovna na adresu
0 CZK
prázdné
Dobrá zpráva: příznak „doprava zdarma" se z e-shopu do feedu už propisuje sám.
Nepotřebujeme žádné nové tagování ani Merchant Center Promotions — stačí opravit jedno
místo v Mergadu, kde se ztrácí nula.
Koho přesně to teď postihuje
Ve vstupu má dopravu zdarma 8 produktů. U 3 z nich (nad 990 Kč) je výsledek náhodou správně,
protože je „dorovná" jiné pravidlo. Rozbitých je 5 promo produktů pod 990 Kč:
ID produktu
Cena
Produkt
Stav ve výstupu
100000528186
239 Kč
Cemio SENSITIVE dětský šampon a mycí gel
doprava účtována
288
447 Kč
GS Merilin, 60 tablet
doprava účtována
421
542 Kč
GS Condro DIAMANT, 120 tablet
doprava účtována
449
699 Kč
GS Condro DIAMANT, 200 tablet
doprava účtována
100000210946
805 Kč
GS Merilin, 2 × 60 tablet
doprava účtována
2 Hlavní oprava v Mergadu
Cílem je, aby Mergado u dopravy zachovalo i hodnotu 0 Kč (ne jen nenulové ceny).
Existují dvě cesty — doporučená A je čistší, B je rychlejší záplata.
A) Doporučeno — věrný přenos ceny dopravy (vyřeší všechny produkty)
Přihlas se do Mergada a otevři projekt gsklub-cz-google-nakupy.
Otevři sekci Pravidla a najdi pravidlo, které pracuje s elementem
shipping (dopravou). Poznáš ho podle chování: ve výstupu nechává jen
PPL + Balíkovna na adresu a u dopravy zdarma vyrábí prázdnou cenu.
Typicky půjde o pravidlo „Nastavení ceny dopravy" (s proměnnou) nebo
„Hromadné přepisování dle hodnot".
Uprav ho tak, aby přebíralo vstupní cenu dopravy včetně 0:
Je-li to mapování hodnot → přidej řádek 0 CZK → 0 CZK
(ať 0 není „nezmapovaná" hodnota, kterou pravidlo zahodí).
Je-li to proměnná extrahující cenu regulárním výrazem → uprav výraz tak,
aby chytal i nulu (např. (\d+)\s*CZK místo výrazu, který vyžaduje nenulovou číslici).
Pokud v projektu existuje samostatné pravidlo „nad 990 Kč → doprava 0", po této opravě
už není potřeba (vstup nese správné ceny pro všechny produkty). Můžeš ho ponechat,
neškodí.
B) Rychlá záplata — explicitní pravidlo jen na promo produkty
Pokud se к pravidlu z bodu A nechceš hned hrabat, přidej nové pravidlo, které dopravu
u promo produktů přepíše natvrdo na 0:
Pravidla → Přidat pravidlo → „Nastavení ceny dopravy".
Výběr produktů: vytvoř produktový výběr. Dočasně přes seznam ID
(5 produktů z tabulky výše). Udržitelně — pokud to element-path v Mergadu umožní —
cílit na produkty, kde je vstupní cena dopravy 0.
Dopravci a ceny:
PPL → 0 CZK
Balíkovna na adresu → 0 CZK
Umísti pravidlo za stávající dopravní pravidlo (pořadí v Mergadu rozhoduje — poslední vyhrává).
Časovač (volitelně): v „Další možnosti" pravidla lze zapnout časové omezení
(jen ve zvolené dny/období) — vhodné pro časově ohraničené akce „doprava zdarma".
Pozn. k výběru produktů: nejlepší je cesta A — nepotřebuje žádný výběr ani seznam ID,
protože vstupní feed už obsahuje správné ceny (0 u promo, 98/89 u placených). Stačí je nezkazit.
3 Ověření po opravě
Přegeneruj feed v Mergadu.
Otevři sekci Elementy → shipping a u produktu 100000528186
(Cemio SENSITIVE) zkontroluj, že PPL i Balíkovna na adresu mají cenu
0 CZK — ne prázdno.
V Google Merchant Center u produktu otevři záložku „Kalkulace dopravy"
— měla by ukazovat dopravu zdarma. (Promítnutí přes Karsu do GMC trvá pár hodin.)
Kontrolní produkty placené dopravy (např. Cemio Protein šampon) musí dál mít
98 / 89 Kč — ať se omylem neznulovalo všechno.
4 Doplňkové optimalizace
4.1 — Levnější doprava (výdejní místa) patří na úroveň účtu, ne do feedu
Google u inzerátu zobrazuje nejlevnější dopravu, ale doručení na výdejní místa
(PPL ParcelShop, Balíkovna-výdejna za 55 Kč) se podle Google zadává jen na úrovni účtu
v Merchant Center, ne do feedu. Feed shipping je pro doručení na adresu.
Ve feedu správně zůstávají PPL + Balíkovna na adresu (obojí na adresu) — neměnit.
Chceš-li, aby Google ukazoval i levnější 55 Kč → nastav výdejní místa v
Merchant Center → Doprava (úroveň účtu). Google pak sám zobrazí nejnižší sazbu.
4.2 — Mezera v dostupnosti
Mergado převádí in stock → in_stock, ale přidává mezeru na začátek
( in_stock). Doplnit pravidlo na ořez mezer (trim) u elementu
availability.
4.3 — Deprecated atribut
Element adwords_labels je zastaralý a Google ho ignoruje — k odstranění
(pravidlo „Smazat element").
5 Jak to pak funguje automaticky
Po opravě je celý řetězec plně automatický — klient řeší dopravu jen na e-shopu,
feed i Google se aktualizují sami:
WooCommerce → nastaví dopravu zdarma na produkt
↓ vstupní feed dostane 0 CZK (už funguje) Mergado → 0 Kč zachová (← tady je oprava)
↓ Karsa → posílá feed do GMC (už funguje)
↓ Google Nákupy → doprava zdarma u inzerátu ✓
Jediná podmínka: doprava zdarma musí být na e-shopu nastavená tak, aby se promítla
do feedu jako vlastnost produktu (cena dopravy 0 Kč) — což u těchto 5 produktů
již funguje. Cart-pravidlo „produkt v košíku odemkne dopravu celé objednávce"
Google nikdy neuvidí; relevantní je vždy cena dopravy u konkrétního produktu.