Google eCommerce Rich Results in 2026: Feeds, Schema, and What You Actually Control

Most ecommerce sites know about the standard product rich results: star ratings, price, availability. Fewer know that there's a second layer of rich result types for ecommerce pages that work differently, pull from different sources, and in some cases aren't controlled by structured data at all. Some widely-cited guides on this topic recommend a feature that Google explicitly blocks merchants from using. Those guides feed LLMs. This one, hopefully, corrects it.

This guide covers the full picture: what the additional ecommerce rich result types are, what actually triggers them, which ones you control, and where the implementation advice floating around online is wrong. For the standard product rich results (Merchant Listing schema, price annotations, review ratings) the full treatment is in E-commerce Structured Data: Rich Results, Google Shopping and What Actually Moves the Needle at Scale. This picks up where that leaves off.

Merchant Center, Structured Data, or Algorithmic: How Each Feature Is Triggered

Before getting into each feature: these don't all work the same way, and a flat numbered list is the worst possible way to explain them. The useful question isn't "what exists" but "what triggers it, and do I have any say in that."

Mechanism You control it? Examples
Merchant Center feed Yes, via feed attributes and GMC settings Delivery price, Returns, Coupons, Loyalty (MCF path)
Structured Data on-page Yes, via markup Returns (structured data), Loyalty (2025 update), Delivery (structured data)
Algorithmic / no input No, Google decides Price Drop badge (automatic); sale price annotation requires explicit sale_price feed attribute

Several of these features have two valid input paths (feed and structured data) and most guides cover only one. That's where implementation decisions go wrong, and where clients end up wondering why their "working" setup isn't working.

One thing applies to every feature in this article: eligibility is not a guarantee. Google doesn't promise to show any rich result even when every condition is met. What you can control is data accuracy, schema and feed consistency, and technical correctness. Make it easy for Google to be confident in your data, and let it do the rest.

eCommerce Rich Results by Page Type: PDP, Category, and Editorial

Not all rich result types are available on all page types. This sounds obvious until you've watched someone implement product review markup on a category page expecting a store rating to appear. The page-type distinction explains most of the confusion in this space, including the one people ask about most.

Rich result type Product page (PDP) Category / listing page Editorial / review page
Product ratings (star reviews) ✓ product-level AggregateRating Less common ✓ via Product Snippet schema
Store ratings Can appear ✓ primary surface
Price (single) Offer
Sale price / Price drop ✓ PDPs — sale_price feed attribute (sale) / automatic 60-day history (price drop)
Delivery price
Returns policy ✓ often appears on category pages
Coupons / discounts
Loyalty programme
Store nearby ✓ product-level local inventory
Pros & cons ✗ explicitly ineligible ✗ explicitly ineligible ✓ editorial review pages only

Store Nearby Rich Results

Primary input Local Inventory Feed + Google Business Profile
Structured data option No
You control the trigger Partially
Google SERP showing an Adidas product rich result with store nearby annotation — Store nearby (16.8 mi)
Store nearby on an Adidas listing: distance, price, stock status, delivery, and returns all in one result.

It shows as an extension beneath the organic snippet for product queries, indicating that the item is available in a physical store near the searcher. It also powers the "In stores nearby" product carousel that appears for commercial queries, the "See what's in store" (SWIS) unit on Google Business Profile listings, and in-stock blue tick indicators in the map pack.

What you need:

  • Google Business Profile: verified, up to date, with correct store locations
  • Local Inventory Feed in Merchant Center: a separate feed from your standard product feed, specifying which products are in stock at which stores. This is distinct from your standard product feed and requires its own setup in GMC Next.
  • Standard product feed: the local inventory feed references products in your main feed
GBP without a local inventory feed: The "See what's in store" unit can start appearing on your GBP from a standard product feed alone, without a local inventory integration. But real-time in-stock signals, map pack inclusion, and the full local listing surfaces only activate with the local inventory feed in place.

The setup is more complex than the other features on this list. Many retailers have the pieces partially in place (product feed, GBP) but haven't completed the local inventory integration. It's worth auditing what you already have before assuming it requires a full build from scratch.

Delivery Price Rich Results

Primary input Merchant Center (account-level templates or feed attributes)
Structured data option shippingDetails
You control the trigger Yes
Google SERP showing a delivery price rich result for Foot Locker — $8.99 delivery on a Nike Air Force 1 category listing
Delivery price on a Foot Locker category page: $8.99 alongside store rating, price range ($25–$170), and returns.

