Missing field "hasMerchantReturnPolicy" and "shippingDetails" on Shopify: what Search Console means and how to fix it

Shopify merchants have asked about two Search Console messages on the Shopify Community forum several times: Missing field "hasMerchantReturnPolicy" (in "offers") and Missing field "shippingDetails" (in "offers"). The first field holds your return policy and the second your shipping terms, and Google lists both as recommended, not required, properties of a product offer. Required properties decide whether a product can show as a rich result; Google suggests considering fixes for non-critical issues because they can improve your structured data, but says that isn't necessary to be eligible. One merchant quotes both messages under the heading Top non-critical issues. You can give Google your return and shipping terms without touching your theme, in Search Console or in Merchant Center, and those settings take precedence over markup on your site. This note shows the three ways, the Shopify settings behind each of them, and how often the markup was missing on 113 stores that Shopify features.

What the two messages mean

Google's merchant listing documentation describes hasMerchantReturnPolicy as nested information about the return policies of an offer, of the type MerchantReturnPolicy, and shippingDetails as nested information about its shipping policy, of the type OfferShippingDetails. Both are in the list of recommended properties of an offer.

In Search Console, merchant listings have their own report in the Shopping section, with two tables: Why items are invalid lists the critical issues that stop Google from using the structured data, and Improve item appearance lists the non-critical issues. A valid item has no critical issues and can appear on Google as a rich result. Another merchant posted what Search Console showed with the missing return policy field: This is a non-critical issue. Items with these issues are valid, but could be presented with more features or be optimised for more relevant queries.

Shopify themes can print product markup with the structured_data Liquid filter, which outputs a Product or a ProductGroup. In Shopify's documented example, the offer it prints has availability, price, priceCurrency and url, with no return policy and no shipping details.

Option 1: add the policies in Search Console, without code

  1. In Search Console, open Settings > Shopping > Shipping and returns.
  2. On the Shipping tab, click Add shipping policy, choose the country, enter the minimum and maximum delivery days and the shipping cost, and click Submit.
  3. On the Returns tab, click Add return policy, choose the country, enter the URL of your return policy page, the return window and the return cost, and click Submit.
  4. Repeat both for each country you ship to.

In Shopify, you write that return policy under Settings > Policies, in Written policies > Return and refund policy. You need to be an owner or a full user of the Search Console property; a Merchant Center account isn't needed, but an existing one must be associated with the property. Shipping details are approved automatically, while Google verifies return policies manually in about 10 to 13 days and marks them pending until then. Enter exactly the shipping cost your store charges: a listing might be rejected if Google finds a lower shipping cost on the listing than on your website.

Option 2: Merchant Center and the Google & YouTube app

If you sell through the Google & YouTube app, Google advises setting up your return policy in both places: return rules and a written return and refund policy in Shopify, and the same policy in Merchant Center under Shipping and returns > Return policies > Add return policy. In Shopify, the return rules are in Settings > Policies, in the Return and cancellation rules section, with the return window, return shipping cost, restocking fee, final sale items and return window overrides. With Use automated policy turned on, Shopify writes the return and refund policy from your settings and takes the return terms from those rules; you remain responsible for its accuracy.

Shipping can come from Shopify itself: in Sales channels > Google & YouTube > Overview > Settings, click Select beside Shipping settings in the Product feed section and choose Automatically import settings. Later changes to your shipping settings are then reimported to Merchant Center, but only rates from the General shipping profile sync, and custom shipping profiles sync incorrectly and cause errors. Settings in Merchant Center, like those in Search Console, rank above product and organization markup in Google's order of precedence.

Option 3: markup in your theme

Google recommends one return policy and one shipping policy for the whole business in Organization markup: the return policy through hasMerchantReturnPolicy and shipping as a ShippingService through hasShippingService. Offer-level properties are meant for products with their own policy or for businesses without a standard one, and an offer can point to a return policy on another page using only @id. If both levels carry a return policy, Google uses the product-level one.

A return policy needs applicableCountry and returnPolicyCategory, plus merchantReturnDays for a finite return window. Shipping details need deliveryTime, shippingDestination and shippingRate to be eligible for Google's shipping details enhancement. If someone maintains your theme for you, these are the properties to ask for, and Search Console or Merchant Center settings still come first in Google's order of precedence.

How often the markup was missing on 113 stores

MeasureReturn policyShipping details
Stores that passed4 of 1134 of 113
Stores with at least one sampled page without valid markup84 (74.3%)83 (73.5%)
Stores where the rule could not be evaluated2526
Sampled pages without valid markup249 of 261246 of 258

Most of these stores did publish readable policy pages: the return page was readable on 97 stores (85.8%) and the shipping page on 92 (81.4%). Missing return and shipping markup were the two most common gaps among the 27 rules of the check. The stores are showcase brands that Shopify chose, not a random sample. The version of our check that the study ran on read return and shipping markup only on the sampled product pages, read shipping only on the offer and could not see Search Console or Merchant Center settings, so a policy that was only on a store's home page showed up as a gap, and some stores may have set their policies in those settings instead.

Frequently asked questions

Do these warnings stop my products from showing on Google?

Google says required properties decide whether a product can be displayed as a rich result, and that fixing non-critical issues isn't necessary to be eligible. Both fields are recommended properties. Google still suggests considering the fix, because it can improve the quality of your structured data.

Will the warnings go away once I set the policies in Search Console?

Google's documentation says that settings in Search Console or Merchant Center take precedence over markup on your site, and that with both, Google uses only the Search Console information. The pages we read do not say whether the Missing field rows then leave the report, so check the Merchant listings report yourself.

Does Shopify add return and shipping markup for me?

Shopify's structured_data Liquid filter prints Product or ProductGroup markup, and in Shopify's documented example the offer carries availability, price, priceCurrency and url without a return policy or shipping details. In our study, valid return policy markup on the sampled product pages passed on 4 of the 113 stores, and valid shipping markup also on 4.

Check what your product pages print

Our free public check needs no install and no e-mail and reads public pages only: robots.txt, your home page, up to 20 products from the public product export, up to 3 product pages with JSON-LD markup, and your policy and contact pages. A structured return policy and structured shipping terms are two of its 27 rules. For each rule it shows how many items it checked and how many are affected. Google ranks Search Console and Merchant Center settings above markup, so a gap in your markup does not by itself mean that Google lacks your policy.

Check your store for free

Sources. The facts in this note are numbered after our internal fact list and were checked on the publication date. If a source has changed since, write to support@arling.sk and we will correct this page.