
Michal Pintér
Senior Performance Manager
OpenAI Ads postupně rozšiřuje možnosti práce s produktovými katalogy. E-shopy díky tomu nemusí vytvářet samostatnou reklamu pro každý produkt a mohou do Ads Manageru připojit produktový feed podobně, jako jsme zvyklí například z Google Ads.
V čem vzniká největší nejasnost? Ads Manager nabízí hostovanou URL a dokumentace hovoří o Google-compatible feedu. Ani jedno ale neznamená, že lze bez úprav použít klasický Google XML feed. Stávající data využít můžeme, výsledným souborem však musí být podporovaný CSV, TXT nebo TSV export.
Produktové kampaně v OpenAI Ads
Produktový feed představuje průběžně aktualizovaný katalog obsahující názvy, popisy, ceny, dostupnost, obrázky, cílové URL a další vlastnosti produktů. Feed se propojí s kampaní a OpenAI může při zobrazení reklamy vybrat vhodnou položku z příslušné produktové sady.
Produktové sady zároveň umožňují sortiment filtrovat. Reklamní šablona následně doplní informace o vybraném produktu přímo z feedu. Pro e-shopy s větším nebo často se měnícím katalogem jde o výrazně praktičtější řešení než ruční tvorba samostatných reklam.
Feed typicky obsahuje
- názvy a popisy produktů,
- běžné a akční ceny,
- aktuální skladovou dostupnost,
- produktové fotografie a cílové stránky,
- značky, kategorie, varianty a produktové identifikátory,
- vlastní údaje pro segmentaci produktů v kampaních.
Zatím pouze pro reklamy. Produkty nahrané prostřednictvím feedu v současné betaverzi slouží pro produktové reklamy. Samotné nahrání feedu neznamená, že se produkty automaticky začnou zobrazovat v organických odpovědích ChatGPT.
Proč nestačí Google XML feed
Největší nedorozumění vzniká kolem označení Google-compatible product data feed. To neznamená podporu každého formátu, který lze použít v Google Merchant Center. Jde především o kompatibilitu názvů a významu vybraných produktových atributů.
Typický Google XML feed může obsahovat například:
<item>
<g:id>123456</g:id>
<g:title>Pánské běžecké boty</g:title>
<g:description>Lehké boty pro každodenní trénink</g:description>
<g:price>2499 CZK</g:price>
</item>Takový soubor aktuálně nelze použít přímo. XML a atributy s prefixem g: nejsou součástí Google-compatible importu OpenAI.
Google formát ano, ale jako CSV
OpenAI podporuje oddělené textové formáty: CSV, tabulátorem oddělené TXT nebo TSV a jejich podporované gzip varianty. Stejná data proto mohou vypadat například takto:
id,title,description,price
123456,Pánské běžecké boty,Lehké boty pro každodenní trénink,2499 CZKHostovaná URL neznamená XML
Možnost Hostovaná adresa URL určuje způsob doručení dat, nikoliv jejich formát. CSV feed může být dostupný například na adrese:
https://www.domena.cz/feeds/openai-products.csvE-shop nebo feedový nástroj soubor pravidelně přegeneruje, zatímco URL zůstane stále stejná. Z provozního hlediska jde tedy o stejný princip jako u XML feedu pro Google Merchant Center.
| Systém | Příklad výstupu |
|---|---|
| Google Merchant Center | https://www.domena.cz/feeds/google.xml |
| OpenAI Ads | https://www.domena.cz/feeds/openai-products.csv |
Možnosti importu v Ads Manageru
| Způsob | Kdy jej použít |
|---|---|
| Ruční CSV / TXT | První test, menší vzorek nebo občasná ruční aktualizace. |
| Hostovaná HTTPS URL | Doporučená varianta pro standardní e-shop a průběžnou automatizaci. |
| SFTP | Pokročilejší serverová integrace a rozsáhlé katalogy. |
Jak využít stávající Google feed
Pokud už má e-shop kvalitní XML feed pro Google Merchant Center, není potřeba produktová data budovat znovu. Lze vytvořit samostatný OpenAI export přímo ze stejné databáze, použít feedový nástroj nebo existující XML převést do podporovaného CSV.
Moje doporučení. Nejčistší je generovat Google XML a OpenAI CSV ze stejného datového zdroje. Vyhneme se řetězení exportů a ceny, skladovost i ostatní informace se stále spravují na jednom místě.
Jaká pole musí feed obsahovat
Pro Google-compatible variantu musí každý produkt nebo varianta obsahovat osm základních polí. U reklamního feedu doporučuji navíc výslovně přidat is_ads_eligible=true.
| Pole | Význam | Příklad |
|---|---|---|
id | Unikátní a stabilní ID produktu nebo varianty. | 123456 |
title | Název produktu. | Pánské běžecké boty |
description | Čistý textový popis. | Lehké boty pro každodenní trénink |
link | URL produktové stránky. | https://domena.cz/produkt/... |
image_link | Přímá URL hlavního obrázku. | https://domena.cz/img/123.jpg |
availability | Aktuální dostupnost. | in_stock |
price | Cena včetně ISO kódu měny. | 2499 CZK |
brand | Značka nebo výrobce. | Nike |
is_ads_eligible | Způsobilost pro reklamní zpracování. | true |
Ads Manager u feedů vytvořených přímo v jeho rozhraní nastavuje produkty jako způsobilé pro reklamy standardně, pokud nejsou označené jinak. Explicitní doplnění hodnoty true ale odpovídá technické specifikaci a omezuje prostor pro nejasnosti. Používá se is_ads_eligible, nikoliv is_ads_enabled.
Doporučená doplňková data
Povinné minimum bych nepovažoval za ideální cílový stav. Pokud má e-shop další kvalitní data, doporučuji převzít také:
sale_pricepro akční cenu,gtinampnpro produktové identifikátory,product_typeagoogle_product_categorypro kategorizaci,item_group_ida variantní vlastnosti, jako jsou barva nebo velikost,additional_image_linkpro další fotografie,custom_label_0ažcustom_label_4a případněads_metadatapro vlastní segmentaci.
Feed není jen technický export
Vlastní štítky a reklamní metadata jsou důležité hlavně z pohledu budoucí struktury kampaní. Do feedu lze předem doplnit například maržovost, cenovou kategorii, sezónnost, výkonnostní skupinu, skladovou prioritu nebo produktovou řadu.
Segmentaci připravit včas. Stejně jako u kampaní Performance Max se vyplatí vnímat feed nejen jako technický soubor, ale jako základ budoucí kampaně. Kvalitní segmentace nám později usnadní filtrování produktů a práci s rozpočty i prioritami.
Na co si dát při přípravě pozor
- soubor je v kódování UTF-8,
- první řádek obsahuje názvy sloupců,
- jeden produkt nebo varianta představuje jeden řádek,
- názvy atributů jsou malými písmeny a používají podtržítka, například
image_link, - nepoužívají se XML prefixy typu
g:title, - hodnoty obsahující čárky nebo uvozovky jsou správně CSV escapované,
- produktové a obrázkové URL jsou platné a dlouhodobě dostupné.
Ceny
Cena se zapisuje jako částka, mezera a třípísmenný ISO kód měny:
2499 CZK
49.90 EURNevhodné jsou zápisy typu 2499 Kč, CZK 2499 nebo 2499,-. Akční cena musí být ve stejné měně a nižší než běžná cena.
Dostupnost
U Google-compatible feedu se používají hodnoty:
in_stock out_of_stock preorder backorderU stavů preorder a backorder je potřeba doplnit také availability_date.
Identifikátory
Pokud produkt má EAN nebo GTIN, měl by být ve feedu vždy uveden. Jestliže se identifier_exists vynechá nebo obsahuje hodnotu yes, OpenAI očekává platný GTIN nebo MPN. Hodnota no patří pouze k produktům, které standardní identifikátor skutečně nemají.
Varianty, obrázky a CSV syntaxe
Varianty produktů
Každá varianta musí mít vlastní řádek a unikátní ID. Jednotlivé varianty stejného produktu lze spojit pomocí item_group_id.
id,item_group_id,title,color,size
TSHIRT-BLK-M,TSHIRT-BLK,Tričko Example,Black,M
TSHIRT-BLK-L,TSHIRT-BLK,Tričko Example,Black,L
TSHIRT-BLK-XL,TSHIRT-BLK,Tričko Example,Black,XLID musí zůstávat dlouhodobě stabilní. Pokud generátor při každém běhu vytvoří nová ID, systém bude položky považovat za nové produkty a naruší se kontinuita dat.
Obrázky a cílové stránky
Pole image_link obsahuje přímou URL hlavního produktového obrázku, nikoliv adresu produktové stránky. Obrázek i hodnota link musí být dostupné bez přihlášení. Pro produkční provoz doporučuji výhradně HTTPS a URL bez dočasných přístupových tokenů.
Správné escapování CSV
Textové hodnoty mohou obsahovat čárky, uvozovky nebo zalomení řádku. Generátor proto musí používat standardní CSV escapování. Hodnotu obsahující čárku uzavřeme do uvozovek a uvozovku uvnitř hodnoty zdvojíme.
id,title,description,price
123456,"Bunda, pánská","Lehká bunda s označením ""Urban"".",2499 CZKProdukční feed neupravovat ručně. Soubor by měl vytvářet standardní CSV knihovna nebo exportní funkce použitého systému. Ruční skládání řádků vede typicky k chybám u čárek, uvozovek, diakritiky a zalomení textu.
Ukázka základního produktového řádku
id,title,description,link,image_link,availability,price,brand,is_ads_eligible
123456,"Pánské boty Nike Air Zoom","Lehké boty pro trénink",
https://domena.cz/nike-air-zoom,https://domena.cz/img/nike-air-zoom.jpg,
in_stock,2499 CZK,Nike,trueUkázka je kvůli šířce stránky zalomená. Ve skutečném CSV je jeden produkt na jednom datovém řádku.
Aktualizace a kontrola feedu
OpenAI doporučuje publikovat plný produktový snapshot alespoň jednou denně. U e-shopů, kde se často mění ceny nebo skladová dostupnost, dává smysl aktualizovat feed několikrát denně.
Soubor by měl mít stále stejný název a stejnou URL. Při aktualizaci se pouze nahradí jeho obsah aktuální verzí katalogu. Ideálně se nejprve kompletně vytvoří nový soubor a až následně nahradí produkční verzi, aby OpenAI nestáhlo neúplný export.
Produkty bez aktualizace expirují. OpenAI uvádí, že položky ve feedu expirují po dvou týdnech. Jednorázové ruční nahrání proto není vhodné jako dlouhodobé řešení. Pro produkční provoz je bezpečnější stabilní HTTPS URL nebo automatizované SFTP.
Co průběžně monitorovat
- úspěšnost vytvoření a publikace souboru,
- datum a čas poslední aktualizace,
- HTTP dostupnost hostované URL,
- velikost feedu a počet exportovaných položek,
- výrazné nebo neočekávané změny počtu produktů,
- chyby a odmítnuté řádky v Upload History Ads Manageru.
Samotný fakt, že se soubor podařilo stáhnout, ještě neznamená, že byly přijaty všechny produkty. OpenAI může odmítnout jednotlivé řádky kvůli chybějícím polím, chybným hodnotám nebo nesprávné CSV syntaxi.
Nejdříve testovací feed
Před rozsáhlejší implementací bych nezačínal nahráním celého sortimentu. Oficiální dokumentace doporučuje menší vzorek okolo 100 položek. Za rozumný první test považuji přibližně 20 až 100 produktů podle složitosti katalogu.
Testovací vzorek by měl obsahovat:
- běžný produkt skladem,
- produkt v akci,
- produkt s několika variantami,
- vyprodanou položku a produkt v předobjednávce,
- produkt bez standardního identifikátoru,
- zástupce různých cenových a produktových kategorií.
Po nahrání je potřeba zkontrolovat historii zpracování, počet přijatých produktů a konkrétní validační chyby. Teprve po čisté validaci testovacího vzorku bych spustil plný automatizovaný katalog.
Co z toho plyne pro e-shopy
Pro většinu e-shopů nepředstavuje produktový feed pro OpenAI Ads nutnost budovat nový datový systém. Pokud má e-shop kvalitní Google Merchant feed, má už obvykle připravenou většinu potřebných informací.
Technická práce spočívá hlavně v těchto krocích:
- vytvořit samostatný CSV export,
- zkontrolovat podporované atributy a formáty hodnot,
- doplnit reklamní způsobilost a smysluplnou segmentaci,
- publikovat feed na stabilní HTTPS URL,
- nastavit pravidelnou aktualizaci a kontrolu chyb.
Důležitá je i marketingová příprava. Struktura feedu ovlivňuje, jak přesně půjde sortiment rozdělit mezi kampaně a reklamní sestavy. Vlastní štítky, maržovost, sezónnost nebo produktová priorita proto nejsou pouze technický detail.
Závěr
OpenAI Ads podporuje produktové feedy a umí pracovat s řadou atributů známých z Google Merchant Center. Označení Google-compatible ale neznamená přímou podporu klasického Google XML feedu.
Doporučeným řešením je samostatný CSV feed:
- vycházející ze stejných dat jako Google XML,
- dostupný na stabilní HTTPS URL,
- automaticky aktualizovaný alespoň jednou denně,
- obsahující stabilní produktová ID,
- doplněný o kvalitní identifikátory, varianty a segmentační údaje.
Nejdříve bych vždy připravil menší testovací feed, ověřil jeho zpracování v konkrétním Ads účtu a až poté spouštěl celý katalog. OpenAI Ads se stále vyvíjí a některé části technické dokumentace se mohou od možností aktuálního rozhraní lišit. Praktické testovací nahrání je proto důležitou součástí implementace.
Použité zdroje

Senior Performance Manager
Michal Pintér
Jsem Michal, PPC specialista, pro přátele tzv. Míša „pépécéčkar". Díky mně budou vaše reklamy doladěné do posledního detailu tak, že si už nikdy nebudete muset googlit význam zkratky PPC.
