Ein professionell konfigurierter Google Shopping Feed bringt Ihre Produkte direkt in die Google-Suche und steigert damit Sichtbarkeit sowie Conversion. Shopware 6 bietet dafür eine native Lösung über den Produktvergleich, ganz ohne zusätzliche Plugins. Das bedeutet: update-sichere Konfiguration, keine Plugin-Abhängigkeiten und volle Kontrolle über Ihre Feed-Daten. Diese Anleitung zeigt Ihnen Schritt für Schritt, wie Sie einen Google Shopping Feed anlegen und korrekt konfigurieren.
Vorbereitung: Dynamische Produktgruppe anlegen
Damit nur relevante Produkte in Ihrem Feed erscheinen, benötigen Sie eine dynamische Produktgruppe. So gehen Sie vor:
Navigieren Sie im Adminbereich zu Kataloge → Dynamische Produktgruppen. Erstellen Sie hier eine neue Gruppe mit einem aussagekräftigen Namen, z. B. Google Shopping oder Aktive Produkte.
Unter den Bedingungen definieren Sie, welche Produkte in den Feed aufgenommen werden sollen. Damit nur aktive und verfügbare Produkte erscheinen, legen Sie zwei Bedingungen an:
- Aktiv → Ja
- Lagerbestand → größer/gleich → 1
Diese Regeln stellen sicher, dass nur verfügbare Produkte mit Lagerbestand exportiert werden. Den Schwellenwert für den Lagerbestand passen Sie bei Bedarf an Ihr Geschäftsmodell an. Speichern Sie die dynamische Produktgruppe.
Produktvergleich anlegen
Im nächsten Schritt legen Sie den eigentlichen Google Shopping Feed an. Das geschieht über die Verkaufskanäle.
Gehen Sie zu Verkaufskanäle, klicken Sie auf das ⊕-Symbol und wählen Sie Produktvergleich aus.
Grunddaten
Füllen Sie die Pflichtangaben aus:
- Name: z. B. Google Shopping Feed
- Steuerdarstellung: horizontal, wenn die Steuer pro Produkt berechnet wird, vertikal, wenn die Steuer einmal pro Bestellung für alle Nettowerte berechnet werden soll.
- Verkaufskanal: Wählen Sie Ihren Shop
- Domain: Wählen Sie nur eine Domain aus, Ihre Haupt-Shop-Domain. Um Duplicate Content zu vermeiden, sollte die kanonische URL Ihres Shops korrekt konfiguriert sein.
- Währung: Falls nicht Euro, hier anpassen
- Dateiname: z. B. google-shopping-feed.xml
- Zeichenkodierung: UTF-8
- Dateiformat: XML
- Dynamische Produktgruppe: Wählen Sie die zuvor erstellte Gruppe
Zusätzliche Einstellungen
- Varianten als eigene Produkte exportieren: Aktivieren. In der Praxis hat sich gezeigt, dass separate Varianten zu deutlich besseren Produkttreffern führen, etwa bei Suchanfragen wie „T-Shirt Baumwolle rot".
- Generierungsintervall: Legt fest, in welchem Zeitraum der Produktfeed automatisch neu erstellt wird.
- 1 Tag hat sich als sinnvoller Standardwert bewährt.
- Modus "Live": Aktivieren Sie diesen Modus, wenn der Feed bei jedem Aufruf aktuell generiert werden soll. Diese Methode eignet sich nur bei kleinerem Produktangebot, da die Feed-Erzeugung bei größeren Katalogen zu lange dauern kann und Google den Abruf dann abbricht.
- Produktvergleich aktivieren: Nicht vergessen (im Bereich Status)
Speichern Sie Ihre Einstellungen. Sobald das erfolgt ist, erscheinen neue Tabs im Produktvergleich, darunter auch der Reiter Template, mit dem Sie den Inhalt des Feeds steuern.
Template einrichten
Nachdem alle Grundeinstellungen für den Produktvergleich vorgenommen sind, konfigurieren Sie nun das eigentliche Template für den Feed. Shopware bietet hier die Möglichkeit, über Twig-Code ein vollständig individuelles XML-Feed-Format zu erstellen, exakt so, wie es Google für das Merchant Center erwartet.
Kopfzeile
Klicken Sie auf Template → Kopfzeile und fügen Sie folgenden Code ein:
<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:g="http://base.google.com/ns/1.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<atom:link href="{{ productExport.salesChannelDomain.url }}/store-api/product-export/{{ productExport.accessKey }}/{{ productExport.fileName }}" rel="self" type="application/rss+xml" />
<title>{{ context.salesChannel.name }}</title>
<description>{# change your shop's description #}</description>
<link>{{ productExport.salesChannelDomain.url }}</link>
<language>{{ productExport.salesChannelDomain.language.locale.code }}</language>
<image>
<url>{# add your logo URL #}</url>
<title>{{ context.salesChannel.name }}</title>
<link>{{ productExport.salesChannelDomain.url }}</link>
</image>
Wichtig: Ersetzen Sie {# change your shop's description #} durch eine kurze Beschreibung Ihres Shops und {# add your logo URL #} durch die Bild-URL Ihres Logos. Diese erhalten Sie, indem Sie im Shop mit der rechten Maustaste auf das Logo klicken und „Bildadresse kopieren" (oder ähnlich) wählen.
Template der Produktzeile
Scrollen Sie im Reiter Template nach unten zum Produktblock und tragen Sie folgenden Code ein:
<item>
<g:id>{{ product.productNumber }}</g:id>
<title>{{ product.translated.name|escape }}</title>
<description>{{ product.translated.description|escape }}</description>
<g:google_product_category>950</g:google_product_category>
{% if product.categories.count > 0 %}
<g:product_type>{{ product.categories.first.getBreadCrumb|slice(1)|join(' > ')|raw|escape }}</g:product_type>
{% endif %}
<link>{{ seoUrl('frontend.detail.page', {'productId': product.id}) }}</link>
{% if product.cover.media is defined %}
<g:image_link>{{ product.cover.media.url }}</g:image_link>
{% endif %}
<g:condition>new</g:condition>
<g:availability>
{% if product.availableStock >= product.minPurchase %}
in_stock
{% elseif product.availableStock < product.minPurchase %}
preorder
{% else %}
out_of_stock
{% endif %}
</g:availability>
{% set price = product.calculatedPrice %}
{% if product.calculatedPrices.count > 0 %}
{% set price = product.calculatedPrices.last %}
{% endif %}
<g:shipping_weight>{% if product.weight is defined %}{{ product.weight }} kg{% endif %}</g:shipping_weight>
<g:price>{{ price.unitPrice|number_format(context.currency.itemRounding.decimals, '.', '') }} {{ context.currency.isoCode }}</g:price>
<g:brand>{% if product.manufacturer.translated.name is defined %}{{ product.manufacturer.translated.name|escape }}{% endif %}</g:brand>
<g:gtin>{{ product.ean }}</g:gtin>
<g:mpn>{{ product.manufacturerNumber }}</g:mpn>
<g:shipping>
<g:country>DE</g:country>
<g:service>Standard</g:service>
{% if product.shippingFree %}
<g:price>0.00 {{ context.currency.isoCode }}</g:price>
{% else %}
<g:price>4.95 {{ context.currency.isoCode }}</g:price>
{% endif %}
</g:shipping>
{% for properties in product.properties %}
<g:properties>{{ properties.name }}</g:properties>
{% endfor %}
</item>
Hinweis zur Google Produktkategorie: Ändern Sie den Wert 950 im Tag <g:google_product_category> durch die passende Kategorie-ID für Ihr Sortiment. Die vollständige Liste finden Sie hier: Google Produktkategorien (Deutsch). Weitere Informationen zu den Google Produktkategorien finden Sie in der Google-Dokumentation.
Erweiterung: Versandkosten für weitere Länder im Feed berücksichtigen
Für Shops, die ins EU-Ausland oder in die Schweiz versenden, ist dieser Schritt geschäftskritisch: Google erwartet für jedes Lieferland einen eigenen <g:shipping>-Block, damit der Endpreis korrekt berechnet werden kann. Fehlen diese Angaben, werden Ihre Produkte in den betreffenden Märkten möglicherweise nicht ausgespielt.
Beispiel: Versandkosten für Deutschland, Österreich und Schweiz
Das folgende Beispiel zeigt, wie Sie verschiedene Länder mit ihren jeweiligen Versandregeln im Feed abbilden:
<g:shipping>
<g:country>DE</g:country>
<g:service>Standard</g:service>
{% if product.shippingFree or price.unitPrice >= 49 %}
<g:price>0.00 {{ context.currency.isoCode }}</g:price>
{% else %}
<g:price>4.90 {{ context.currency.isoCode }}</g:price>
{% endif %}
</g:shipping>
<g:shipping>
<g:country>AT</g:country>
<g:service>Standard</g:service>
{% if product.shippingFree or price.unitPrice >= 150 %}
<g:price>4.90 {{ context.currency.isoCode }}</g:price>
{% else %}
<g:price>8.90 {{ context.currency.isoCode }}</g:price>
{% endif %}
</g:shipping>
<g:shipping>
<g:country>CH</g:country>
<g:service>Standard</g:service>
{% if product.shippingFree or price.unitPrice >= 150 %}
<g:price>4.90 {{ context.currency.isoCode }}</g:price>
{% else %}
<g:price>14.90 {{ context.currency.isoCode }}</g:price>
{% endif %}
</g:shipping>
In diesem Beispiel gelten folgende Regeln:
- Deutschland: Versandkostenfrei ab 49 €, darunter 4,90 €
- Österreich: Versandkostenfrei ab 150 €, darunter 8,90 €
- Schweiz: Versandkosten bis zu einem Warenwert von 150 € liegen bei 4,90 €, darunter 14,90 €
Welche Schwellenwerte und Versandkosten Sie hier eintragen, hängt von Ihrer individuellen Versandkostenstaffelung ab. Passen Sie die Werte entsprechend an.
Länder-Code beachten
Achten Sie darauf, für jedes Land den korrekten ISO-2 Code zu verwenden (z. B. DE für Deutschland, FR für Frankreich, IT für Italien). Diese Codes finden Sie auch in den Ländereinstellungen in Shopware.
Tipp: Weitere Länder hinzufügen
Wenn Sie in weitere Länder versenden, kopieren Sie den Block <g:shipping> und passen g:country, g:price sowie die Versandkostenfreigrenze entsprechend an. Korrekte Versandkosten im Feed sind ein relevanter Faktor für die Performance Ihrer Google-Shopping-Kampagnen.
Fußzeile
Abschließend tragen Sie unter Template → Fußzeile folgenden Code ein:
</channel>
</rss>
Vorschau und Feed-URL testen
Speichern Sie Ihre Änderungen und klicken Sie auf Vorschau generieren. Shopware zeigt Ihnen nun einige Beispieldaten, anhand derer Sie prüfen können, ob alle Felder korrekt befüllt sind.
Falls ein Fehler auftaucht, zeigt Shopware Ihnen, in welcher Zeile im Template dieser liegt.
Ist alles in Ordnung, gehen Sie zurück zum Reiter Allgemein und kopieren Sie dort die Export-URL (im Bereich API-Zugang). Rufen Sie diese URL im Browser auf. Nach kurzer Ladezeit sollte der vollständige Feed angezeigt werden.
Prüfen Sie hier stichprobenartig verschiedene Produkte, insbesondere ob sich die Versandkosten korrekt verhalten. Ein Produkt oberhalb Ihrer Versandkostenfrei-Grenze sollte 0 € als Versandkosten ausweisen.
Feed im Google Merchant Center eintragen
Im letzten Schritt hinterlegen Sie die Feed-URL im Google Merchant Center. Voraussetzung ist ein aktives Konto unter https://merchants.google.com. Eine ausführliche Anleitung für die Feed-Einrichtung im Merchant Center finden Sie in der Google-Dokumentation.
Fazit
Shopware 6 bringt alle Werkzeuge für einen vollständigen Google Shopping Feed nativ mit. Die dynamischen Produktgruppen stellen sicher, dass nur aktuelle, lagernde Produkte im Feed erscheinen. Das Twig-basierte Template gibt Ihnen die volle Kontrolle über Struktur und Inhalt Ihrer Feed-Daten. Das Ergebnis: eine update-sichere, wartbare Lösung ohne Plugin-Abhängigkeiten. Bei komplexeren Szenarien, etwa individuellen Versandlogiken oder mehrsprachigen Feeds, unterstütze ich Sie gern.



![[Video] Shopware 6: Erweiterte Preise anlegen](https://cdn.chimpify.net/5c2dba3aa858725d0c8b4569/2024/10/8-erweiterte-preise-anlegen-medium.jpg)








Noch keine Kommentare vorhanden
Schreibe einen Kommentar