Tillbaka till Kunskap

· Av Erik Svedin

Så fungerar en Google Shopping-feed för en butik

Så fungerar en Google Shopping-feed för en butik med kassa och webbshop: fält, varianter, EAN, lokalt lager i Merchant Center och de vanligaste avslagen.

Google ShoppingMerchant CenterProduktdataIntegrationer

En Google Shopping-feed är en fil eller ett automatiskt flöde som talar om för Google Merchant Center vilka produkter butiken säljer, vad de kostar, om de finns i lager och hur de ser ut. Feeden är det som gör att produkterna visas i fliken Shopping, i Googles gratislistningar och i Shopping-annonser, och den är också underlaget för att visa lagersaldo i den fysiska butiken på Google Maps. Principen är densamma oavsett om butiken säljer cyklar, skor, verktyg eller husgeråd: feeden är en spegel av artikelregistret, och den blir aldrig bättre än datan bakom. Den här sidan går igenom fälten, varianterna, uppdateringen, det lokala lagret och de fel som oftast stoppar en feed.

Vad är en Google Shopping-feed?

Feeden är en tabell där varje rad är en säljbar produkt och varje kolumn är ett attribut som Google definierat. Den kan levereras som en TSV- eller XML-fil som Google hämtar från en adress på schema, som ett Google Sheet, eller direkt via Merchant Centers API från webbshoppen. Abicart, WooCommerce, Shopify och de flesta andra webbshopsplattformar kan producera en feed, antingen inbyggt eller via tillägg. Saknas EAN-kod, bild eller varumärke i kassan eller webbshoppen, saknas de i feeden, och då är det registret som ska rättas, inte feeden.

Vilka fält måste finnas med?

Google skiljer på obligatoriska attribut, som stoppar produkten om de saknas, och rekommenderade, som påverkar hur ofta produkten visas.

AttributKravVad det betyder i praktiken
idObligatorisktButikens artikelnummer. Måste vara unikt och får inte ändras när produkten uppdateras
titleObligatorisktMärke, modell och det som skiljer varianten, till exempel storlek eller färg
descriptionObligatorisktProdukttexten. Leverantörens text går, men en egen text ger bättre matchning
linkObligatorisktProduktsidan i webbshoppen, en per variant
image_linkObligatorisktHuvudbild, minst 100 × 100 pixlar, utan vattenstämpel eller text
availabilityObligatorisktin_stock, out_of_stock, preorder eller backorder. Måste stämma med produktsidan
priceObligatorisktPris i SEK inklusive moms
brandObligatoriskt för allt utom vissa egenproducerade varorVarumärket, inte leverantören eller grossisten
gtinObligatoriskt om koden finnsEAN-koden. Se avsnittet om saknade koder nedan
mpnRekommenderat, obligatoriskt om gtin saknasTillverkarens artikelnummer
conditionObligatorisktnew eller used, till exempel för begagnat eller inbyten
item_group_idObligatoriskt för varianterGemensamt id för alla storlekar och färger av samma modell
size, color, materialRekommenderat, obligatoriskt för kläder och skorVariantens egenskaper, en per rad
google_product_categoryRekommenderatGoogles egen kategori för produkttypen
product_typeRekommenderatButikens egen kategori, till exempel "Kök > Kastruller"
shippingObligatoriskt i Sverige om det inte satts i Merchant CenterFraktkostnad, eller 0 för hämtning i butik

Hur hanterar man varianter som storlek och färg?

Varje storlek och färg är en egen rad i feeden, med ett eget id, egen länk och egen tillgänglighet, och alla rader för samma modell delar ett item_group_id. Det är så Google förstår att en sko som är slut i storlek 42 fortfarande finns i 43, eller att en cykel som är slut i ramstorlek 50 finns i 54. Bilden bör vara rätt färg för varje rad, och titeln bör innehålla varianten, annars visas fel produkt i annonsen. Det vanligaste felet är att hela modellen ligger som en rad med ett enda lagersaldo; då blir produkten antingen ständigt i lager eller ständigt slut, oavsett vilka varianter som faktiskt står på hyllan.

Vad gör man när EAN-koden saknas?

Har produkten en EAN-kod ska den med, alltid. Saknar produkten en EAN-kod på riktigt, vilket är vanligt på småartiklar, hantverksvaror och delar från mindre tillverkare, sätts identifier_exists till false och brand plus mpn får identifiera produkten. Det som inte fungerar är att hitta på en kod, återanvända en kod från en annan variant eller sätta identifier_exists till false på en produkt som faktiskt har en kod; alla tre leder till avslag eller till att produkten paras ihop med fel produkt i Googles katalog. Produkter utan EAN får sämre spridning än produkter med, eftersom Google inte kan koppla dem till sin egen produktdatabas, så det lönar sig att hämta koderna från leverantörens prislista i stället för att gå runt problemet.

Hur ofta ska feeden uppdateras?

