Shopware

Google-Shopping-Feed aus Shopware: mit Bordmitteln, und woran er scheitert

Shopware bringt eine Vorlage für Google Shopping mit. Der Feed entsteht über einen eigenen Verkaufskanal, ist schnell eingerichtet — und hat eine Einstellung, die über Aktualität entscheidet, sowie feste Werte für Kategorie und Versand. Dazu die Produktdaten, die Google verlangt, und wie man prüft, ob Feed und Shop dasselbe sagen.

Pixup MediaVeröffentlicht am 10 Min. Lesezeit
Fünf Stufen vom Produkt zum Feed: Produktdaten mit GTIN und Marke, Verkaufskanal vom Typ Produktvergleich, Vorlage Google Shopping, die Datei google.xml — rot markiert mit der Frage, ob sie erneuert wird —, Abruf und Prüfung im Merchant Center.
Der Weg mit Bordmitteln. Rot markiert: die Einstellung, die über die Aktualität entscheidet.
Grafik in voller Größe öffnen

Für Google Shopping braucht ein Shop vor allem eines: einen Produktfeed, den das Merchant Center ohne Fehler annimmt. Shopware hat dafür eine Bordlösung. Ob sie im Alltag trägt, entscheiden die Produktdaten, ein paar feste Werte in der Vorlage und eine einzige Einstellung.

So entsteht der Feed in Shopware

Der Feed ist in Shopware ein eigener Verkaufskanal vom Typ „Produktvergleich“. Beim Anlegen wählt man eine Vorlage. In Shopware 6.6 und 6.7 bringt die Administration drei mit:

VorlageFormatDateiname ab Werk
Google Shopping (XML)XMLgoogle.xml
billiger.de (CSV)CSVbilliger.csv
idealo.de (CSV)CSVidealo.csv

Die Google-Vorlage gibt unter anderem ID, Titel, Beschreibung, Link, Bild, Preis, Verfügbarkeit, Marke, GTIN, Herstellernummer, Zustand, Google-Produktkategorie, Produkttyp und Versand aus. Ab Shopware 6.7.12 kommt ein Feed-Label hinzu, wenn eines gepflegt ist. Der Inhalt jeder Zeile ist ein Twig-Template und lässt sich anpassen.

Abrufbar ist der Feed danach unter einer Adresse der Form /store-api/product-export/{Zugangsschlüssel}/{Dateiname}. Diese Adresse hinterlegen Sie im Merchant Center als Datenquelle mit geplantem Abruf.

Die Einstellung, die über Aktualität entscheidet

Die Vorlage setzt ein Generierungsintervall von 86400 Sekunden, also einen Tag. Die Option „Per Scheduler generieren“ ist dabei nicht aktiv. Was das bedeutet, haben wir im Quelltext nachgelesen — zuerst in 6.7.2.2, am 30.10.2026 erneut in den aktuellen Versionen 6.7.15.1 und 6.6.10.30, mit demselben Ergebnis:

  • Der Abruf der Feed-Adresse erzeugt die Datei nur, wenn sie fehlt — oder wenn das Intervall auf 0 („Live“) steht.
  • Die geplante Aufgabe für Produktexporte erneuert nur Exporte mit aktiver Option „Per Scheduler generieren“, sobald das Intervall abgelaufen ist.

Am 02.11.2026 haben wir das in einem Wegwerf-Shop mit Shopware 6.7.2.2 nachgestellt: ein Testprodukt, ein Export mit verkürztem Intervall von 60 Sekunden, Abruf über die Feed-Adresse. Ausschlaggebend war der Last-Modified-Header der Antwort und der Preis in der Datei.

EinstellungWas wir getan habenFeed danach
„Per Scheduler generieren“ ausPreis von 10,00 auf 12,00 € geändert, sofort abgerufenalt (10.00)
auserneut abgerufen, 75 Sekunden später, Intervall abgelaufenalt (10.00)
ausgeplante Aufgabe für Produktexporte ausgeführtalt (10.00)
angeplante Aufgabe erneut ausgeführtneu (12.00)
Intervall 0 („Live“)Preis geändert, abgerufenneu

Mit den Werten der Vorlage hat in diesem Test also weder der Abruf noch die geplante Aufgabe den Feed erneuert. Das gilt für die getestete Version 6.7.2.2. Für 6.7.15.1 und 6.6.10.30 haben wir den Quelltext verglichen, nicht laufen lassen. Einen Shop über Tage haben wir nicht beobachtet. Im eigenen Shop prüfen Sie es genauso: Last-Modified der Feed-Adresse notieren, einen Preis ändern, nach Ablauf des Intervalls erneut abrufen. Bleiben Datum und Preis gleich, wird die Datei nicht erneuert.

Von Hand erneuern lässt sich der Feed auf der Konsole, im Hauptverzeichnis des Shops:

