Webshop koppelen met Google Merchant Center via Drupal Commerce

Leestijd:
Illustratie van de synchronisatie tussen Drupal commerce en Google Merchant center

Voor een van mijn klanten heb ik recent een handige integratie gebouwd tussen een Drupal Commerce webshop en Google Merchant Center. Hierdoor kunnen producten automatisch worden ingelezen door Google en zichtbaar worden in de zoekresultaten en Google Shopping. In deze blog vertel ik hoe ik dat heb aangepakt.

Producten aanbieden via een CSV-bestand

Google Merchant Center werkt met gestructureerde data. De meest gebruikte en eenvoudigste manier is een CSV-bestand dat elke dag door Google wordt ingelezen. In Drupal heb ik gebruikgemaakt van de volgende modules om dit te bereiken:

Daarnaast zijn de modules REST en Serialization uit Drupal core nodig om een REST endpoint te kunnen opzetten.

Een Drupal view maken met de juiste velden

Ik heb een nieuwe View aangemaakt die alleen gepubliceerde producten toont. Deze View exporteert een CSV-bestand met daarin alle informatie die Google nodig heeft. De volgende velden zijn opgenomen:

  • id: dit is het artikelnummer (SKU).
  • title, description, link: standaardvelden in Views.
  • image_link: hier toon ik de eerste afbeelding van het veld field_product_images, geformatteerd als absolute URL via de media_thumbnail_url_formatter.
  • additional_image_link: opnieuw hetzelfde veld, maar nu worden alle andere afbeeldingen getoond, gescheiden door een komma. De eerste afbeelding sla ik hierbij over.
  • availability: dit veld heb ik herschreven zodat het "in_stock" toont als er voorraad is, en "out_of_stock" als dat niet zo is. Dit baseer ik op het veld field_stock.
  • price: de adviesprijs, geformatteerd als "xx.xx EUR". Als deze niet is ingevuld, gebruik ik de standaardprijs.
  • sale_price: deze wordt alleen gevuld als er zowel een standaardprijs als een adviesprijs is.

Export instellen en koppelen met Google

De View is ingesteld op een pad dat een CSV-bestand teruggeeft. Voor extra veiligheid heb ik een authenticatielaag toegevoegd.

De CSV gebruikt het sluisteken (|) als scheidingsteken tussen kolommen. Deze seperator heb ik ook ingesteld in Google Merchant Center, zodat deze de gegevens correct kan inlezen.

In Google Merchant Center heb ik de URL van de CSV ingevoerd bij de gegevensbron. Vervolgens heb ik ingesteld dat de gegevens elke nacht om 00:00 uur worden opgehaald en verwerkt. Zo blijven de producten op Google altijd actueel.

Tot slot

Deze oplossing zorgt ervoor dat de klant geen omkijken meer heeft naar het uploaden van productfeeds. Nieuwe of aangepaste producten worden automatisch opgepikt door Google. Werk je ook met Drupal Commerce en wil je jouw producten zichtbaar maken in Google Shopping? Dan is deze aanpak zeker het proberen waard.

Hulp nodig bij Drupal Commerce?

Heb je vragen of wil je dat ik meekijk met jouw webshop? Neem dan gerust en vrijblijvend contact op.

Back to top