I'm back with another Schema.org / Google inconsistency.
Our store sells many products that have different variants each with their own price. For example a heater may be sold in any of 8 BTU levels with a higher BTU heater costing more. We present all variants on the same product page and display a price range until the user selects their specific variant.
The question is how can I tell Google that the product has a price range? Or if I can enumerate the variants as individual sub-products with their own prices that may suffice.
What we've tried:
We started by using
priceSpecification property. We tried this with both an itemtype of
PriceSpecification and of
UnitPriceSpecification. These left us with the Error: Incomplete microdata with schema.org. in Google's Structured Data Testing Tool and even more importantly with error Missing: price in our Webmaster Tool's Structured Data tab (which nuked our rich snippet). This is supposedly because Google erroneously expects the
price property to always be set even if
priceSpecification is in use (see: This SO post on
priceSpecification ). Example:
<div itemtype="http://schema.org/Offer" itemscope itemprop="offers"> <div itemtype="http://schema.org/UnitPriceSpecification" itemscope itemprop="priceSpecification" class="price-box"> <span id="product-price-6048" class="price">$571.20 - $894.75</span> <meta content="571.2" itemprop="minPrice"> <meta content="894.75" itemprop="maxPrice"> <meta content="USD" itemprop="priceCurrency"> </div> </div>
We also tried just passing the human-readable string "$571.20 - $897.75" as the
price property. That obviously didn't work as Google didn't know how to parse it.
When a single product is associated with multiple offers (for example, the same pair of shoes is offered by different merchants)
While it will likely work for now, using
AggregateOffer in our case seems like a kludge that's liable to break.
So again, how can I inform Google that a product price is in a range depending on user selections? Has anyone had any success using the
PriceSpecification for a product, especially to list a product price range? Or is there another way to accomplish the same result?