{"id":883,"date":"2019-09-16T06:00:10","date_gmt":"2019-09-16T13:00:10","guid":{"rendered":"https:\/\/technicalseo.com\/insights\/?p=883"},"modified":"2019-09-05T08:21:26","modified_gmt":"2019-09-05T15:21:26","slug":"product-schema-google-merchant-vs-google-search","status":"publish","type":"post","link":"https:\/\/technicalseo.com\/insights\/blog\/product-schema-google-merchant-vs-google-search\/","title":{"rendered":"Product Schema for Google Merchant vs. Google Search"},"content":{"rendered":"\n<p>It\u2019s an unexpected battlefield. <a href=\"https:\/\/schema.org\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\" (opens in a new tab)\">Schema.org<\/a> is a mutual effort amongst search engines to create a code meant to deliver essential information about a webpage in the most succinct and direct manner possible. It\u2019s reasonable to expect structured data that works for Google Search should work for Product Listing Ads (PLAs) in Google Merchant, right?<\/p>\n\n\n\n<p><strong>We discovered incongruity between <a rel=\"noreferrer noopener\" aria-label=\" (opens in a new tab)\" href=\"https:\/\/developers.google.com\/search\/docs\/data-types\/product\" target=\"_blank\">Google Search<\/a> Product structured data and <a href=\"https:\/\/support.google.com\/merchants\/answer\/6386198\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\" (opens in a new tab)\">Google Merchant<\/a> Product structured data.<\/strong><\/p>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<h2>Offer vs. AggregateOffer<\/h2>\n\n\n\n<p>The markup for a product page seems straightforward at first. You\u2019re selling a widget and that widget has a price, name, availability, image, etc. One widget, one price, and one offer in the eyes of structured data. This is when you use the &#8220;Offer&#8221; type with the &#8220;offers&#8221; property. Using the example code <a rel=\"noreferrer noopener\" aria-label=\" (opens in a new tab)\" href=\"https:\/\/developers.google.com\/search\/docs\/data-types\/product\" target=\"_blank\">provided by Google<\/a>, we can test it with the <a rel=\"noreferrer noopener\" aria-label=\" (opens in a new tab)\" href=\"https:\/\/search.google.com\/test\/rich-results\" target=\"_blank\">Rich Results Test<\/a> and see an example of what this looks like in the SERP (Search Engine Results Page). <\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" width=\"253\" height=\"124\" src=\"https:\/\/technicalseo.com\/insights\/wp-content\/uploads\/2019\/08\/product-offer-schema-google-merchant-google-search-01.jpg\" alt=\"\" class=\"wp-image-938\"\/><figcaption><em>Rich Results Test for Google\u2019s example code<\/em> <\/figcaption><\/figure><\/div>\n\n\n\n<p>Often a merchant will sell widgets that vary in size and price. This is when you use &#8220;AggregateOffer&#8221;\u2014one widget, several prices, and several offers in the eyes of structured data. Schema allows for price variances based upon color as a property, not size. Given the number of products that vary in price due to size, this seems like a big omission. <\/p>\n\n\n\n<h2>Represent a range of prices (product variants)<\/h2>\n\n\n\n<p>Product variants are marked-up with the &#8220;AggregateOffer&#8221; type with the &#8220;offers&#8221; property. The most common example is when multiple sellers are offering the same product on one page, but that\u2019s not the only use case. Every product variant is an offer. The small, medium, and large widgets are actually three individual products on offer. Again, using Google\u2019s example code, we can test it with the Rich Results Test and see an example of what this looks like in the SERP. <\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" width=\"253\" height=\"121\" src=\"https:\/\/technicalseo.com\/insights\/wp-content\/uploads\/2019\/08\/product-offer-schema-google-merchant-google-search-02.jpg\" alt=\"\" class=\"wp-image-944\"\/><figcaption><em>Rich Results Test for Google\u2019s example code<\/em><\/figcaption><\/figure><\/div>\n\n\n\n<p>Unlike the &#8220;Offer&#8221; type, &#8220;AggregateOffer&#8221; displays a range of prices in the rich results. This is what should be done for Google Search, but it <a href=\"https:\/\/support.google.com\/merchants\/answer\/6386198\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\" (opens in a new tab)\">can\u2019t be done with Google Merchant<\/a>. <\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" width=\"574\" height=\"510\" src=\"https:\/\/technicalseo.com\/insights\/wp-content\/uploads\/2019\/08\/product-offer-schema-google-merchant-google-search-03.jpg\" alt=\"\" class=\"wp-image-946\" srcset=\"https:\/\/technicalseo.com\/insights\/wp-content\/uploads\/2019\/08\/product-offer-schema-google-merchant-google-search-03.jpg 574w, https:\/\/technicalseo.com\/insights\/wp-content\/uploads\/2019\/08\/product-offer-schema-google-merchant-google-search-03-300x267.jpg 300w\" sizes=\"(max-width: 574px) 100vw, 574px\" \/><figcaption><em>Product variant code example: <a href=\"https:\/\/support.google.com\/merchants\/answer\/6386198\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"https:\/\/support.google.com\/merchants\/answer\/6386198 (opens in a new tab)\">https:\/\/support.google.com\/merchants\/answer\/6386198<\/a><\/em><\/figcaption><\/figure><\/div>\n\n\n\n<p>Google Merchant is looking to match the PLA listing price with a price on the page and in the code. &#8220;AggregateOffer&#8221; has &#8220;lowPrice&#8221; and &#8220;highPrice&#8221;.&nbsp; &#8220;AggregateOffer&#8221; doesn\u2019t list all the possible prices; therefore, Google Merchant cannot properly match the listing price with a price in the code. <\/p>\n\n\n\n<p>What happens when Google Merchant can\u2019t properly match the listing price with a price in the code and on the screen? The PLAs are rejected due to mismatched price. <\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" width=\"703\" height=\"241\" src=\"https:\/\/technicalseo.com\/insights\/wp-content\/uploads\/2019\/08\/product-offer-schema-google-merchant-google-search-04.jpg\" alt=\"\" class=\"wp-image-947\" srcset=\"https:\/\/technicalseo.com\/insights\/wp-content\/uploads\/2019\/08\/product-offer-schema-google-merchant-google-search-04.jpg 703w, https:\/\/technicalseo.com\/insights\/wp-content\/uploads\/2019\/08\/product-offer-schema-google-merchant-google-search-04-300x103.jpg 300w\" sizes=\"(max-width: 703px) 100vw, 703px\" \/><\/figure><\/div>\n\n\n\n<p>When this happened to a client, the Merkle Feeds and SEO teams investigated and discovered a few issues: <\/p>\n\n\n\n<ul><li>The page contained product variants, but the structured\ndata only listed one product and price. <\/li><li>A dropdown menu hid the correct on-screen price.\n<\/li><li>The preselected product variant didn\u2019t match the\nproduct variant targeted by the PLA. <\/li><\/ul>\n\n\n\n<p>Typically, the initial response is to turn on automatic price matching. Google Merchant accepted that fix, but it displayed the incorrect price due to the product variant pre-selection and erroneous structured data. Users would click on an ad showing one price and be greeted with a different price on the landing page. Had the ads run for any length of time, this would have hurt the conversion rate and served a terrible user experience.<\/p>\n\n\n\n<p>After checking other brands in various industries, it quickly became apparent that this is a wide-spread problem.&nbsp; <\/p>\n\n\n\n<p>Fixing the structured data emerged as the most direct fix to (hopefully) resolve the problem. <\/p>\n\n\n\n<h2>Structured data for product variants for Google Merchant<\/h2>\n\n\n\n<p>Just like curly brackets denote an array formula in Excel, brackets denote an array or grouping in JSON-LD. There are two different types of brackets in JSON-LD; curly brackets and square brackets. <\/p>\n\n\n\n<p>Using <a href=\"https:\/\/support.google.com\/merchants\/answer\/6386198\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\" (opens in a new tab)\">Google\u2019s example code<\/a> for product variants in the Structured Data Testing tool, we see that it detects two sets of Product schema. <\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" width=\"549\" height=\"166\" src=\"https:\/\/technicalseo.com\/insights\/wp-content\/uploads\/2019\/08\/product-offer-schema-google-merchant-google-search-05.jpg\" alt=\"\" class=\"wp-image-948\" srcset=\"https:\/\/technicalseo.com\/insights\/wp-content\/uploads\/2019\/08\/product-offer-schema-google-merchant-google-search-05.jpg 549w, https:\/\/technicalseo.com\/insights\/wp-content\/uploads\/2019\/08\/product-offer-schema-google-merchant-google-search-05-300x91.jpg 300w\" sizes=\"(max-width: 549px) 100vw, 549px\" \/><figcaption><em>Structured Data Testing Tool for Google Merchant\u2019s example code. <\/em> <\/figcaption><\/figure><\/div>\n\n\n\n<p>Note the opening square bracket just after the opening script tag. There\u2019s a corresponding closing square bracket just before the closing script tag. If we remove the square brackets, the testing tool only detects one set of Product schema. <\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" width=\"558\" height=\"125\" src=\"https:\/\/technicalseo.com\/insights\/wp-content\/uploads\/2019\/08\/product-offer-schema-google-merchant-google-search-06.jpg\" alt=\"\" class=\"wp-image-949\" srcset=\"https:\/\/technicalseo.com\/insights\/wp-content\/uploads\/2019\/08\/product-offer-schema-google-merchant-google-search-06.jpg 558w, https:\/\/technicalseo.com\/insights\/wp-content\/uploads\/2019\/08\/product-offer-schema-google-merchant-google-search-06-300x67.jpg 300w\" sizes=\"(max-width: 558px) 100vw, 558px\" \/><figcaption>S<em>tructured Data Testing Tool for Google Merchant\u2019s example code sans square bracket<\/em> <\/figcaption><\/figure><\/div>\n\n\n\n<h3>How to markup JSON-LD structured data for product variants for Google Merchant:<\/h3>\n\n\n\n<ol><li>Wrap the code in square brackets <\/li><li>Write Product schema for every variant<\/li><li>Use &#8220;Offer&#8221; type schema for the &#8220;Offers&#8221; property. <\/li><li>Make sure the Structured Data Testing Tool detects Product schema for every variant. <\/li><\/ol>\n\n\n\n<h2>Structured data for product variants for Google Search<\/h2>\n\n\n\n<p>Google Search needs &#8220;AggregateOffer&#8221; as the Offer type to properly display the range of prices in the rich results. Don\u2019t use the square brackets in this version of the code. Using Google\u2019s example code in the Structured Data Testing Tool, we see that it detects one set of Product Schema when AggregateOffer is used.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" width=\"579\" height=\"383\" src=\"https:\/\/technicalseo.com\/insights\/wp-content\/uploads\/2019\/08\/product-offer-schema-google-merchant-google-search-07.jpg\" alt=\"\" class=\"wp-image-951\" srcset=\"https:\/\/technicalseo.com\/insights\/wp-content\/uploads\/2019\/08\/product-offer-schema-google-merchant-google-search-07.jpg 579w, https:\/\/technicalseo.com\/insights\/wp-content\/uploads\/2019\/08\/product-offer-schema-google-merchant-google-search-07-300x198.jpg 300w\" sizes=\"(max-width: 579px) 100vw, 579px\" \/><figcaption><em>Structured Data Testing Tool for Google\u2019s AggregateOffer Schema example<\/em> <\/figcaption><\/figure><\/div>\n\n\n\n<h3>How to markup JSON-LD structured data for product variants for Google Search:<\/h3>\n\n\n\n<ol><li>Do not wrap the code in square brackets<\/li><li>Write one Product Schema or use a <a rel=\"noreferrer noopener\" aria-label=\" (opens in a new tab)\" href=\"https:\/\/technicalseo.com\/tools\/schema-markup-generator\/\" target=\"_blank\">schema generator<\/a><\/li><li>Use &#8220;AggregateOffer&#8221; type schema for the &#8220;Offers&#8221; property<\/li><li>Make sure the Structured Data Testing Tool detects one set of Product schema <\/li><\/ol>\n\n\n\n<h2>Can a webpage use &#8220;Offer&#8221; and<br>&#8220;AggregateOffer&#8221; simultaneously?<\/h2>\n\n\n\n<p>For tracking purposes, PLAs&#8217; target URLs usually include a noindex or canonical tag and are served with a parameterized URL in ad campaigns. This isn\u2019t usually a problem &#8220;in the wild.&#8221; We have not tested using both styles of markup on a single page in real-world settings. Google\u2019s documentation does not support running both types of code on one page, but the Structured Data Testing Tool validates with both markups. The Rich Results Test says that the code is eligible for rich results, but the preview doesn\u2019t show the proper rich results. Due to a lack of a preview in the Rich Results Test and the existence of documentation from Google specifying what to use, we don\u2019t recommend running both types of markup on one page.<\/p>\n\n\n\n<h2>What were the results of the updated markup?<\/h2>\n\n\n\n<p>The client implemented the Google Merchant version of the\ncode on the noindex, parametrized URLs used specifically with PLAs and deployed\nthe Google Search version of the code on indexable pages that already appeared\nin Google Search results. The correct rich results showed in the SERP less than\n24 hours later. The price mismatch rejection from Google Merchant remained. <\/p>\n\n\n\n<p>The support team at the Google Merchant Center informed us\nthat they rejected the PLAs due to the wrong variant being pre-selected. <\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" width=\"660\" height=\"166\" src=\"https:\/\/technicalseo.com\/insights\/wp-content\/uploads\/2019\/08\/product-offer-schema-google-merchant-google-search-08.jpg\" alt=\"\" class=\"wp-image-952\" srcset=\"https:\/\/technicalseo.com\/insights\/wp-content\/uploads\/2019\/08\/product-offer-schema-google-merchant-google-search-08.jpg 660w, https:\/\/technicalseo.com\/insights\/wp-content\/uploads\/2019\/08\/product-offer-schema-google-merchant-google-search-08-300x75.jpg 300w\" sizes=\"(max-width: 660px) 100vw, 660px\" \/><\/figure><\/div>\n\n\n\n<p>  <\/p>\n\n\n\n<p>The developers updated the code so that the pre-selected\nvariant matched the PLA and Google Merchant approved the ads. The ads were\napproved with: <\/p>\n\n\n\n<ul><li>Google Merchant version of Product Schema with correct prices<\/li><li>Correct pre-selected product variant on the landing page<\/li><li>Correct on-screen price <\/li><\/ul>\n\n\n\n<p>Would correcting the pre-selected product variant have\nsolved the problem by itself? What role did the structured data play in this? <\/p>\n\n\n\n<p>A few weeks later, the prices changed. Again, Google\nMerchant rejected the PLAs due to price-mismatch. The ads were rejected with: <\/p>\n\n\n\n<ul><li>Google Merchant version of Product Schema with<em> incorrect <\/em>prices<\/li><li>Correct pre-selected product variant on the landing page<\/li><li>Correct on-screen price <\/li><\/ul>\n\n\n\n<p>This indicates that, as <a rel=\"noreferrer noopener\" aria-label=\" (opens in a new tab)\" href=\"https:\/\/support.google.com\/merchants\/answer\/6069143\" target=\"_blank\">the documentation says<\/a>, Google looks to structured data for the price and compares it to what\u2019s on the screen.  All three elements (the structured data, on-screen price, and preselected variant) work in conjunction to resolve the price-mismatch issue. Moving forward, the price in the structured data will be programmatically updated to help prevent this problem and maximize up time for the PLAs. <\/p>\n\n\n\n<script type=\"application\/ld+json\">\n{\n\t\"@context\": \"https:\/\/schema.org\/\", \n\t\"@type\": \"HowTo\", \n\t\"name\": \"How to do JSON-LD Structured Data for Product Variants for Google Merchant versus Google Search\",\n\t\"description\": \"Explanations for how product schema with product variants differs when used for Google Search and Google Merchant. Includes how-to steps showing if the differences.\",\n\t\"step\": [{\n\t\t\"@type\": \"HowToSection\",\n\t\t\"name\": \"How to do JSON-LD structured data for product variants for Google Merchant\",\n\t\t\"itemlistElement\": [{\n\t\t\t\"@type\": \"HowToStep\",\n\t\t\t\"text\": \"Wrap the code in square brackets\"\n\t\t},{\n\t\t\t\"@type\": \"HowToStep\",\n\t\t\t\"text\": \"Write Product schema for every variant\"\n\t\t},{\n\t\t\t\"@type\": \"HowToStep\",\n\t\t\t\"text\": \"Use \\\"Offer\\\" type schema for the \\\"Offers\\\" property\"\n\t\t},{\n\t\t\t\"@type\": \"HowToStep\",\n\t\t\t\"text\": \"Make sure the Structured Data Testing Tool detects Product schema for every variant\"\n\t\t}]\n\t},{\n\t\t\"@type\": \"HowToSection\",\n\t\t\"name\": \"How to do JSON-LD structured data for product variants for Google Search\",\n\t\t\"itemlistElement\": [{\n\t\t\t\"@type\": \"HowToStep\",\n\t\t\t\"text\": \"Do not wrap the code in square brackets\"\n\t\t},{\n\t\t\t\"@type\": \"HowToStep\",\n\t\t\t\"text\": \"Write one Product schema or us a <a href=\\\"https:\/\/technicalseo.com\/tools\/\\\">schema generator<\/a>\"\n\t\t},{\n\t\t\t\"@type\": \"HowToStep\",\n\t\t\t\"text\": \"Use \\\"AggregateOffer\\\" type schema for the \\\"Offers\\\" property\"\n\t\t},{\n\t\t\t\"@type\": \"HowToStep\",\n\t\t\t\"text\": \"Make sure the Structured Data Testing Tool detects one set of Product schema\"\n\t\t}]\n\t}]  \n}\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>It\u2019s an unexpected battlefield. Schema.org is a mutual effort amongst search engines to create a code meant to deliver essential [&hellip;]<\/p>\n<a href=\"https:\/\/technicalseo.com\/insights\/blog\/product-schema-google-merchant-vs-google-search\/\" class=\"read-more\">Read more <span class=\"mdi mdi-trending-neutral\"><\/span><\/a>","protected":false},"author":9,"featured_media":954,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[2],"tags":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v16.6.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Product Schema for Google Merchant vs. Google Search | TechnicalSEO.com<\/title>\n<meta name=\"description\" content=\"We discovered incongruity between Google Search Product structured data and Google Merchant Product structured data.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/technicalseo.com\/insights\/blog\/product-schema-google-merchant-vs-google-search\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Product Schema for Google Merchant vs. Google Search | TechnicalSEO.com\" \/>\n<meta property=\"og:description\" content=\"We discovered incongruity between Google Search Product structured data and Google Merchant Product structured data.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/technicalseo.com\/insights\/blog\/product-schema-google-merchant-vs-google-search\/\" \/>\n<meta property=\"og:site_name\" content=\"TechnicalSEO.com\" \/>\n<meta property=\"article:published_time\" content=\"2019-09-16T13:00:10+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-09-05T15:21:26+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/technicalseo.com\/insights\/wp-content\/uploads\/2019\/08\/cropped-product-offer-schema-google-merchant-google-search-04.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"428\" \/>\n\t<meta property=\"og:image:height\" content=\"241\" \/>\n<meta name=\"twitter:card\" content=\"summary\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https:\/\/technicalseo.com\/insights\/#organization\",\"name\":\"Merkle Inc.\",\"url\":\"https:\/\/technicalseo.com\/insights\/\",\"sameAs\":[],\"logo\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/technicalseo.com\/insights\/#logo\",\"inLanguage\":\"en-US\",\"url\":\"https:\/\/technicalseo.com\/insights\/wp-content\/uploads\/2019\/04\/merkle-bug-192.png\",\"contentUrl\":\"https:\/\/technicalseo.com\/insights\/wp-content\/uploads\/2019\/04\/merkle-bug-192.png\",\"width\":192,\"height\":192,\"caption\":\"Merkle Inc.\"},\"image\":{\"@id\":\"https:\/\/technicalseo.com\/insights\/#logo\"}},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/technicalseo.com\/insights\/#website\",\"url\":\"https:\/\/technicalseo.com\/insights\/\",\"name\":\"TechnicalSEO.com\",\"description\":\"Blog, Podcast &amp; Presentations\",\"publisher\":{\"@id\":\"https:\/\/technicalseo.com\/insights\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/technicalseo.com\/insights\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/technicalseo.com\/insights\/blog\/product-schema-google-merchant-vs-google-search\/#primaryimage\",\"inLanguage\":\"en-US\",\"url\":\"https:\/\/technicalseo.com\/insights\/wp-content\/uploads\/2019\/08\/cropped-product-offer-schema-google-merchant-google-search-04.jpg\",\"contentUrl\":\"https:\/\/technicalseo.com\/insights\/wp-content\/uploads\/2019\/08\/cropped-product-offer-schema-google-merchant-google-search-04.jpg\",\"width\":428,\"height\":241},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/technicalseo.com\/insights\/blog\/product-schema-google-merchant-vs-google-search\/#webpage\",\"url\":\"https:\/\/technicalseo.com\/insights\/blog\/product-schema-google-merchant-vs-google-search\/\",\"name\":\"Product Schema for Google Merchant vs. Google Search | TechnicalSEO.com\",\"isPartOf\":{\"@id\":\"https:\/\/technicalseo.com\/insights\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/technicalseo.com\/insights\/blog\/product-schema-google-merchant-vs-google-search\/#primaryimage\"},\"datePublished\":\"2019-09-16T13:00:10+00:00\",\"dateModified\":\"2019-09-05T15:21:26+00:00\",\"description\":\"We discovered incongruity between Google Search Product structured data and Google Merchant Product structured data.\",\"breadcrumb\":{\"@id\":\"https:\/\/technicalseo.com\/insights\/blog\/product-schema-google-merchant-vs-google-search\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/technicalseo.com\/insights\/blog\/product-schema-google-merchant-vs-google-search\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/technicalseo.com\/insights\/blog\/product-schema-google-merchant-vs-google-search\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Insights\",\"item\":\"https:\/\/technicalseo.com\/insights\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Blog\",\"item\":\"https:\/\/technicalseo.com\/insights\/blog\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Product Schema for Google Merchant vs. Google Search\"}]},{\"@type\":\"Article\",\"@id\":\"https:\/\/technicalseo.com\/insights\/blog\/product-schema-google-merchant-vs-google-search\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/technicalseo.com\/insights\/blog\/product-schema-google-merchant-vs-google-search\/#webpage\"},\"author\":{\"@id\":\"https:\/\/technicalseo.com\/insights\/#\/schema\/person\/47ba4256d3c1df1591966363f634f2e4\"},\"headline\":\"Product Schema for Google Merchant vs. Google Search\",\"datePublished\":\"2019-09-16T13:00:10+00:00\",\"dateModified\":\"2019-09-05T15:21:26+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/technicalseo.com\/insights\/blog\/product-schema-google-merchant-vs-google-search\/#webpage\"},\"wordCount\":1302,\"publisher\":{\"@id\":\"https:\/\/technicalseo.com\/insights\/#organization\"},\"image\":{\"@id\":\"https:\/\/technicalseo.com\/insights\/blog\/product-schema-google-merchant-vs-google-search\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/technicalseo.com\/insights\/wp-content\/uploads\/2019\/08\/cropped-product-offer-schema-google-merchant-google-search-04.jpg\",\"articleSection\":[\"Blog\"],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/technicalseo.com\/insights\/#\/schema\/person\/47ba4256d3c1df1591966363f634f2e4\",\"name\":\"Jennie Woods\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/technicalseo.com\/insights\/#personlogo\",\"inLanguage\":\"en-US\",\"url\":\"https:\/\/technicalseo.com\/insights\/wp-content\/uploads\/2019\/07\/jennie-woods-150x150.jpg\",\"contentUrl\":\"https:\/\/technicalseo.com\/insights\/wp-content\/uploads\/2019\/07\/jennie-woods-150x150.jpg\",\"caption\":\"Jennie Woods\"},\"url\":\"https:\/\/technicalseo.com\/insights\/author\/jwoods\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","_links":{"self":[{"href":"https:\/\/technicalseo.com\/insights\/wp-json\/wp\/v2\/posts\/883"}],"collection":[{"href":"https:\/\/technicalseo.com\/insights\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/technicalseo.com\/insights\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/technicalseo.com\/insights\/wp-json\/wp\/v2\/users\/9"}],"replies":[{"embeddable":true,"href":"https:\/\/technicalseo.com\/insights\/wp-json\/wp\/v2\/comments?post=883"}],"version-history":[{"count":30,"href":"https:\/\/technicalseo.com\/insights\/wp-json\/wp\/v2\/posts\/883\/revisions"}],"predecessor-version":[{"id":1014,"href":"https:\/\/technicalseo.com\/insights\/wp-json\/wp\/v2\/posts\/883\/revisions\/1014"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/technicalseo.com\/insights\/wp-json\/wp\/v2\/media\/954"}],"wp:attachment":[{"href":"https:\/\/technicalseo.com\/insights\/wp-json\/wp\/v2\/media?parent=883"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/technicalseo.com\/insights\/wp-json\/wp\/v2\/categories?post=883"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/technicalseo.com\/insights\/wp-json\/wp\/v2\/tags?post=883"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}