Skip to content

Productfeed voor Google Merchant Center, Meta en Pinterest

De winkel publiceert een productfeed op https://www.freezedesign.nl/api/feeds/google-shopping.xml (staging: https://staging.freezedesign.nl/api/feeds/google-shopping.xml, achter basic auth). Het is RSS 2.0 met de g:-namespace van Google; Meta Commerce Manager en Pinterest lezen hetzelfde formaat.

Code: backend/apps/products/feeds.py (opbouw), feed_views.py (de view), config/urls.py (het adres). Tests: apps/products/tests/test_google_shopping_feed.py.

Wat erin staat

  • Alle actieve producten in een actieve categorie. Per kleur met een voorkantfoto één item (g:id = product-<id>-kleur-<kleur-id>, g:color), anders één item voor het product (product-<id>). Alle items van een product delen g:item_group_id.
  • Een item zonder afbeelding wordt weggelaten: Google keurt het anders af.
  • g:price: de laagste prijs van de actieve varianten van die kleur (basisprijs plus maatcorrectie), inclusief btw. Dat is de "vanaf"-prijs die de productpagina toont. Het is het onbedrukte kledingstuk; bedrukking komt er op de pagina bij.
  • g:availability: in_stock, of out_of_stock als voorraadbeheer aanstaat en geen variant van die kleur voorraad heeft.
  • g:brand, g:condition = new, g:identifier_exists = no (geen GTIN bij maatwerk), g:google_product_category = 1604 (Apparel & Accessories > Clothing), g:product_type = het categoriepad ("Kleding bedrukken > Hoodies bedrukken").
  • g:shipping: Nederland met de standaardverzendkosten uit de admin-instellingen. De gratis-verzenddrempel staat niet in de feed; stel die in Merchant Center in onder Verzending.
  • De feed wordt een uur gecachet (Redis). Een nieuw product of een nieuwe prijs staat er dus binnen een uur in.

Aanmelden bij Google Merchant Center (Ivar/Eefje)

  1. Account op merchants.google.com, bedrijfsgegevens invullen, website https://www.freezedesign.nl claimen en verifiëren (Search Console-verificatie telt mee).
  2. Verzending en retouren instellen (verzendkosten, gratis boven de drempel, retourtermijn). Deze gegevens moeten overeenkomen met de pagina's Retouren en Voorwaarden.
  3. Producten → Feeds → nieuwe feed → "Geplande ophaling" met de feed-URL, dagelijks.
  4. Na de eerste ophaling: Diagnose nalopen. Veelvoorkomende afkeuringen: prijs in de feed wijkt af van de pagina (cache: wacht een uur), afbeelding te klein (minimaal 100×100, liever 800×800), tekst met hoofdletters of "gratis verzending" in de titel.
  5. Gratis vermeldingen staan standaard aan ("Surfaces across Google"); Shopping- advertenties pas later, als er conversiemeting is.

Meta (Instagram/Facebook-shop) en Pinterest

Dezelfde URL in Meta Commerce Manager → Catalogus → Gegevensbronnen → "Geplande feed", en in Pinterest → Catalogi. Beide controleren het domein; daarna verschijnen de producten in de shop-tab van Instagram en als productpins.

Controle

curl -s https://www.freezedesign.nl/api/feeds/google-shopping.xml | xmllint --format - | head -60

Google's feed-tester in Merchant Center (Producten → Feeds → feed → "Test ophalen") laat per regel zien wat er mis is.