bin/console product-export:generate --force <ID-des-Storefront-Verkaufskanals>

--force erzeugt die Datei auch dann neu, wenn sie noch als gültig gilt. Ausnahme in älteren Versionen: Ist „Per Scheduler generieren“ aktiv, ließ der Befehl in unserem Test mit 6.7.2.2 die vorhandene Datei trotz --force stehen; ohne die Option erneuerte er sie. Laut Quelltext ändert sich das ab Shopware 6.7.14.0, dort erzwingt --force die Neuerzeugung immer.

Feste Werte in der Vorlage

Einige Angaben stehen nicht als Feld im Produkt, sondern als fester Wert im Template. Sie sind als Platzhalter gedacht und tragen dort den Kommentar, sie anzupassen:

AngabeWert ab WerkWas zu prüfen ist
Google-Produktkategorie950 für jedes Produktpassende Kategorie je Sortiment, etwa über eine Zuordnung aus der Shop-Kategorie
Zustandnewgebrauchte oder aufbereitete Ware braucht used oder refurbished
VersandDeutschland, „Standard“, 4.95 in der Shop-Währung; 0.00 bei versandkostenfreien Produkteneigene Versandkosten und Lieferländer — oder Versand im Merchant Center pflegen und das Feld entfernen
Preisbei Staffelpreisen der letzte Eintrag der Staffelob dieser Preis dem entspricht, was die Produktseite für ein Stück zeigt
Verfügbarkeitpreorder, wenn der verfügbare Bestand unter der Mindestabnahme liegt, aber Lieferzeit und Wiederauffüllzeit gepflegt sindGoogle verlangt bei preorder und backorder ein Verfügbarkeitsdatum (availability_date), das die Vorlage nicht ausgibt

Die Produktdaten, die Google verlangt

Laut Googles Produktdatenspezifikation gehören ID, Titel, Beschreibung, Link, Bildlink, Verfügbarkeit und Preis zu den Pflichtangaben. Für die übrigen Kennzeichnungen gilt nach der Merchant-Center-Hilfe von Google (abgerufen am 02.11.2026):

  • Marke: erforderlich für Produkte mit eindeutig zugeordneter Marke oder eindeutig zugeordnetem Hersteller; optional etwa bei Filmen, Büchern und Musik.
  • GTIN: empfohlen für alle Produkte, denen der Hersteller eine GTIN zugewiesen hat. Fehlt sie bei einem solchen Produkt, kann Google es ablehnen. Hat ein Produkt keine GTIN, empfiehlt Google Marke und Herstellernummer; mehr dazu unter eindeutige Produktkennzeichnungen.
  • Artikelgruppen-ID (item_group_id): erforderlich für Varianten, bei Shopping-Anzeigen unter anderem in Deutschland. Alle Varianten eines Produkts tragen denselben Wert.

Die Vorlage gibt diese Felder bis auf die Artikelgruppen-ID aus — aber nur mit dem, was im Shop gepflegt ist.

Feldtypisches Problem in Shopware
MarkeHersteller im Produkt nicht gepflegt
GTINEAN-Feld leer oder mit Leerzeichen
PreisPreis der falschen Kundengruppe oder Währung
Variantenkeine gemeinsame Gruppen-ID, Google sieht lauter Einzelprodukte

Wie gut Produktseiten von Shopware-Shops ausgezeichnet sind, haben wir an 47 Seiten gemessen (zur Messung): Die Pflichtangaben für Händlereinträge im Markup hatten 41 von 47 Seiten, eine GTIN 31 von 47. Das betrifft das Markup auf der Seite, nicht den Feed — es zeigt aber, wo die Daten in dieser Stichprobe lückenhaft waren.

Feed und Shop müssen dasselbe sagen

Google vergleicht den Feed mit der Produktseite. Weicht der Preis ab oder ist ein Artikel im Feed verfügbar und auf der Seite ausverkauft, kann das Merchant Center den Artikel ablehnen. Mögliche Ursachen in Shopware:

  • Veralteter Feed — siehe oben.
  • Andere Preisregel im Feed als für den Besucher, etwa durch einen Verkaufskanal mit anderer Kundengruppe oder durch Staffelpreise.
  • Feste Versandkosten aus der Vorlage, die nicht zu den Versandkosten im Checkout passen.
  • Strukturierte Daten auf der Produktseite, die etwas anderes sagen als Feed und sichtbarer Preis.

Was Google an strukturierten Daten erwartet, erklärt dieser Ratgeber.

