Feed error
WarningMissing structured data
A "Missing microdata" warning means Google found no usable structured data for price, availability or condition on the product page, so it cannot check the feed against the page. On Shopify it usually means the theme outputs incomplete product markup, or apps add conflicting markup.
How this appears in your account
The exact wording the channel shows, so you can match what you are looking at.
- Missing microdata for price
- Missing microdata for availability
- Missing microdata for condition
- Not performing automatic item updates for price
What it affects
- Channels
- Google Shopping
- Attributes
- price availability condition sale_price
- Scope
- A subset of items
Why it happens on Shopify
The theme outputs no Product markup or an incomplete one
Older and heavily customised Shopify themes may omit Product structured data or leave out properties such as availability or condition. Google then has nothing reliable to compare the feed against.
Several sources output conflicting markup
Themes and SEO or review apps can each add their own Product markup. Duplicate blocks with different prices or availability leave the page saying two things at once.
The markup describes the wrong variant
Product pages with variants often mark up only the default variant. A feed row for a different size or colour then meets a page whose markup does not describe it.
Prices are rendered after page load
Currency converters and pricing apps that change the price with JavaScript can leave the markup in the initial HTML showing a different value from the one customers see.
How to fix it
-
Test an affected page with the Rich Results Test
Check that it finds one Product with an offer containing price, priceCurrency and availability, and whether condition is present. Google lists all four as required for automatic item updates.
-
Remove duplicate markup
If the test finds more than one Product block, keep a single source, usually the theme, and switch off the markup option in the other apps.
-
Add the missing properties to the theme
Google recommends JSON-LD in the initial HTML. Add availability and itemCondition alongside price in the theme's product template, with one offer per variant where possible.
-
Make the markup match what customers see
The values must match the page and the feed. Google treats incorrect microdata on landing pages as a breach of its guidelines, and a large-scale mismatch can stop automatic item updates for the whole account.
-
Keep the feed aligned with the page
Correct markup only helps if the feed carries the same price, availability and condition. Regenerating the feed from current catalogue data keeps the two in step.
How feedlab handles this
feedlab builds price, sale_price, availability and condition from the synced Shopify catalogue on a schedule, so the feed tracks the same data the theme renders. The markup itself lives in the Shopify theme, so missing structured data still has to be fixed there.
Frequently asked questions
Will missing microdata get my products disapproved?
Not directly. It weakens Google's ability to confirm the feed against the page. Where Google cannot determine price, availability or condition from the page at all, affected products can be disapproved, and a widespread mismatch can stop automatic item updates.
Does fixing the feed clear this warning?
No. The warning is about the markup on your product pages, not the feed. The structured data in the Shopify theme has to be corrected, then Google needs to recrawl the pages.
Should I use microdata or JSON-LD?
Google accepts both but recommends JSON-LD, because it sits apart from the visible page code and is easier to maintain. It should be present in the initial HTML.
Related errors
- Mismatched value: price The price mismatch error means the price in the feed does not agree with the price the channel found when it crawled the landing page. On Shopify the three usual culprits are a feed that has not regenerated since a price change, a link pointing at the wrong market's storefront, and a tax convention difference between the feed and the displayed price.
- Mismatched value: availability The availability mismatch error means the feed says an item is purchasable but the crawled landing page suggests otherwise, or the reverse. On Shopify it is usually a stale feed after a sell-out, or an availability value derived from inventory quantity alone without accounting for variants that do not track inventory or that allow overselling.
- Automatic item updates Automatic item updates let Merchant Center overwrite price, availability or condition with what it finds on the landing page. The warnings appear when Google stops doing so, usually because structured data is broken or conflicts too often with the feed. On Shopify the cause is usually theme markup or a stale feed.
Primary sources
Channel specifications change. These are the official documents this page is based on.