How to Fix Google Shopping ‘Free Delivery’ & Date Range Errors

Free delivery and date range in Google Shopping search

Any ideas where Google Shopping is getting the Free Delivery and date range from? We have a shipping group on the SKU, and the shipping rate is 0 so it is calculated at checkout – all this works. I’m not seeing this on other products.

The short answer is:

How can the Merchant API be used to accurately manage Google Shopping shipping settings?

The “Free Delivery” annotation and the estimated date range in Google Shopping are primarily sourced from your Google Merchant Center shipping settings, not solely from the individual product’s $0 shipping rate in your eCommerce system.

To ensure accuracy and proper display, you must explicitly configure a shipping service in Merchant Center that offers free shipping and define the corresponding handling time and transit time in business days.

The discrepancy you see for certain products likely means they are either not associated with the correct shipping service via the shipping_label attribute in your product feed, or the shipping attribute at the item level is overriding the account-level settings.

A server-side integration utilizing the Merchant API is the most robust, cost-effective, and scalable way to programmatically manage and sync these complex shipping settings and product-level overrides, ensuring consistency and preventing manual errors that cause loss of the valuable free shipping badge.

The long answer is:

The core reason you are not consistently seeing the Free Delivery and delivery date range for all products, despite a zero-dollar rate at checkout, is that Google requires this information to be explicitly defined within the Google Merchant Center (GMC) platform, either at the account level (Shipping Service) or the item level via the shipping attribute.

Your eCommerce system’s $0 rate merely passes the cost information, but Google’s system, for displaying annotations like “Free Delivery” and the delivery date range, requires the full delivery configuration: a combination of handling time (time from order to shipment) and transit time (time from shipment to delivery).

These are set in the Merchant Center under the ‘Shipping and returns’ section to create a Shipping Service.

For the select products where it is appearing, they may be falling under a default or existing service rule that accurately specifies both cost and time, while other products are not correctly associated.

To achieve consistent and scalable accuracy, a direct, server-to-server integration using the Merchant API is the recommended solution.

Specifically, the shippingsettings resource within the Merchant API allows you to programmatically create, retrieve, and update your shipping services, including the crucial deliveryTime object where the minHandlingTimeInDays, maxHandlingTimeInDays, minTransitTimeInDays, and maxTransitTimeInDays are defined.

Furthermore, for those specific products, you can use the Merchant API to update the product resource, ensuring the shipping attribute is correctly submitted with a shipping_label that maps to your defined “Free Shipping” service.

This API-driven approach is highly cost-effective because it eliminates manual work, prevents costly advertising disapprovals due to inconsistent shipping information, and ensures the maximum number of eligible product listings display the high click-through rate (CTR) “Free Delivery” annotation and the helpful estimated delivery date range.

For a complete view of performance, integrating your Merchant Center data with BigQuery and Looker Studio via their respective APIs can allow you to analyze the CTR and conversion lift provided by these shipping annotations across your entire catalog, justifying the investment in the server-side integration.

About The Author