SEO vs. PPC: Structured data markup for product variants

SEO vs PPC Structured Data Markup For Product Variants

You did it – you finally did it! You’ve implemented all recommended types and properties throughout your Magento store only to see Google Merchant Center warning you for “Insufficient match of microdata price information”. Let’s admit it – we’ve all been there at least once.

Although we don’t usually face this issue on simple product pages (since product markup on these pages is pretty straightforward), we can often find it on product variants.

Since setting up correct structured data markup on grouped and configurable products isn’t always easy as it seems, I’ve prepared this short guide that should serve you for both SEO and PPC purposes.

What are product variants?

As the name says, product variants are the same (or very similar) products that vary by size, color, condition, material, etc. In Magento, those are usually simple products with custom options, configurable products, grouped products, and bundle products.

Product variants with price ranges

As you can see in the example above, each variation can have a different price, making it difficult for GMC (Google Merchant Center) crawlers to match the price with a specific variation. In that case, it’s essential to implement correct to avoid Google Merchant Center issues and get the most out of your structured data markup.

If it fits – I sits… or not?

If structured data markup helps search engines understand the website’s content better, shouldn’t a correct implementation for the SEO also work for the PPC? Well, when it comes to product variants, the answer isn’t that simple.

The main cause of this complexity is that Magento has several product types that can be used simultaneously. Since Google recommends adding product details markup only on one product page, implementation with different product types visible on the frontend can be challenging.

Another issue is that Google Merchant center has strict rules for product data quality. If you want to enable automatic item updates (and you usually do), the prices in your feed need to match prices in the structured data markup, which isn’t always possible if your markup is SEO driven.

Thereby, just because something fits – it doesn’t mean it’s right.
Exact match

Since structured data markup requirements for product variant pages can be very contradictory (depending on if you’re looking from the SEO or PPC perspective), it’s essential to look from both sides to find the best implementation for your store.

How to optimize product variants structured data markup for search engines?

When it comes to SEO, things are pretty much straightforward. An optimal way to implement product schema markup on product variants is to use Aggregate Offer to display the range of prices in rich results.


If everything is ok, the end result on search engine result pages should look like this:

AggregateOffer SERP

It looks great, right? But as we said before, this is where the SEO and PPC implementation of structured data markup differs. If you try to send these product pages to Google Merchant Center, you’ll likely receive the following warning:

Insufficient Match of Microdata Markup

As a quick fix, you can pause Automatic items updates, but only until you implement a better, long-term solution to your site. Turning off automatic updates might result in many unsatisfied users that came to your site because they’ve seen great deals on Google Shopping, only to find out that the prices have changed.

So, what should you do?

Start adjusting your Google shopping feeds and structured data markup to match Google Merchant Center requirements

Since you don’t want to lose all the benefits you get from correct implementation for the SEO, the best way to do structured data markup on product variants is to tweak your google shopping feed configuration.

The first step would be to adjust your feed to add a simple product identifier in the URL (such as SKU) on product variant pages. Don’t forget that these “new” pages should always have a rel canonical that points to the main page to avoid duplicate content issues.

Since each product variant should now have a unique URL in the shopping feed, the next step would be implementing a product schema with a specific Offer for that exact item.


Let’s take a look at an example.

Suppose is a configurable product whose price varies by size. The first step is to configure your shopping feed to form a unique URL for associated products.

After that, each product variant should have its specific identifier in the URL:

Since all these pages are copies of their parent, they should have a as a rel canonical.

Additionally, keep in mind that each child product should have only its own markup assigned (one Offer per product), since their parent ( will represent all variants within the AggregateOffer.

Don’t forget to test!

The best way to ensure you did everything right – is to test your products in Rich Results Tester, Google Merchant Center, and Google Search.

Bear in mind that you won’t be able to see the rich snippets if your product isn’t among the top 10 results, so make sure to check the well-ranked products.

If you need any advice or assistance with structured data markup implementation, please let us know. I’m confident we’ll find the best solution for your business specifically.

You made it all the way down here so you must have enjoyed this post! You may also like:

Avoid Account Suspensions With Google Merchant Center Feed Rules Andreja Cicak
Andreja Cicak, | 0

Avoid Account Suspensions With Google Merchant Center Feed Rules

How to configure your Google Shopping Feed in Magento Andreja Cicak
Andreja Cicak, | 0

How to configure your Google Shopping Feed in Magento

How to set up Google Shopping promotion: Magento 2 & Google Merchant Center side Tea Pisac Benes
Tea Pisac Benes, | 1

How to set up Google Shopping promotion: Magento 2 & Google Merchant Center side


  1. Very useful article Andreja highlighting the issues between using structured data for PPC and the Google Merchant centre. There’s no doubt that schema helps and should be used so understanding how to make it work for SEO and PPC together will be of great benefit to a lot of businesses I’m sure.

  2. That’s nice, structured data markup can be very helpful for both SEO and PPC for products getting listed on featured snippets. You have written a good article, excellent job.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <blockquote cite=""> <code> <del datetime=""> <em> <s> <strike> <strong>. You may use following syntax for source code: <pre><code>$current = "Inchoo";</code></pre>.

Tell us about your project

Drop us a line. We'd love to know more about your project.