Definitie
Offer-schema beschrijft het aanbod bij een product: prijs, valuta, beschikbaarheid, conditie, verzending en retour. Het hangt altijd onder een Product via de eigenschap offers.
Wat is Offer-schema?
Een Product zegt wat iets is. Een Offer zegt onder welke voorwaarden jij het verkoopt. Hetzelfde product kan bij tien winkels liggen. De Offer is jouw versie: jouw prijs, jouw voorraad, jouw levering.
De kern bestaat uit price, priceCurrency en availability. Daaromheen komen itemCondition (nieuw, gebruikt, refurbished), url, seller, priceValidUntil, shippingDetails en hasMerchantReturnPolicy.
Waarom het ertoe doet voor webshops
De Offer is het deel van de markup dat het vaakst verandert en dus het vaakst fout gaat. Een prijs die in de markup anders is dan op de pagina of in je Merchant Center-feed, levert afkeuringen in Merchant Center en verkeerde informatie in de zoekresultaten op. Google kan structured data gebruiken om prijs en beschikbaarheid in Merchant Center automatisch bij te werken. Dan moet die data wel kloppen.
Beschikbaarheid is de tweede bron van ellende. Gebruik de Schema.org-waarden: InStock, OutOfStock, PreOrder, BackOrder, Discontinued. Een uitverkocht product dat als InStock wordt opgegeven, levert een klik op die nooit converteert.
Gebruik voor itemCondition de Schema.org-waarden NewCondition, UsedCondition of RefurbishedCondition. Voor shops die naast nieuwe ook gebruikte of refurbished artikelen verkopen, is dit het veld dat de zoeker meteen laat zien wat hij koopt.
Offer, AggregateOffer en varianten
Een AggregateOffer geeft een prijsrange met lowPrice en highPrice. Dat is bedoeld voor een product dat door meerdere verkopers wordt aangeboden, niet voor jouw maten en kleuren. Voor varianten is ProductGroup met losse Products en elk een eigen Offer de nettere route.
Kortingen leg je vast met de actuele verkoopprijs als price. Wil je de oude prijs laten zien, dan gebruik je een priceSpecification van het type UnitPriceSpecification met priceType StrikethroughPrice. Google heeft daar eigen voorwaarden voor; check de documentatie voordat je het inbouwt.
In Magento haal je de prijs op via de final price inclusief catalog price rules, niet de basisprijs uit het attribuut. In Shopify gebruik je de prijs van de geselecteerde variant en let je op Shopify Markets: per land kan de valuta en prijs verschillen, en de markup moet de versie tonen die op die URL zichtbaar is.
Veelgemaakte fouten
Een komma als decimaalteken ("129,95") of een euroteken in het price-veld. Schema.org verwacht een getal met een punt. Prijs exclusief btw in de markup terwijl de pagina inclusief btw toont. priceValidUntil in het verleden, waardoor Google de prijs als verlopen kan zien. En een Offer die uit de full page cache komt terwijl de voorraad intussen op nul staat.
Controleer de Offer daarom niet alleen bij de bouw, maar ook na elke wijziging in prijsregels, valuta-instellingen of caching.
Offer met verzending naar Nederland
"offers": {
"@type": "Offer",
"price": "129.95",
"priceCurrency": "EUR",
"availability": "https://schema.org/InStock",
"itemCondition": "https://schema.org/NewCondition",
"shippingDetails": {
"@type": "OfferShippingDetails",
"shippingRate": { "@type": "MonetaryAmount", "value": "0", "currency": "EUR" },
"shippingDestination": { "@type": "DefinedRegion", "addressCountry": "NL" },
"deliveryTime": {
"@type": "ShippingDeliveryTime",
"handlingTime": { "@type": "QuantitativeValue", "minValue": 0, "maxValue": 1, "unitCode": "DAY" },
"transitTime": { "@type": "QuantitativeValue", "minValue": 1, "maxValue": 2, "unitCode": "DAY" }
}
}
}Verder lezen
Gerelateerde begrippen
Veelgestelde vragen
Moet de prijs in de markup inclusief btw zijn?+
De prijs in de markup moet overeenkomen met de prijs die de bezoeker op de pagina ziet. Voor een Nederlandse B2C-shop is dat inclusief btw.
Wat zet ik als availability bij een uitverkocht product?+
OutOfStock, of BackOrder of PreOrder als het product wel te bestellen is. Nooit InStock.
