ACP für internationale Händler: geo_price und geo_availability richtig nutzen
Als internationaler Händler stehen Sie vor der Herausforderung, Ihre Produkte in verschiedenen Ländern mit unterschiedlichen Preisen, Verfügbarkeiten und rechtlichen Rahmenbedingungen anzubieten. Mit dem Agentic Commerce Protocol (ACP) von OpenAI können Sie Ihren Katalog strukturiert in ChatGPT integrieren und so von der wachsenden Nutzung der KI-Suche profitieren. Besonders die Felder geo_price und geo_availability ermöglichen es Ihnen, länderspezifische Preise und Lagerbestände präzise zu kommunizieren. In diesem Artikel erfahren Sie, wie Sie diese Felder effektiv nutzen, um als Schweizer Händler die Märkte Deutschland, Österreich und die Schweiz optimal zu bedienen.
1. Was ist das Agentic Commerce Protocol (ACP)?
1.1 Definition und Zielsetzung
Das Agentic Commerce Protocol (ACP) ist ein von OpenAI entwickeltes Framework, das Händlern erlaubt, ihre Produktdaten in einem standardisierten Format bereitzustellen. Diese Daten werden von ChatGPT indexiert und können in der KI-Suche angezeigt werden. Ziel ist es, Nutzern präzise Produktinformationen, aktuelle Preise und Verfügbarkeiten direkt im Chatverlauf zu liefern – und Händlern eine neue Vertriebschance zu eröffnen.
1.2 Die vier Schritte des ACP
Die Integration läuft in vier klar definierten Schritten ab:
- Feed-Vorbereitung: Ihr Produktkatalog wird gemäß der ACP-Spezifikation formatiert (z. B. als JSONL- oder CSV-Datei).
- Feed-Übermittlung: Die Datei wird über einen sicheren HTTPS-Endpunkt an OpenAI übertragen.
- Indexierung: OpenAI validiert die Daten und nimmt sie in den Suchindex auf.
- Aktualisierung: Regelmäßige Updates (bis zu alle 15 Minuten) halten Preise und Verfügbarkeit aktuell.
1.3 Steuerungsflags: enable_search und enable_checkout
Zwei wichtige Flags bestimmen, wie Ihre Produkte in ChatGPT erscheinen:
- enable_search: Wenn aktiviert, werden Ihre Produkte in den Suchergebnissen von ChatGPT angezeigt.
- enable_checkout: Ermöglicht den direkten Kauf im ChatGPT-Interface (sofern unterstützt).
Beide Flags können Sie bei der Feed-Übermittlung setzen.
2. Pflicht- und empfohlene Felder im ACP-Feed
Bevor wir uns den Geo-Targeting-Feldern widmen, ist es wichtig, die grundlegende Struktur eines ACP-Feeds zu verstehen. Jedes Produkt muss eine Reihe von Pflichtfeldern enthalten, während weitere Felder die Sichtbarkeit und das Ranking verbessern.
2.1 Pflichtfelder (Übersicht)
| Feldname | Beschreibung | Format / Einschränkung |
|---|---|---|
| id | Eindeutige Produkt-ID (innerhalb Ihres Shops) | max. 100 Zeichen |
| title | Produktname | max. 150 Zeichen |
| description | Volltextbeschreibung | max. 5.000 Zeichen |
| link | URL der Produktdetailseite | muss HTTP 200 liefern |
| image_link | URL des Hauptbildes (JPEG oder PNG) | – |
| price | Standardpreis inkl. Währung | z. B. „99.99 EUR“ (ISO 4217) |
| availability | Verfügbarkeit | „in_stock“, „out_of_stock“ oder „preorder“ |
| inventory_quantity | Lagerbestand (ganze Zahl) | – |
| brand | Markenname | max. 70 Zeichen |
| seller_name | Händlername | max. 70 Zeichen |
| return_policy | URL zur Rückgabebestimmung | – |
| return_window | Anzahl der Tage, innerhalb derer eine Rückgabe möglich ist | ganze Zahl |
2.2 Empfohlene Felder (Auszug)
Neben den Pflichtfeldern gibt es eine Reihe optionaler Felder, die die Auffindbarkeit und Attraktivität Ihrer Produkte erhöhen. Besonders relevant für internationale Händler sind:
- gtin: Globale Handelsnummer (8–14 Stellen)
- popularity_score: Beliebtheitswert auf einer Skala von 0–5
- product_review_count / product_rating: Anzahl und Durchschnitt der Bewertungen
- q_and_a: FAQ-Inhalte zum Produkt
- related_product_id: IDs verwandter Produkte
- item_group_id: Gruppierungskennung für Varianten (z. B. Größen, Farben)
- color, size, gender: Spezifikationen von Varianten
- geo_price: Regionsspezifische Preise (mehr dazu unten)
- geo_availability: Regionsspezifische Verfügbarkeit (mehr dazu unten)
3. Internationaler Handel mit ACP: Herausforderungen und Lösungen
Wenn Sie in mehreren Ländern aktiv sind, müssen Sie typischerweise folgende Punkte berücksichtigen:
- Unterschiedliche Preise aufgrund von Währung, Steuern, Marktbedingungen.
- Unterschiedliche Verfügbarkeit je nach Lagerstand in regionalen Lagern.
- Sprachliche Anpassung von Titel, Beschreibung und Produktseite.
- Rechtliche und steuerliche Vorgaben (z. B. Rückgabefristen, verbotene Produkte).
Das ACP bietet mit den Feldern geo_price und geo_availability eine elegante Möglichkeit, die ersten beiden Punkte direkt im Feed abzubilden. Für die sprachliche Lokalisierung können Sie entweder separate Feeds pro Sprache/Land erstellen oder innerhalb eines Feeds über die URL (link) und die Textelemente steuern. Rechtliche Aspekte lassen sich durch entsprechende Filter (z. B. geo_availability auf „out_of_stock“ für Länder, in denen das Produkt nicht angeboten werden darf) oder durch separate Feeds abbilden.
4. Geo-Targeting mit ACP: geo_price und geo_availability im Detail
4.1 Was sind geo_price und geo_availability?
- geo_price: Dieses Feld erlaubt es, für bestimmte Regionen (Länder) einen vom Standardpreis abweichenden Preis anzugeben. Jeder Eintrag besteht aus einer Region (ISO 3166-1 alpha-2 Ländercode) und einem Preisstring mit Währung.
- geo_availability: Hier können Sie pro Region angeben, ob das Produkt vorrätig, ausverkauft oder vorbestellbar ist. Dies überschreibt das globale availability-Feld für die jeweilige Region.
Beide Felder sind optional, werden aber dringend empfohlen, sobald Sie Ihre Produkte in mehreren Ländern anbieten.
4.2 Warum sind diese Felder wichtig?
Ohne regionale Angaben würde ChatGPT allen Nutzern den gleichen Preis und die gleiche Verfügbarkeit anzeigen – unabhängig davon, aus welchem Land sie stammen. Das führt zu Frustration, wenn der angezeigte Preis nicht der lokalen Währung entspricht oder das Produkt im betreffenden Land gar nicht lieferbar ist. Durch die Nutzung von geo_price und geo_availability stellen Sie sicher, dass jeder Nutzer korrekte, auf sein Land zugeschnittene Informationen erhält. Das erhöht die Conversion-Rate und vermeidet negative Nutzererfahrungen.
4.3 Struktur und Formatierung
Beide Felder werden als Array von Objekten im JSONL-Feed angegeben. Jedes Objekt enthält mindestens die Eigenschaft region und entweder price (bei geo_price) oder availability (bei geo_availability).
Beispiel für geo_price:
"geo_price": [
{"region": "DE", "price": "89.99 EUR"},
{"region": "AT", "price": "92.99 EUR"},
{"region": "CH", "price": "99.90 CHF"}
]
Beispiel für geo_availability:
"geo_availability": [
{"region": "DE", "availability": "in_stock"},
{"region": "AT", "availability": "out_of_stock"},
{"region": "CH", "availability": "in_stock"}
]
In CSV-Feeds werden diese Felder üblicherweise als JSON-Strings oder mehrspaltig dargestellt. Da JSONL jedoch das bevorzugte Format ist, konzentrieren wir uns darauf.
4.4 Verwendung der ISO-Codes
- Ländercodes: Verwenden Sie die zweistelligen ISO 3166-1 alpha-2 Codes. Für Deutschland = DE, Österreich = AT, Schweiz = CH. Eine Liste aller Codes finden Sie z. B. auf Wikipedia.
- Währungscodes: Im Preisstring muss die Währung gemäß ISO 4217 angegeben werden, z. B. EUR, CHF, USD. Der Preis sollte als Dezimalzahl mit Punkt als Trennzeichen formatiert sein, gefolgt von einem Leerzeichen und dem Währungscode.
4.5 Interaktion mit den globalen Feldern price und availability
Das globale Feld price dient als Fallback für Regionen, die nicht explizit in geo_price aufgeführt sind. Ebenso gilt availability für nicht spezifizierte Regionen. Es ist daher sinnvoll, im globalen Feld einen „Basispreis“ (z. B. in Ihrer Heimatwährung) und eine Basis-Verfügbarkeit anzugeben und dann die Abweichungen pro Land zu definieren.
5. Praxisbeispiel: Schweizer Händler bedient DE, AT und CH
Stellen Sie sich vor, Sie betreiben einen Online-Shop mit Sitz in der Schweiz. Sie verkaufen hochwertige Wanderschuhe und beliefern Kunden in Deutschland, Österreich und der Schweiz. Die Preise unterscheiden sich aufgrund von Währung, Steuern und Vertriebskosten:
- Schweiz: 199.00 CHF (inkl. MwSt.)
- Deutschland: 189.00 EUR
- Österreich: 194.00 EUR
Die Verfügbarkeit hängt von den Lagerbeständen ab: In Deutschland und der Schweiz sind die Schuhe vorrätig, in Österreich aktuell ausverkauft (aber in 2 Wochen wieder lieferbar).
5.1 Aufbau des Produktdatensatzes
Im ACP-Feed würden Sie für dieses Produkt folgende Angaben machen (in JSONL):
{
"id": "wanderschuh-123",
"title": "Premium Wanderschuh 'Alpine'",
"description": "Robuster Wanderschuh für anspruchsvolle Touren. Wasserdicht, atmungsaktiv, mit Vibram-Sohle.",
"link": "https://www.mein-shop.ch/de/produkt/wanderschuh-123",
"image_link": "https://www.mein-shop.ch/images/wanderschuh-123.jpg",
"price": "199.00 CHF",
"availability": "in_stock",
"inventory_quantity": 150,
"brand": "BergStolz",
"seller_name": "Mein Schweizer Outdoor Shop",
"return_policy": "https://www.mein-shop.ch/de/retouren",
"return_window": 30,
"geo_price": [
{"region": "DE", "price": "189.00 EUR"},
{"region": "AT", "price": "194.00 EUR"},
{"region": "CH", "price": "199.00 CHF"}
],
"geo_availability": [
{"region": "DE", "availability": "in_stock"},
{"region": "AT", "availability": "out_of_stock"},
{"region": "CH", "availability": "in_stock"}
],
"gtin": "123456789012",
"popularity_score": 4.5,
"product_rating": 4.8,
"product_review_count": 124
}
Erläuterungen:
- Der globale
priceist auf den Schweizer Preis gesetzt, da dies der Heimatmarkt ist. Für DE und AT werden explizite Preise in EUR angegeben. - Die globale
availabilityist „in_stock“ (Gesamtbestand 150). Für AT wird dies durch geo_availability überschrieben. - Der
linkzeigt auf die deutschsprachige Produktseite („/de/...“). Für eine vollständige Lokalisierung könnten Sie auch separate Feeds mit französischen oder italienischen URLs anlegen. - Alle Pflichtfelder sind vorhanden; zusätzlich wurden empfohlene Felder wie GTIN, popularity_score etc. ergänzt.
5.2 Währungsumrechnung – manuell oder automatisch?
Das ACP erwartet, dass Sie die Preise bereits in der Zielwährung angeben. Eine automatische Umrechnung durch OpenAI findet nicht statt. Sie müssen daher in Ihrem Shopsystem sicherstellen, dass die Preise für jedes Land korrekt berechnet und im Feed ausgegeben werden. Das kann über eine Währungstabelle oder dynamische Preisregeln erfolgen. Achten Sie darauf, dass die Preise inklusive aller Steuern (z. B. Mehrwertsteuer) angegeben werden, wie sie dem Endkunden im Checkout angezeigt werden.
5.3 Aktualisierung der Daten
Preise und Verfügbarkeiten können sich schnell ändern – besonders bei internationalen Beständen. Das ACP erlaubt Updates bis zu alle 15 Minuten. Nutzen Sie diese Möglichkeit, um stets aktuelle Informationen zu liefern. Implementieren Sie dazu einen automatisierten Prozess, der regelmäßig einen aktuellen Feed generiert und an OpenAI überträgt.
6. Mehrsprachigkeit und regionale Links
Während geo_price und geo_availability die monetären und logistischen Aspekte abdecken, bleibt die Frage der sprachlichen Anpassung. ChatGPT zeigt den Titel und die Beschreibung so an, wie sie im Feed stehen. Wenn Sie also nur einen deutschsprachigen Feed verwenden, sehen auch französischsprachige Nutzer aus der Schweiz den deutschen Text. Das kann die Conversion beeinträchtigen.
6.1 Optionen für mehrsprachige Feeds
Sie haben zwei grundsätzliche Möglichkeiten:
- Einen einzigen Feed mit sprachneutralen oder mehrsprachigen Texten: Das ACP bietet derzeit keine separaten Felder für Titel und Beschreibung in verschiedenen Sprachen. Daher ist diese Option nur sinnvoll, wenn Ihre Zielgruppe dieselbe Sprache teilt (z. B. D-A-CH mit Deutsch) oder Sie eine englische Version für alle verwenden.
- Mehrere Feeds pro Sprache/Land: Sie erstellen für jede Sprache (z. B. Deutsch, Französisch, Italienisch) einen eigenen Feed, der die entsprechend lokalisierten Texte und die passenden URLs enthält. Jeden Feed melden Sie bei OpenAI an. Das erfordert zwar etwas mehr Aufwand, gewährleistet aber eine optimale Nutzererfahrung.
6.2 Empfehlung für Schweizer Händler
Die Schweiz hat vier Sprachregionen (Deutsch, Französisch, Italienisch, Rätoromanisch). Um alle potenziellen Kunden anzusprechen, sollten Sie zumindest für Deutsch und Französisch separate Feeds bereitstellen. In jedem Feed setzen Sie die entsprechenden title, description, link (z. B. /fr/...), return_policy etc. Die Geo-Preis- und Verfügbarkeitsangaben können identisch sein, da sie unabhängig von der Sprache gelten.
Beispiel für einen französischsprachigen Feed (Auszug):
{
"id": "wanderschuh-123",
"title": "Chaussure de randonnée premium 'Alpine'",
"description": "Chaussure de randonnée robuste pour randonnées exigeantes. Imperméable, respirante, semelle Vibram.",
"link": "https://www.mein-shop.ch/fr/produit/wanderschuh-123",
...
"geo_price": [
{"region": "DE", "price": "189.00 EUR"},
{"region": "AT", "price": "194.00 EUR"},
{"region": "CH", "price": "199.00 CHF"}
],
"geo_availability": [
{"region": "DE", "availability": "in_stock"},
{"region": "AT", "availability": "out_of_stock"},
{"region": "CH", "availability": "in_stock"}
]
}
6.3 Regionale Links und Duplicate Content
Achten Sie darauf, dass die link-URLs für verschiedene Sprachversionen eindeutig sind (z. B. durch Sprachcode im Pfad oder Subdomain). So vermeiden Sie Duplicate-Content-Probleme und stellen sicher, dass der Nutzer auf die passende Seite gelangt.
7. Technische Implementierung eines ACP-Feeds
7.1 Feed-Erstellung
Sie können den Feed manuell aus Ihrem Shopsystem exportieren oder über eine API generieren lassen. Die gängigsten Formate sind:
- JSONL (JSON Lines): Jede Zeile ist ein JSON-Objekt, das ein Produkt repräsentiert. Die Datei wird mit gzip komprimiert (.jsonl.gz).
- CSV: Tabellarisches Format, ebenfalls gzip-komprimiert (.csv.gz).
JSONL ist wegen seiner Flexibilität (z. B. für verschachtelte Objekte wie geo_price) zu bevorzugen.
7.2 Übermittlung an OpenAI
Nach der Registrierung auf chatgpt.com/merchants erhalten Sie Zugang zu einem sicheren HTTPS-Endpunkt, an den Sie Ihren Feed senden. Die Übertragung erfolgt per HTTP PUT oder POST (genaue Methode wird in der Dokumentation spezifiziert). Stellen Sie sicher, dass Ihre Server-IP nicht geblockt ist und die Datei korrekt komprimiert ist.
7.3 Validierung und Fehlerbehandlung
OpenAI prüft den Feed auf syntaktische und semantische Korrektheit. Bei Fehlern erhalten Sie eine Fehlermeldung und müssen die Probleme beheben. Typische Fehlerquellen sind:
- Fehlende Pflichtfelder
- Ungültige URLs (z. B. liefern keinen HTTP 200)
- Falsche Formatierung des Preisstrings
- Ungültige ISO-Codes in geo_price/geo_availability
Testen Sie Ihren Feed vor der Live-Übermittlung mit den von OpenAI bereitgestellten Tools (sofern vorhanden) oder mit eigenem Parsing.
7.4 Aktualisierungsfrequenz
Sie können den Feed so oft wie nötig aktualisieren – mindestens jedoch einmal täglich, um Daten aktuell zu halten. Die maximale Frequenz beträgt alle 15 Minuten. Planen Sie Ihre Updates entsprechend der Volatilität Ihrer Preise und Bestände. Bei internationalem Handel mit mehreren Lagern ist eine hohe Aktualität besonders wichtig.
8. Best Practices für internationale ACP-Feeds
Hier eine kompakte Checkliste mit den wichtigsten Empfehlungen:
- Nutzen Sie geo_price und geo_availability konsequent für alle Länder, in denen Sie abweichende Preise oder Verfügbarkeiten haben.
- Halten Sie die globalen Felder price und availability aktuell – sie dienen als Fallback.
- Verwenden Sie korrekte ISO-Codes für Länder (ISO 3166) und Währungen (ISO 4217).
- Formatieren Sie Preise einheitlich: Dezimalpunkt, zwei Nachkommastellen, Leerzeichen, dann Währungscode (z. B. „189.00 EUR“).
- Aktualisieren Sie den Feed mindestens täglich, besser alle 15 Minuten bei dynamischen Daten.
- Stellen Sie sicher, dass alle URLs erreichbar sind und den richtigen HTTP-Status liefern.
- Lokalisieren Sie Titel, Beschreibung und Link für jede Zielsprache (via separate Feeds).
- Vermeiden Sie verbotene Produkte oder schließen Sie sie über geo_availability aus.
- Nutzen Sie empfohlene Felder wie GTIN, Bewertungen und popularity_score, um das Ranking zu verbessern.
- Testen Sie den Feed gründlich vor dem Go-Live.
- Überwachen Sie die Performance über die Merchant Console (sofern verfügbar).
- Reagieren Sie schnell auf Fehlermeldungen von OpenAI, um Ausfallzeiten zu minimieren.
- Sorgen Sie für eine redundante Infrastruktur, damit die

