Selling your products through online shopping engines requires coordination. Your website may update right away when a product changes price or goes in or out of stock, but you need to communicate those updates to your online shopping engines before they notice any changes for themselves. If your shopping engine checks your product page during an “update gap”—the time after your product information has changed but before your product feed has been updated—you risk having products temporarily disapproved and deactivated, causing you to miss out on valuable sale opportunities.
Most of the time, updating your product feed on a daily basis is enough to prevent any product disapprovals, but you’re not satisfied with most of the time. You want your shopping feed to reflect your current product information all of the time, maximizing your opportunity to make a sale. Isn’t there way to ensure that your shopping engine accounts always have the most up-to-date product information?
“What we’ve got here is a failure to communicate.”
The modern web is talkative. Websites communicate with one another like never before, sharing information back and forth in order to provide a richer, more connected user experience. A few years ago, the internet’s major search engines recognized that in order for sites to communicate effectively, they need to be able to speak the same language. So in 2011, Google, Bing, and Yahoo! launched Schema.org, an initiative to create “a common vocabulary for structured data markup on web pages.” (1)
In today’s vocabulary lesson, we will show you (and your website) how to speak the language of the modern internet, allowing you to communicate automatic item updates to Google Shopping and other shopping engines through the use of “microdata”, making communication breakdown a thing of the past.
First things first: What is a “schema?”
Schema.org provides a list of “schemas” which are guidlines on how to markup different types of objects on the internet (products, places, movies, events, etc.) to indicate the object’s important attributes. As an online retailer, there are two particular schemas that you will be most interested in: ‘Products’ and ‘Offers.’ Think of each of your product pages as containing both general ‘Product’ information (product name, brand, description, etc.) as well as embedded ‘Offer’ information on how to buy that product (price, availability, etc.).
Let’s look at a some example HTML code for a simple product listing.
<h2>”Feed On” T-Shirt</h2>
<div class=”item_id”>Product ID: TEE_01A</div>
<div class=”availability”>In Stock</div>
Our product listing has a product title and ID as well as information on price and availability. Now let’s take a look at the product listing with Schema.org “microdata” attributes added.
<div itemscope itemtype=”http://schema.org/Product”>
<h2 itemprop=”name”>”Feed On” T-Shirt</h2>
<div class=”item_id” itemprop=”productID”>Product ID: TEE_01A</div>
<div itemprop=”offers” itemscope itemtype=”http://schema.org/Offer”>
<span itemprop=”priceCurrency” content=”USD”>$</span><span itemprop=”price”>14.99</span>
<link itemprop=”availability” href=”http://schema.org/InStock”/>In Stock
<link itemprop=”itemCondition” href=”http://schema.org/NewCondition” />
Notice that our entire product listing has been wrapped in a <div> tag with an “itemtype” attribute declaring it as a Schema.org Product. Similarly, our Offer information (price, availability, and condition) has been wrapped with a <div> tag with an “itemtype” declaring it as an “Offer.” Within those <div> elements, the HTML tags corresponding to attributes like name, ID, price, etc. have been given appropriate “itemprop” attributes, according to the Schema.org guidlines for Products and Offers. Note that certain attributes like availability and condition require <link> tags instead of “itemprop” attributes.
So far, so good. But which attributes should I mark up?
As an online retailer, marking the Product attribute “name” and Offer attributes “price”, “currency”, and “availability” will be highly beneficial to you. It is also recommended that you include microdata for “condition.” Most “update gap” item disapprovals are caused by price or availability discrepancies, so tagging this information with microdata will be critical in avoiding temporary disapprovals. Schema.org provides a complete list of attributes, both required and optional, for the Product and Offer schemas.
If the thought of modifying your product pages individually seems daunting, fear not! Shopify and Magento allow users to implement microdata across all product pages by adding just a few lines of code to the platform’s product page configuration file.
So now my page can communicate updates to Google Shopping?
Almost! The last step is to enable automatic item updates in your shopping engine accounts. In your Google Merchant Center account, head to Settings and then Automatic Item Updates.
By embedding your product page with microdata to mark important product information, you are teaching your website to speak the language of Google Shopping and other shopping engines. The next time time there is a discrepancy on price or availability between your website and your shopping feed, your shopping engine will be able to resolve issues automatically by reading your site’s microdata, avoiding costly product disapprovals and making sure you never miss out on an opportunity for a sale!
If microdata is difficult for you to add, it’s critical to still make sure you can keep your product feed in sync with your website. One solution is to use a feed platform like Feedonomics that allows you to schedule a product feed to multiple engines, multiple times a day.
Of course, having pricing and availability are really just the bare minimums of what you need to do in terms of having well performing shopping feeds. Contact us today to learn more.
Brian Roizen is the Cofounder and Chief Architect of Feedonomics, a full-service feed optimization platform that optimizes product data for hundreds of channels. He has been featured on numerous podcasts and eCommerce webinars, and regularly contributes to Search Engine Land and other industry-leading blogs. Brian graduated summa cum laude from UCLA with both a Bachelor’s and Master’s degree in Mechanical Engineering.