Inför lanseringen av ChatGPT Ads i Sverige med start idag 24 augusti 2026 går vi igenom OpenAIs produktfeed-specifikation för att integrera produktdata i ChatGPT. Det finns två olika feed-typer: en för Ads (annonser i ChatGPT) och en för icke-Ads Commerce (organisk produktsynlighet). De har olika krav och skiljer sig på viktiga punkter, både sinsemellan och jämfört med Google Ads. Den här artikeln går igenom båda specifikationerna och jämför dem med Googles produktfeed.

Det är specifikationen som avgör hur dina produkter visas, indexeras och matchas i ChatGPT. För e-handlare som redan arbetar med Google Merchant Center och Google Ads produktfeeds kommer mycket att kännas igen, men det finns avgörande skillnader. Den här artikeln går igenom samtliga fält i OpenAIs specifikation och jämför dem med Googles produktfeed-krav.
Vilka olika produktfeeder finns till ChatGPT?
Det första en e-handlare behöver förstå är att OpenAI har två separata specifikationer av produktfeeder till ChatGPT:
- Ads-feeden (för ChatGPT Ads) bygger på ett Google-kompatibelt format. E-handlare som redan har en Google Shopping-feed kan i stora drag återanvända den. Feeden har 8 obligatoriska kärnfält och kräver att is_ads_eligible sätts till true för varje produkt som ska annonseras.
- Agentic Commerce-feeden (för organisk synlighet i ChatGPT) använder ett eget JSON-baserat schema med en hierarkisk produkt/variant-struktur. Den har 56 fält totalt varav 27 är obligatoriska, men de obligatoriska fälten är framför allt strukturella (header-metadata och ID:n). Pris, bilder och tillgänglighet är valfria.
Det här innebär att om ditt mål är att annonsera i ChatGPT är tröskeln relativt låg om du redan har en Google-feed. Om ditt mål är organisk produktsynlighet i ChatGPT behöver du bygga en separat feed i OpenAIs eget format.
ChatGPT Ads-produktfeeden
ChatGPT Ads-produktfeeden bygger på ett Google Shopping Ads-kompatibelt format som ska göra det enkelt för Google Shopping annonsörer att komma igång i ChatGPT Ads.
Hur ser filformaten ut för produktfeeden och hur fungerar uppladdning till ChatGPT Ads?
OpenAI accepterar följande filformat för ChatGPT Ads-produktfeeden:
- UTF-8-kodade tabbseparerade .txt- eller .tsv-filer
- Kommaseparerade .csv-filer
- Gzip-komprimerade versioner (.txt.gz, .tsv.gz, .csv.gz)
JSON, XML, RSS och Atom stöds inte där XML eller API är väldigt vanlig hos många e-handlare som inte har direkt stöd. Filen ska ha en header-rad med gemener och understreck (image_link, inte image link). Varje rad representerar en produkt eller variant.
Uppladdning sker via SFTP till den adress som anges i ChatGPT Ads Managers Feeds-sektion. Det finns inga publika API-endpoints för att skapa feed-anslutningar eller ladda upp kataloger. Efter initial uppladdning kan löpande uppdateringar göras via Delta Feeds API (PATCH /feeds/{feed_id}/products) för att uppdatera tillgänglighet eller titlar utan att ladda upp hela katalogen på nytt.
Google Merchant Center stödjer fler format, inklusive XML som är ett vanligt format för många e-handlare, Google Sheets och API. OpenAIs SFTP-modell är mer begränsad men bekant för de flesta e-handlare. Delta-feed-funktionen liknar Googles Merchant API för Shopping.
Obligatoriska fält för ChatGPT Ads
Varje rad i ChatGPT Ads-feeden måste innehålla dessa 8 fält:
| Fält | Beskrivning | Krav |
|---|---|---|
| id | Produktidentifierare | Stabilt över tid, max 100 tecken |
| title | Produktnamn | Ren text, max 150 tecken |
| description | Produktbeskrivning | Ren text, max 5 000 tecken |
| link | Produkt-URL | Giltig HTTP/HTTPS |
| image_link | Huvudbild-URL | Giltig HTTP/HTTPS, JPEG/PNG rekommenderas |
| availability | Lagerstatus | in_stock, out_of_stock, preorder, backorder |
| price | Pris med valutakod | Belopp följt av trebokstavs valutakod |
| brand | Varumärke | Tillverkarens namn |
Utöver detta krävs is_ads_eligible satt till true som är helt specifikt för ChatGPT.
Dessa 8 fält matchar i stort sett Googles obligatoriska grundfält. Google kräver samma kärnfält: id, title, description, link, image_link, availability och price. Google kräver brand för nya produkter men inte för alla kategorier. Den praktiska konsekvensen: en e-handlare som redan har en fungerande Google Shopping-feed behöver i princip bara lägga till is_ads_eligible: true och kan sedan ladda upp den till OpenAI.
Google Ads-kompatibel mappning av fält
OpenAI mappar automatiskt Google Ads-fält till sitt eget schema. Här är hur fälten översätts:
| Google-fält | OpenAI-fält | Kommentar |
|---|---|---|
| id | item_id | Stabil produkt/variant-ID |
| title | title | Ren text, max 150 tecken |
| brand | brand | Varumärkesnamn |
| seller_name | seller_name | Ersätts med registrerat handlarnamn |
| link | url, seller_url | Kopieras till url; seller_url härleds från scheme/authority |
| image_link | image_url | Huvudbild |
| additional_image_link | additional_image_urls | Kommaseparerade; felaktiga valfria URL:er utelämnas |
| availability | availability | preorder mappas till pre_order |
| price | price | Med valutakod |
| sale_price | sale_price | Positivt, samma valuta, lägre än ordinarie pris |
| gtin | gtin | Mellanslag och bindestreck tas bort |
| condition | condition | Normaliserade värden |
| product_type / google_product_category | product_category | Använder första icke-tomma product_type |
| item_group_id | group_id, listing_has_variations | Grupperar varianter |
| video_link | video_url | Giltig HTTP/HTTPS |
| virtual_model_link | model_3d_url | Giltig HTTP/HTTPS |
Mappningen visar att OpenAI aktivt har byggt för Google-kompatibilitet. De flesta fält översätts rakt av. Några nyanser: OpenAI normaliserar ”preorder” till ”pre_order”, tar bort bindestreck och mellanslag från GTIN, och prioriterar product_type framför google_product_category för kategorisering. En viktig detalj: seller_name som laddas upp i feeden ignoreras och ersätts med det handlarnamn som registrerats i Ads Manager.
Vilka fält styr synlighet i OpenAI?
OpenAI har tre fält som styr produktens synlighet:
| Fält | Beskrivning | Krävs |
|---|---|---|
| is_eligible_search | Styr om produkten syns i sökresultat | Ja |
| is_eligible_checkout | Möjliggör direktköp i ChatGPT, kräver is_eligible_search=true | Ja |
| is_ads_eligible | Styr om produkten behandlas för annonser | Ja för Ads-feeds, valfritt för icke-Ads |
Google har destination-attribut som styr var produkter visas (Shopping ads, Free listings, Local inventory ads) men har ingen motsvarighet till is_eligible_checkout i produktfeedspecifikationen då Universal Commerce Protocol ligger aningen separat till grundfeeden.
Vad krävs för att ChatGPT ska visa annonsen från feeden?
OpenAI poängterar att det inte räcker att ladda upp en feed med is_ads_eligible: true. Produkter måste uppfylla flera villkor samtidigt:
- Markerade som Ads-berättigade i feeden
- Tillgängliga i lager
- Innehålla användbar produktdata
- Klara feedbearbetning och granskning
- Finnas inom en aktiv, kampanj, annonsgrupp och annons
Det finns alltså flera lager för att produkten ska bli godkänd att annonsera precis som i Googles ekosystem.
Regler och begränsningar för ChatGPT Ads-feeden
- Validering sker rad för rad. En felaktig produkt avvisas utan att påverka övriga rader.
- Saknade obligatoriska kolumner rapporteras i Upload History.
- URL:er med användarnamn eller lösenord avvisar raden.
- Pris måste matcha feedens konfigurerade valuta och målland.
- Handlarnamnet måste innehålla minst ett tecken som inte är blanksteg och får inte vara platshållare som ”unknown”, ”null” eller ”n/a”.
- sale_price måste vara positivt, använda samma valuta som price och vara lägre.
- GTIN ska vara 8-14 siffror utan bindestreck eller mellanslag.
- availability_date krävs om status är preorder eller backorder.
Hur väljer OpenAI parser av produktfeeden?
OpenAI väljer automatiskt rätt parser genom att:
- Sampla rader och testa mot OpenAIs eget schema först
- Om det inte matchar, testa Google-kompatibelt format
- Google-formatet väljs bara om det accepterar minst en rad från varje fil
- Vald parser gäller för alla filer och rader utan att byta mitt i
Om inget format matchar faller systemet tillbaka på standardparsern och rapporterar valideringsfel.
Agentic Commerce-feeden (organisk synlighet)
Agentic Commerce-feeden är OpenAIs eget JSON-baserade schema för icke-Ads produktvisning i ChatGPT som alltså är separat från ads-feeden i dagsläget. Den har en hierarkisk struktur med 56 fält totalt varav 27 är obligatoriska.
Header: feedmetadata
| Fält | Obligatoriskt | Typ | Beskrivning | Exempel |
|---|---|---|---|---|
| feed_id | Ja | string | Identifierare för feeden | feed_8f3K2x |
| account_id | Ja | string | Identifierare för kontot | acct_7F3K2x |
| target_merchant | Ja | string | Identifierare för målhandlaren | merch_123 |
| target_country | Ja | string | Tvåbokstavs landskod | US |
Google har ingen motsvarande header-struktur i produktfeeden. Konto- och landsuppgifter hanteras på kontonivå i Merchant Center. OpenAIs header gör feeden självbeskrivande.
Product: produktobjektet
| Fält | Obligatoriskt | Typ | Beskrivning | Exempel |
|---|---|---|---|---|
| id | Ja | string | Stabil global identifierare | SKU12345 |
| title | Nej | string | Produkttitel | Trail Running Shoe |
| description | Nej | Description | Produktbeskrivning | { ”plain”: ”Waterproof trail shoe.” } |
| url | Nej | string (uri) | Kanonisk produkt-URL | https://example.com/products/SKU12345 |
| media | Nej | Media[] | Produktbilder och video | [{ ”type”: ”image”, ”url”: ”…” }] |
| variants | Ja | Variant[] | Varianter kopplade till produkten | [{ ”id”: ”SKU12345-BLK-10” }] |
I Commerce-feeden är title, description, url och media alla valfria. I Ads-feeden och Google Ads är de obligatoriska. Commerce-feeden förlitar sig på att informationen kan ligga på variantnivå istället.
Variant: den köpbara enheten
I Commerce-feeden är varianten den köpbara enheten, inte produkten. Varianter är inbäddade i produktobjektet som en array.
| Fält | Obligatoriskt | Typ | Beskrivning | Exempel |
|---|---|---|---|---|
| id | Ja | string | Stabil global identifierare | SKU12345-BLK-10 |
| title | Ja | string | Varianttitel | Black / 10 |
| description | Nej | Description | Variantbeskrivning | { ”plain”: ”Black colorway in size 10.” } |
| url | Nej | string (uri) | Variant-URL | https://example.com/products/SKU12345-BLK-10 |
| barcodes | Nej | Barcode[] | Streckkoder | [{ ”type”: ”gtin”, ”value”: ”1234567890123” }] |
| price | Nej | Price | Aktivt försäljningspris | { ”amount”: 7999, ”currency”: ”USD” } |
| list_price | Nej | Price | Referenspris före rabatt | { ”amount”: 9999, ”currency”: ”USD” } |
| unit_price | Nej | UnitPrice | Enhetsprismetadata | { ”amount”: 499, ”currency”: ”USD”, ”measure”: {…} } |
| availability | Nej | Availability | Tillgänglighetsstatus | { ”available”: true, ”status”: ”in_stock” } |
| categories | Nej | Category[] | Kategorier | [{ ”value”: ”Apparel & Accessories > Shoes” }] |
| condition | Nej | Condition | Skick | [”new”] |
| variant_options | Nej | VariantOption[] | Variantalternativ | [{ ”name”: ”color”, ”value”: ”Black” }] |
| media | Nej | Media[] | Variantbilder, första är primär | [{ ”type”: ”image”, ”url”: ”…” }] |
| seller | Nej | Seller | Säljarmetadata | { ”name”: ”Example Store” } |
Viktiga skillander mellan feed-typerna att ha i åtanke
En viktig teknisk skillnad mellan de två feed-typerna:
- Ads-feeden: Pris anges som decimaltal med valutakod (79.99 USD), samma format som Google.
- Commerce-feeden: Pris anges i minor units som ett heltal (7999) med separat valutakod, samma modell som Stripe och andra betalnings-API:er.
E-handlare som bygger feeds för båda kanalerna måste hantera denna skillnad i sin feed-generering.
Description: tre format i Commerce, ren text i Ads
Commerce-feeden stödjer tre format: plain text, HTML och Markdown. Ads-feeden och Google stödjer bara ren text. OpenAIs stöd för Markdown i Commerce-feeden är logiskt med tanke på att ChatGPT renderar Markdown nativt.
Övriga Commerce-specifika objekt
Commerce-feeden innehåller flera objekt som saknas i Ads-feeden:
- UnitPrice med Measure och ReferenceMeasure för enhetsprissättning
- Media med alt_text, width och height
- Category med stöd för flera taxonomier (google_product_category, shopify, merchant)
- Seller med name och policy-länkar (privacy_policy, terms_of_service, refund_policy, shipping_policy, faq)
- VariantOption med generiska name/value-par för dimensioner som färg och storlek
Vilka likheter och hur skiljer sig ChatGPT Ads, Agentic Commerce och Google Ads feeder?
ChatGPT Ads har byggt en logik som liknar Google Ads väldigt mycket för annonseringen så Agentic Commerce är den som skiljer sig mest för det organiska.
Vad alla tre har gemensamt
| Funktion | Google Ads | OpenAI Ads | OpenAI Commerce |
|---|---|---|---|
| Produkt-ID | Ja (obligatoriskt) | Ja (obligatoriskt) | Ja (obligatoriskt) |
| Titel | Ja (obligatoriskt) | Ja (obligatoriskt) | Nej (valfritt) |
| Beskrivning | Ja (obligatoriskt) | Ja (obligatoriskt) | Nej (valfritt) |
| Produkt-URL | Ja (obligatoriskt) | Ja (obligatoriskt) | Nej (valfritt) |
| Huvudbild | Ja (obligatoriskt) | Ja (obligatoriskt) | Nej (valfritt) |
| Pris | Ja (obligatoriskt, decimal) | Ja (obligatoriskt, decimal) | Nej (valfritt, minor units) |
| Tillgänglighet | Ja (obligatoriskt) | Ja (obligatoriskt) | Nej (valfritt) |
| Varumärke | Ja (obligatoriskt för alla som har varumärke) | Ja (obligatoriskt) | Nej (saknas) |
Vad Google har som OpenAI saknar (i båda feed-typer)?
- Kläder och mode: age_group, gender, size_type, size_system
- Kampanjpriser med datumintervall: sale_price_effective_date
- Frakt: shipping med pris, land, region och leveranstid
- Avancerad prissättning: installment, subscription_cost, loyalty_program
- Energimärkning: certification, energy_efficiency_class (obligatoriskt i EU/EFTA/UK sedan april 2025)
- Multipack och bundle: multipack, is_bundle
- Produkthöjdpunkter: product_highlight (2-100 stycken, max 150 tecken var)
- Frågor och svar: question_and_answer (upp till 30 par)
- Relaterade produkter: related_product med relationstyper
- Fysiska mått: product_length, product_width, product_height, product_weight
- Populäritet: popularity_rank
- Dokumentlänkar: document_link
- Vuxeninnehåll: adult
- 3D-modeller: virtual_model_link med detaljerade krav
Vad OpenAI har som Google saknar?
- is_eligible_checkout: Separat fält för att styra om direktköp i ChatGPT är aktiverat
- Seller-objekt per variant (Commerce): Säljarmetadata och policy-länkar direkt på variantnivå
- Markdown-beskrivningar (Commerce): Stöd för Markdown utöver ren text
- Alt-text för media (Commerce): Explicit fält för alternativtext på bilder
- Flexibel taxonomi (Commerce): Stöd för google_product_category, shopify och merchant i samma feed
- Header-metadata (Commerce): feed_id, account_id, target_merchant som explicita fält
Hur behöver du anpassa feeder för ChatGPT?
Det krävs anpassningar men mindre anpassningar för ads än organiskt.
Om du vill annonsera i ChatGPT (Ads):
- Har du en fungerande Google Shopping-feed? Bra. Lägg till is_ads_eligible: true på varje rad och ladda upp via SFTP till Ads Manager. OpenAI mappar automatiskt Google-fälten.
- Se till att prisvalutan matchar feedens konfigurerade målland.
- Var noga med fältnamnet: is_ads_eligible, inte is_ads_enabled.
- Feeden allena räcker inte. Du behöver också en aktiv kampanj, annonsgrupp och annons med budget.
Om du vill synas organiskt i ChatGPT (Commerce):
- Du behöver bygga en separat feed i OpenAIs JSON-schema. Din Google-feed fungerar inte rakt av.
- Tröskeln är låg. Tekniskt krävs bara id och variants med variant-id och variant-title. Allt annat är valfritt.
- I praktiken bör du inkludera pris, bilder, tillgänglighet och beskrivning. Utan dessa har ChatGPT lite att visa för användaren.
- Seller-objektet med policy-länkar ökar trovärdigheten.
- Shopify-handlare har en fördel: OpenAI stödjer Shopifys taxonomi direkt.
Om du bygger feeds för båda:
- Hantera prisskillnaden: decimaltal med valutakod i Ads-feeden, heltal i minor units i Commerce-feeden.
- Hantera strukturskillnaden: platt format (en rad per variant) i Ads, hierarkisk JSON (produkt med variant-array) i Commerce.
- Titel, beskrivning, URL och bilder är obligatoriska i Ads men valfria i Commerce.
- Brand är obligatoriskt i Ads men saknas helt som fält i Commerce.
OpenAIs specifikationer kommer sannolikt att utvecklas. Fält som saknas jämfört med Google, som fraktinformation, klädattribut och energimärkning, är rimliga kandidater för framtida uppdateringar. E-handlare som förbereder sig nu gör klokt i att bygga sina produktflöden så att de enkelt kan utökas.