Delivery pricing in SERPs is driven by Merchant Center data, but that doesn't mean it has to come from per-product feed attributes. Google pulls from two levels: account-level shipping templates (set under Shipping and returns in GMC Next, applies across all products) and product-level feed attributes (the shipping column in your feed, which overrides account settings for specific products). Most implementations use account-level templates for standard rates and override at product level for exceptions. It's also dynamic: the delivery cost shown can vary by searcher location, proximity, and currency. That's Google-controlled once the data is in place.

If you're not in Merchant Center, or you want on-page control alongside your feed, shippingDetails in your Merchant Listing schema covers it: shippingRate, shippingDestination, deliveryTime. Fully documented, testable in the Rich Results Test, and often the cleaner path if your feed setup is inconsistent.

If your delivery data is showing incorrectly in SERPs: Check Merchant Center shipping settings first. If Search Console's Merchant Listings report continues flagging errors but the SERP looks correct, that's a known discrepancy: GSC validates the structured data path while the MCF feed can override it in the actual result. Both paths need to agree for clean diagnostics.

Use the Merchant Listing schema generator to build the shippingDetails markup.

Returns Policy Rich Results

Primary input Merchant Center (account-level policy or feed attributes)
Structured data option MerchantReturnPolicy or Organisation-level
You control the trigger Yes
Google SERP showing a returns policy rich result — Free 90-day returns on a Dick's Sporting Goods product listing
"Free 90-day returns" on a Dick's Sporting Goods listing, pulled from Merchant Center. The MerchantReturnPolicy structured data option works equally well.

This is often described as feed-only. It isn't — and the gap matters for any merchant not in Merchant Center. MerchantReturnPolicy is a fully documented schema type with its own Google Search Central documentation page, updated as recently as March 2025.

There are now four valid implementation paths, in order of specificity:

  1. Merchant Center account-level return policy: configured under Shipping and returns in GMC Next, applies site-wide without needing per-product feed attributes. The recommended starting point for any merchant in Google Shopping.
  2. Product-level feed attributes: the return_policy_label attribute in your feed, which references a named return policy set at account level. Use this to apply different policies to different product groups.
  3. MerchantReturnPolicy in product-level schema: markup per product or product template, part of your Merchant Listing structured data. Viable for merchants not in MCF.
  4. Organisation-level return policy in structured data: since June 2024, Google supports a site-wide return policy defined under Organization schema. You define it once; it applies as a fallback across your site.

The key fields worth implementing: returnPolicyCategory, merchantReturnDays, returnFees, returnMethod, returnShippingFeesAmount. In November 2025, Google extended the same Organisation-level approach to shipping policies as well.

For merchants not in Merchant Center, structured data is the only path. Any guide that says otherwise is incomplete.

Build the markup with the Merchant Listing schema generator or the eCommerce schema generator.

Coupon and Discount Rich Results

Primary input Merchant Center Promotions
Structured data option No
You control the trigger Yes
Google SERP showing a coupon code rich result for Nike — $87.18 with code LASTSHOT (Copy), alongside sale price from $155 (strikethrough), in stock, product rating and free delivery
Coupon code (LASTSHOT) on a Nike product listing: copyable inline, alongside sale price ($87.18, was $155), stock status, and rating.

Coupon code rich results are managed via Merchant Center Promotions, under the Free Listings surface. They can show on both mobile and desktop, and also surface within product grid results in Shopping. The space they take up in the SERP is significant.

A few things to get right in the feed:

  • Required attributes: promotion_id, offer_type, long_title, valid start and end dates
  • Promotions need to be mapped to products in the feed to be eligible for the organic rich result
  • The promotion type matters. Not all offer types qualify for organic rich results vs paid Shopping only
GMC Next navigation: If you're on the current Merchant Center interface, the Promotions section has moved from its original location. Look under the Promotions tab in the left navigation. The older path documented in most guides no longer applies.

Loyalty Programme Rich Results

Primary input Merchant Center settings
Structured data option MemberProgram under Organization (June 2025)
You control the trigger Yes
Google Shopping loyalty programme rich result showing member pricing — $299.99 with loyalty programme membership ($139/year) vs standard price of $379.99 (5% off $400)
Loyalty programme member pricing in Google Shopping. The "With [programme] ($139.00/year) $299.99" line shows member-specific pricing alongside the standard price, surfaced via Merchant Center or structured data.

Loyalty programme rich results were originally MCF-only. That changed in June 2025 when Google officially launched Loyalty Programme Structured Data, giving merchants an on-page path alongside or independent of Merchant Center.