Kurze Checkliste

  1. Verkaufskanal „Produktvergleich“ mit Vorlage „Google Shopping (XML)“ anlegen, die dynamische Produktgruppe mit den Feed-Artikeln sowie Domain und Währung wählen.
  2. „Per Scheduler generieren“ aktivieren und prüfen, ob die geplanten Aufgaben laufen.
  3. Im Template Google-Produktkategorie, Zustand und Versand an den eigenen Shop anpassen; bei Varianten eine Gruppen-ID ergänzen.
  4. Marke und GTIN in den Produkten pflegen.
  5. Feed-Adresse im Merchant Center als Datenquelle mit geplantem Abruf hinterlegen.
  6. Nach einer Preisänderung prüfen, ob Last-Modified und Inhalt sich ändern.
  7. Diagnose im Merchant Center nach Ursache sortieren: Feed, Shop-Einstellung oder Produktdaten.

Die Vorlage liefert die Felder, der Shop liefert die Daten — und einige Werte stehen fest im Template. Ohne „Per Scheduler generieren“ blieb der Feed in unserem Test auf dem Stand des ersten Abrufs.

Häufige Fragen

Brauche ich für Google Shopping ein Plugin?
Nicht unbedingt. Die Vorlage im Kern gibt die Pflichtfelder aus, wenn die Produktdaten gepflegt sind und die festen Werte für Kategorie und Versand angepasst werden. Eine erweiterte Vorlage oder ein Plugin braucht es etwa für Varianten mit Gruppen-ID, mehrere Länder oder Felder, die die Vorlage nicht ausgibt.
Wo finde ich die Feed-Adresse?
Im Verkaufskanal vom Typ Produktvergleich. Die Adresse hat die Form /store-api/product-export/{Zugangsschlüssel}/{Dateiname}. Diese Adresse hinterlegen Sie im Merchant Center als Datenquelle mit geplantem Abruf.
Wie oft sollte der Feed aktualisiert werden?
So oft, wie sich Preise und Bestände ändern; das Intervall der Vorlage ist ein Tag. Wichtig ist, dass die Erneuerung tatsächlich stattfindet — dafür „Per Scheduler generieren“ aktivieren und prüfen, ob die geplanten Aufgaben laufen.
Kann ich den Feed von Hand neu erzeugen?
Ja, auf der Konsole mit bin/console product-export:generate --force und der ID des Storefront-Verkaufskanals. Ist „Per Scheduler generieren“ aktiv, ließ der Befehl in unserem Test mit 6.7.2.2 die vorhandene Datei trotz --force stehen; laut Quelltext wirkt --force dann erst ab Shopware 6.7.14.0. Das ersetzt keine regelmäßige Erneuerung.
Was ist mit Varianten?
Jede Variante ist ein eigener Artikel im Feed. Für Varianten verlangt Google eine gemeinsame Artikelgruppen-ID (item_group_id), bei Shopping-Anzeigen unter anderem in Deutschland. Die Vorlage gibt sie nicht aus; sie muss dafür ergänzt werden.
Kostet das Merchant Center etwas?
Nein. Das Merchant Center selbst ist kostenlos, Kosten entstehen erst für Anzeigen. Kostenlose Produkteinträge laufen über denselben Feed.
WeiterführendGoogle Shopping

Verwandte Inhalte

Alle Wissensartikel
SEO · 8 Min.

Strukturierte Daten im Onlineshop: welche Typen ein Shop braucht

Product, Offer, Organization, BreadcrumbList — vier Typen tragen fast alles, was ein Onlineshop an strukturierten Daten braucht. Was Google je Typ verlangt, wofür die Angaben genutzt werden und was sich 2026 geändert hat. Mit dem Stand der Google-Dokumentation vom 06.10.2026.

LesenGeprüft am
SEO · 8 Min.

Strukturierte Daten in Shopware-Shops: was 47 Produktseiten ausliefern

Untersucht: Welche strukturierten Daten liefern Shopware-Shops auf Produktseiten aus — und erfüllen sie, was Google für Händlereinträge verlangt?

Ergebnis

41 von 47

Produktseiten erfüllten die Pflichtangaben für Händlereinträge: Name, Bild und ein Angebot mit Preis über null und Währung. 30 nutzten ausschließlich die Microdata der Standard-Storefront, 12 ausschließlich JSON-LD aus Plugin oder Theme, 4 beides. Das Muster des JSON-LD-Schalters aus Shopware 6.7 fand sich in keinem Shop.

Untersuchung lesenMessung vom
Agentic Commerce · 9 Min.

Agentic-Commerce-Feed: was Shopware tatsächlich prüft

Untersucht: Welche Fehler in einem Agentic-Commerce-Produktfeed findet Shopware 6.7 selbst — und unter welchen Bedingungen prüft es gar nicht?

Ergebnis

10 von 10 Fehlerfällen erkannt

Jeder gezielt eingebaute Defekt wurde gemeldet, die korrekte Zeile ging fehlerfrei durch. Entscheidend ist aber die andere Hälfte des Befunds: Drei Vorbedingungen führen dazu, dass der Validator ohne jede Meldung gar nichts prüft.

Untersuchung lesenMessung vom