Shipping is the composite feed attribute that reports per-item delivery cost and coverage, submitted to Google Merchant Center as one or more <g:shipping> blocks made up of country, region, service, and price sub-values. It's optional when a merchant configures shipping rates directly in Merchant Center account settings, but it becomes the only way to communicate cost when items need per-product overrides — oversized freight, region-specific rates, or a promotional free-shipping window that applies to some SKUs and not others.

Why Shipping Matters

Google and Meta both compare the shipping cost declared for an item against what a shopper is actually charged at checkout, and a mismatch is treated as a policy problem, not a rounding error — it can trigger warnings or disapprovals under the same accuracy standards that govern price and tax. Shipping cost also directly affects the "total cost" shoppers see in comparison-heavy surfaces like the Google Shopping tab, so a feed that omits shipping data while a competitor's feed states it accurately can lose the click before price or reviews ever come into play. The field intersects with availability too: a shipping override tied to a promotional period or a specific fulfillment method needs to be pulled the moment that promotion or method stops applying, or the feed keeps quoting a rate the business no longer honors.

How Shipping Works

Each <g:shipping> block carries a country code, an optional region, an optional service name, and a required price with currency, and a single item can include multiple blocks to cover different destinations or shipping speeds. In CSV feeds the same data is expressed as a colon-delimited string in one column — country:region:service:price — rather than as nested elements. Google treats the field as required in specific cases (notably certain marketplace and country combinations) but otherwise defers to account-level shipping settings when the item-level field is absent, using those settings to calculate the shown cost instead. Meta Catalog takes a simpler approach: shipping cost is generally configured through shipping profiles in Commerce Manager rather than through a comparably detailed per-item feed field, so most of the granularity that Google's shipping attribute supports has no direct Meta equivalent.

Example

<item>
  <g:id>SKU-55902</g:id>
  <title>Cast Iron Patio Table Set</title>
  <g:price>649.00 USD</g:price>
  <g:shipping>
    <g:country>US</g:country>
    <g:service>Freight</g:service>
    <g:price>89.00 USD</g:price>
  </g:shipping>
  <g:shipping_weight>42.5 kg</g:shipping_weight>
</item>

Related Concepts

Shipping is calculated hand in hand with shipping_weight whenever carrier-calculated rates are enabled, and it's checked against tax in the same accuracy review since both fields contribute to the total price a shopper eventually sees. Feed teams doing a periodic health check should also revisit shipping overrides whenever availability changes on a SKU, since a discontinued freight surcharge or an expired free-shipping promotion left in the feed quietly overstates or understates cost. This exact intersection — shipping, tax, and availability all needing to stay in sync — is one of the checks covered in The E-commerce Manager's Checklist for a Bulletproof Product Feed Audit.