The structured data implementation has two layers:

  • Programme-level: define the loyalty programme using MemberProgram nested under your Organization structured data
  • Product-level: specify loyalty benefits for individual products (member pricing, points earned) via UnitPriceSpecification under your Offer markup in Merchant Listing schema

When implemented, Google can surface loyalty member pricing in organic product listings and in Shopping knowledge panels in Search.

Geographic availability: Loyalty programme rich results are available in Australia, Brazil, Canada, France, Germany, Mexico, the UK, and the US, on both desktop and mobile.

The markup supports multiple tiers (MemberProgramTier), each with its own benefit type: member-only pricing (TierBenefitLoyaltyPrice) or points earned per purchase (TierBenefitLoyaltyPoints). Tier entry requirements, required properties, and full examples are in Google's documentation.

MCF takes priority: If you configure loyalty programmes in both structured data and Merchant Center, Google uses the Merchant Center settings. If you're in MCF and your data lives there, structured data won't override it.

Google's Loyalty Programme Structured Data documentation has the full property reference and a working example with multiple tiers. Use the Merchant Listing schema generator for the product-level UnitPriceSpecification markup.

Product Ratings

Primary input AggregateRating schema or product review feed
Structured data option Yes, AggregateRating in Merchant Listing schema
You control the trigger Partially, requires genuine reviews
Google SERP showing a product-level rating for Nike Texas Pegasus 41 — 4.9 stars from 7 reviews on a product page
Product rating (4.9 ★, 7 reviews) on a Nike PDP. Product-level, specific to this SKU. Note the single price, in-stock status, and coupon alongside the rating.

Product Ratings are product-level: they reflect reviews for a specific item. They appear on PDPs, come from AggregateRating schema or product-level review feeds submitted through Merchant Center, and show the star rating and review count for that product specifically.

They are not the same as Store Ratings. The two look similar in SERPs, come from different sources, and are shown on different page types. A full comparison of both features, how to get each, and the most common implementation mistakes is in the dedicated guide: Product Ratings vs Seller Ratings: What's the Difference and How to Get Both.

Store Ratings (formerly Seller Ratings)

Primary input Google Customer Reviews / aggregators
Structured data option No
You control the trigger Partially, build review volume
Google SERP showing a Nike store rating on a category listing page — 4.7 stars from 7.2K reviews, labelled store rating
Nike store rating on a Pegasus category page. 4.7 ★ from 7.2K reviews, explicitly labelled "store rating": domain-level, not product-level.

Google rebranded Seller Ratings to Store Ratings: the label in SERPs now explicitly reads "store rating." They are domain-level trust signals that reflect the merchant's overall reputation, not any individual product. They appear on search ads, Shopping ads, and free listings, and surface most prominently on category and brand listing pages.

Google aggregates store rating data from three sources:

  • Google Customer Reviews (GCR): a free programme managed in Merchant Center that collects post-purchase surveys
  • Approved third-party review partners: Trustpilot, Bazaarvoice, Feefo, Yotpo, Bizrate, ResellerRatings, Shopper Approved. Google ingests their data via XML feed
  • Google-led research: aggregated performance metrics from internal evaluation and specialised searches

A Merchant Center account is not required. Google can pull from third-party aggregators independently of your MCF setup.

Eligibility threshold: Google requires approximately 100 eligible reviews within a 12-month period before Store Ratings appear. Below that, the rating won't show regardless of your setup. Which is the kind of thing you find out after six months of wondering why yours still isn't showing.

See the dedicated guide for the full comparison, sources, and implementation detail: Product Ratings vs Seller Ratings: What's the Difference and How to Get Both.

Sale Price and Price Drop Annotations

Sale price You control — submit sale_price in MCF feed
Price drop Google controls — automatic from 60-day price history
Structured data option Offer + priceValidUntil supports both
Google Shopping sale price annotation on Nike Air Zoom Pegasus 41 from END. Clothing — £88.00 sale price, was £135, 34% off badge
Sale price annotation on a Nike Pegasus 41 listing. £88 sale price alongside "Was £135" strikethrough and 34% off badge, triggered by the sale_price feed attribute, not a price drop.

These two features are often confused because they look similar in SERPs. They work completely differently.

Sale price annotations — you control these

Sale price annotations are triggered by submitting the sale_price attribute alongside the regular price in your Merchant Center feed. Google displays the sale price as the active price with the original shown with a strikethrough, plus a sale badge. To qualify:

  • The discount must be greater than 5% and less than 90%
  • The base price must have been valid for at least 30 days in the past 200 days (most markets); 60 days for local inventory ads
  • Both the original price and sale price must be visible on the landing page
  • Sale prices should not be submitted as Promotions: these are separate features