Minst en gång per dygn, och oftare för pris och lagersaldo. Google jämför feedens pris och tillgänglighet med vad produktsidan visar, och en avvikelse ger avslag för den produkten tills nästa hämtning. En feed som hämtas på schema en gång per natt räcker för sortiment och texter, men lagersaldo på varor som säljs över disk under dagen bör skickas via API eller genom att produktsidan bär strukturerad data som Google kan läsa automatiskt. Merchant Center kan uppdatera pris och tillgänglighet från produktsidans schema.org-märkning mellan hämtningarna, om funktionen slagits på.

Hur visas butikens lagersaldo på Google?

Lokalt lager kräver tre saker: en verifierad företagsprofil på Google för butiken, en vanlig produktfeed och en lokal lagerfeed som per butik och produkt anger antal och pris. Den lokala feeden kopplar en store_code till varje rad, och det är den som gör att en kund som söker "regnjacka nära mig" eller "elcykel nära mig" ser att varan finns i butiken i dag. Lagerantalet i den lokala feeden kan komma från webbshoppen, men vanligast är att det hämtas från kassan, eftersom det är där saldot för den fysiska butiken faktiskt finns när samma varor säljs i båda kanalerna. Har butiken flera adresser får varje adress en egen store_code och egna rader.

Vilka fel stoppar feeden oftast?

Fel i Merchant CenterVanlig orsakÅtgärd
PrisavvikelseKampanjpris i webbshoppen, ordinarie i feedenLåt feeden hämta priset från samma källa som produktsidan
TillgänglighetsavvikelseFeeden uppdateras en gång per dygn, lagret ändras hela dagenTätare uppdatering eller automatisk uppdatering från produktsidan
Ogiltig GTINKod med fel antal siffror, kopierad kod, artikelnummer i fältetHämta koden från leverantören, lämna fältet tomt hellre än fel
Bild med text eller för litenLeverantörsbild med logotyp eller kampanjtextRen produktbild mot vit bakgrund
Saknad fraktIngen fraktinställning för SverigeSätt frakt i Merchant Center eller per rad
Dubblett-idSamma artikelnummer på två varianterUnikt id per variant, gemensamt item_group_id
Titel som ser ut som spamVersaler, upprepade sökordMärke, modell, variant, inget annat
Fel kategoriButikens egen kategori i fältet för Googlesproduct_type för butikens träd, google_product_category för Googles

Var ska datan komma ifrån: kassan, webbshoppen eller ett PIM?

Feeden är en spegel av butikens produktdata, och frågan är vilken källa som speglas. Är webbshoppen den enda kanalen räcker webbshoppens egen feed. Säljer butiken samma produkter i kassa och webbshop måste lagersaldot komma från kassan, och då måste kassan och webbshoppen vara kopplade innan feeden kan bli rätt. Har butiken dessutom många leverantörer med egna prislistor är det oftast enklare att samla artikeldata, EAN, bilder och texter på ett ställe och låta både webbshoppen och feeden hämta därifrån. Det är där prishantering och integrationer kommer in: en feed som fylls från ett korrekt artikelregister behöver sällan rättas för hand, oavsett vad butiken säljer.

Exempel: så ser det ut i en cykelbutik

Cykelbranschen visar problemen tydligare än de flesta. Samma cykel finns i fem ramstorlekar och tre färger, så en modell blir femton rader med gemensamt item_group_id och ramstorleken i titeln. EAN-koder saknas ofta på delar från mindre tillverkare, medan cyklarna nästan alltid har dem i leverantörens prislista. Cyklar som säljs i butiken under dagen gör att den lokala lagerfeeden måste följa kassan, inte webbshoppen. Lösningen är densamma som för andra butiker: rätt register bakom, koppling mellan kassa och webbshop, och en feed som fylls automatiskt därifrån.

Vanliga frågor

Vilka fält är obligatoriska i en Google Shopping-feed?
id, title, description, link, image_link, availability, price, brand och condition, samt gtin när produkten har en EAN-kod och item_group_id när produkten finns i varianter. Frakt måste anges antingen i feeden eller i Merchant Center.
Vad gör jag om produkten saknar EAN-kod?
Sätt identifier_exists till false och ange brand och mpn. Hitta aldrig på en kod och återanvänd aldrig en kod från en annan produkt. Produkter utan EAN får sämre spridning, så hämta koden från leverantören när den finns.
Hur ofta ska en Shopping-feed uppdateras?
Minst en gång per dygn för sortiment och texter. Pris och lagersaldo bör uppdateras oftare, via API eller genom automatisk uppdatering från produktsidans strukturerade data, eftersom avvikelser mot produktsidan ger avslag.
Hur visar jag lagersaldo i butiken på Google?
Genom en verifierad företagsprofil, en vanlig produktfeed och en lokal lagerfeed som anger antal och pris per butik. Lagerantalet kan komma från webbshoppen, men hämtas vanligast från kassan, där saldot för den fysiska butiken finns.
Fungerar samma feed för alla branscher?
Ja. Fälten, variantlogiken och reglerna för pris och lagersaldo är desamma oavsett produktområde. Det som skiljer är vilka attribut som är obligatoriska för vissa kategorier, till exempel storlek och färg för kläder och skor.

Så fungerar en Google Shopping-feed för en butik

Boka 20 minuter med oss