Missing field "priceValidUntil" (in "offers"): safe to ignore?
Yes, unless the product is on sale with an end date. The warning is non-critical. Watch for the opposite problem: a priceValidUntil date in the past can stop your product's rich result from showing.
- Non-critical
Missing field "priceValidUntil" (in "offers")
Shopping > Product snippets
Non-critical: the item can still show as a rich result.
By Bruno Amorim · ·
Google describes priceValidUntil as the date after which the price is no longer available, "if applicable". Its docs warn that a listing may not display if that date has passed. So a missing date costs nothing, and a stale one can cost you the rich result.
Check for an old date first
- Run a product page through the Rich Results Test and open the offer details, or search the page source for
priceValidUntil. - If a date shows and it's in the past, fix that now. It can come from a sale that ended, or a date someone typed into a theme or app once and forgot.
- If no date shows and the product isn't on sale, you're done. Leave the warning.
Add it for a sale
Google's sale example puts the sale price in price, the start in validFrom, and the end in priceValidUntil. The old price goes in a priceSpecification marked as a strikethrough price. Use priceValidUntil or validThrough for the end, not both.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Canvas Weekender Bag",
"image": "https://example.com/photos/weekender-bag.jpg",
"offers": {
"@type": "Offer",
"price": 69,
"priceCurrency": "USD",
"availability": "https://schema.org/InStock"
}
}
</script><script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Canvas Weekender Bag",
"image": "https://example.com/photos/weekender-bag.jpg",
"offers": {
"@type": "Offer",
"price": 69,
"priceCurrency": "USD",
"availability": "https://schema.org/InStock",
"validFrom": "2026-11-20T08:00:00-05:00",
"priceValidUntil": "2026-11-30T23:59:59-05:00",
"priceSpecification": {
"@type": "UnitPriceSpecification",
"priceType": "https://schema.org/StrikethroughPrice",
"price": 89,
"priceCurrency": "USD"
}
}
}
</script>Google asks for the date in ISO 8601 format, with the time and time zone for accuracy.
What your platform does
Shopify
The structured_data filter that Dawn and Horizon use leaves priceValidUntil out, so this warning is common on Shopify stores. It's safe to leave.
WooCommerce
WooCommerce's own markup fills priceValidUntil with December 31 of next year, or with the sale end date when a sale is scheduled. With Yoast WooCommerce SEO, Yoast's help says the date comes from a scheduled sale: Products > your product > Product data > General > Sale price > Schedule.
BigCommerce
Cornerstone sets priceValidUntil to one year from the day the page is built, so the date never falls in the past.
Questions
Is "Missing field priceValidUntil" an error?
No. It's a non-critical issue. The product can still show its price in Google without it.
What date should I use if the price has no end date?
Leave the field out. Google says to use it if applicable. Some platforms fill in a date a year ahead. That's fine as long as the date stays in the future.
My sale ended. Do I need to change anything?
Yes. Remove the sale dates or update them when the sale ends, so the markup shows the current price and no past priceValidUntil.
Sources
Checked on October 8, 2026. Vendors change their tools and docs, so check the source if something looks different.
- Google Search Central: Merchant listing (Product, Offer) structured data
- Google Search Central: Product snippet structured data
- Shopify Liquid reference: structured_data filter
- WooCommerce source: structured data class
- Yoast help: missing field priceValidUntil
- BigCommerce Cornerstone theme source: product schema template
See which of your pages Google left out
Prices, stars, and breadcrumbs only show for pages in Google's index. CrawlCoach shows which of your pages Google left out, and the fix for each.
Get my free reportFree for up to 500 pages. No card needed. Sign in with the Google account you use for Search Console.
More structured data fixes
- Product snippets: missing fieldsMost Product snippets warnings are non-critical. Missing field "review" or "aggregateRating" usually means the page has a price but no ratings, and Google's own docs say that can trigger a warning you can leave.
- Merchant listings: missing fieldsA missing name, image, or offer price is critical: those products can't show as merchant listings until you fix it. A missing description, shippingDetails, hasMerchantReturnPolicy, or GTIN is non-critical and can wait.
- Either "offers", "review", or "aggregateRating"Google found Product markup with no price, no review, and no rating, so that product can't get a rich result. Give the markup an offer, or remove the stray Product block that shouldn't be there.