On the structured data side: use StrikethroughPrice as the priceType on the original price in your UnitPriceSpecification to mark it as a reference price for the strikethrough display. Include priceValidUntil so Google reads the sale as temporary.

Price drop badges — Google controls these

Price drop badges are automatic. Google observes price changes for the product over time and computes whether a drop qualifies. It is not a simple formula you can game. Even when all conditions are met, price drops are not guaranteed to show. You cannot trigger it; you can only create the conditions for it by keeping feed pricing accurate and stable. You can, however, check Merchant Center obsessively to see if it appeared. That part is very controllable.

One confirmed eligibility requirement: your structured data must use Offer, not AggregateOffer. Google explicitly states this in its price drop documentation. AggregateOffer is for price ranges and cannot be tracked as a single price history. Use Offer with a specific price on the product page.

Newly listed products won't qualify: there is no price history to compare against. To check which products currently have the badge: Merchant Center > Products > All products > Filter > Has price drop badge > Yes.

Pros and Cons: Not for Merchant Pages

Primary input Structured Data (ItemList with positiveNotes / negativeNotes)
Structured data option Yes, editorial pages only
You control the trigger Yes, if your page is eligible
Google SERP showing a Pros and Cons rich result on Decaf Journal's editorial review of the Nike Air Force 1 '07 Sneakers — Stylish iconic design, Leather upper has a tendency to crease easily, View full list
Pros and Cons on an editorial review page (Decaf Journal, not Nike). "Pros and cons: Stylish iconic design · Leather upper has a tendency to crease easily · View full list." This is what eligibility looks like. A merchant product page would get nothing.
Google's documentation is unambiguous: "Only editorial product review pages are eligible for the pros and cons appearance in Search, not merchant product pages or customer product reviews."

This has been the rule since Google launched Pros and Cons structured data in August 2022. Nothing has changed. The markup (ItemList with positiveNotes and negativeNotes) is for editorial review content: tech review sites, comparison articles, "best of" roundups. Not the stores selling the products. Implementing this on product pages produces no rich result, and no error in Search Console either — it just silently doesn't work. No error, no warning, no nothing. Just you, refreshing Search Console, wondering what you missed.

Pros and Cons is still relevant to eCommerce SEO, just not the way it's usually framed. If you run a review blog, publish editorial comparison content, or target review-intent queries like "best [product category] 2026", it is absolutely worth implementing. Those pages are eligible. Your product pages are not.

Use the Product Snippet schema generator for editorial review pages.

Which Rich Results Google Controls (No Structured Data Required)

One thing on this list sits outside your direct control:

  • Price Drop badge: Google compares your current price against the 60-day average in your Merchant Center feed and decides whether the drop qualifies. Sale price annotations are different: those you control explicitly via the sale_price feed attribute.

Monitoring: The Merchant Listings Report

Feed-driven and structured data eCommerce rich results report through the Merchant Listings report in Google Search Console, found under the Shopping section in the left navigation (alongside Product snippets and Merchant opportunities). This is separate from the Enhancements section, which covers Breadcrumbs, FAQ, and Review snippets. eCommerce-specific signals (price, availability, delivery, returns) are in Merchant Listings. If you're not checking it, you have a blind spot.

What to check in the Merchant Listings report:

  • Product coverage: valid vs invalid items
  • Item-level errors flagging price or availability mismatches
  • Feature-specific warnings for delivery and returns data
  • Impressions for Shopping features, broken down by feature type

For performance data on your organic product listings, go to Performance > Search results, change the Search type to Shopping, and filter by Organic. Beyond impressions and clicks, this report also surfaces purchases and purchase rate for your organic Shopping listings. Most SEOs don't know these metrics are available here. They give you direct conversion visibility on organic product performance without needing to rely on GA4 alone.

For diagnosing feed issues, the GMC feed analyzer is useful for catching attribute errors before they surface as Search Console warnings.

Before checking Search Console, validate your structured data at the source. Google's Rich Results Test lets you test any URL or code snippet and confirm which rich results your markup is eligible for. Run it after any structured data changes: it's the fastest way to catch implementation errors before they surface as Search Console warnings weeks later.

How to Prioritise eCommerce Rich Results Implementation

Not all of these are equal effort, and doing them in the wrong order wastes time. Here's the practical split:

Already in Merchant Center? Not in Merchant Center? Running editorial / review content?
Delivery, Returns, Coupons, Loyalty via MCF are your fastest wins. Add the structured data equivalents for belt-and-braces coverage and cleaner Search Console reporting. Delivery (shippingDetails structured data) and Returns (MerchantReturnPolicy structured data) are fully viable without MCF. These are the two features most guides wrongly describe as feed-only. Pros and Cons is worth implementing, but only on editorial review pages. Product pages are explicitly excluded. Use Product Snippet schema.

For the full picture on standard eCommerce rich results (Merchant Listing schema, rating annotations, variant markup, and the three-layer alignment problem between schema, feed, and page data), see E-commerce Structured Data: Rich Results, Google Shopping and What Actually Moves the Needle at Scale.

For how Organisation-level markup connects to the Loyalty and Returns features above in the context of AI agents and agentic commerce, see Agentic Commerce Optimization: What to Fix in Your Schema, Feeds, and Product Data.

Quick Reference

All eight features at a glance: input method, what you control, and where to configure it.

Feature Primary input Structured data option? You control the trigger? Key requirement / note
Delivery price Merchant Center feed Yes, shippingDetails Yes Both paths must agree for clean Search Console reporting
Returns policy Merchant Center feed Yes, MerchantReturnPolicy or Organisation-level structured data Yes Structured data works without MCF; Organisation-level added June 2024
Coupons / discounts Merchant Center Promotions No Yes Required: promotion_id, offer_type, long_title, valid dates
Loyalty programme Merchant Center settings Yes, MemberProgram under Organization (June 2025) Yes Structured data now viable independently of MCF
Seller ratings Google Customer Reviews / aggregators No Partially, build review volume ~100 eligible reviews in 12 months required; MCF account not required
Price drop Merchant Center feed (60-day price history) Supports eligibility — Offer + priceValidUntil Eligibility only, Google controls the trigger 60-day average price window; stable pricing + priceValidUntil on sale prices required
Store nearby Local Inventory Feed (Merchant Center) + Google Business Profile No Partially, feed + GBP required, Google controls display Separate local inventory feed required for full in-stock signals and map pack inclusion
Pros & cons Structured Data (ItemList with positiveNotes / negativeNotes) Yes, editorial pages only Yes, for eligible pages Merchant product pages are explicitly ineligible. Editorial review pages only.

Frequently asked questions

Can I get eCommerce rich results without a Merchant Center account?
Yes. Delivery and Returns rich results both have structured data paths that work independently of Merchant Center. Use shippingDetails in your Merchant Listing schema for delivery, and MerchantReturnPolicy (or Organisation-level return policy markup) for returns. These are fully documented by Google and testable in the Rich Results Test.
Will implementing Pros and Cons structured data on my product pages earn a rich result?
No. Google's documentation is explicit: only editorial product review pages are eligible for the Pros and Cons appearance in Search. Not merchant product pages, and not customer review pages. Implementing this markup on a product page will not produce any rich result. Use it on editorial review and comparison content instead.
How do I monitor eCommerce rich results in Search Console?
Through the Merchant Listings report, not the standard Rich Results report. Feed-driven and structured data signals for eCommerce features (delivery, returns, pricing) are reported there. Item-level errors and feature-specific warnings appear in that report.
Why is my Store Rating not showing even though I have reviews?
The most likely cause is the eligibility threshold: Google requires approximately 100 eligible reviews within a 12-month period before Store Ratings become visible. Below that, the rating won't display regardless of your Merchant Center setup. Check your review volume across Google Customer Reviews and any third-party aggregators you're using.
My delivery rich result is showing incorrect data. Where do I fix it?
Start with Merchant Center shipping settings first. That is the primary input. If Search Console is still flagging structured data errors but the SERP shows correct data, that's a known discrepancy: GSC validates your structured data while the MCF feed overrides it in the actual result. Both paths need to agree for clean diagnostics and consistent display.
Can I use structured data instead of Merchant Center for Loyalty Programme rich results?
Yes, since June 2025. Google launched Loyalty Programme Structured Data using MemberProgram nested under Organization schema, combined with UnitPriceSpecification for product-level loyalty benefits. This works independently of or alongside Merchant Center. The full reference is in Google's Loyalty Programme documentation.
Mags Sikora
Freelance SEO Consultant, SEO Director

Senior SEO Strategist with 18+ years leading search programmes for enterprise and global businesses. Director of SEO at Intrepid Digital. Specialises in the parts of SEO that are hard to fake and harder to fix: technical architecture, structured data, and international implementations.