How to Set Shipping Cost on Google Merchant Center Based on Weight
You can set weight-based shipping costs in Google Merchant Center by creating a shipping service and building a shipping rate table that uses the order weight dimension. Add weight ranges (for example, 0–1 kg and 1–5 kg), assign a fixed or calculated rate to each range, and Google will show accurate shipping prices on your Shopping listings.
For this to work with a WooCommerce store, your product feed must carry an accurate shipping_weight value for each item, so Google can match products to the right weight tier. A feed plugin like CTX Feed sends that data automatically.
This guide covers the full setup in Merchant Center Next: creating the service, setting delivery times, building the weight rate table, choosing the weight unit, and adding the right attributes to your feed.
Before You Set Up Weight-Based Shipping
A few settings prevent product disapprovals and the most common shipping flags. Check these first:
- Match your store costs: The shipping cost in the Merchant Center should match what customers pay on your WooCommerce site. If you cannot match it exactly, overestimate slightly rather than underestimate.
- Match the currency: Your shipping cost currency must match your product price currency. A mismatch is a frequent cause of disapproved items.
- Include weight in your feed: Submit the shipping_weight attribute for every product if you charge by weight. Without it, Google cannot place a product in the correct weight range.
- Use shipping_label for product groups: Assign a shipping_label to set different rates for product types like oversized, fragile, or perishable items.
- Know how multiple services behave: If several shipping services cover the same country, Google displays the lowest price to shoppers.
How to Set Up Weight-Based Shipping in Google Merchant Center
Step 1: Open Shipping and Returns Settings
Sign in to your Merchant Center account. Click the Settings (gear) icon and select Shipping and returns. This page controls every shipping service linked to your store. Click the + icon to add a new shipping service.
Step 2: Create a New Shipping Service
Fill in the service settings:
- Service name: Enter a unique name. Each service needs its own name.
- Service area: Select the country or countries you ship from and to. Add multiple countries if you ship internationally.
- Currency: Set the currency, and confirm it matches the currency in your product feed.
Step 3: Set the Delivery Time
Delivery time tells shoppers when to expect their order:
- Order cutoff time: The daily deadline for same-day processing. Orders placed after it move to the next day. Set the matching time zone.
- Handling time: The minimum and maximum days to prepare an order. Enter 0–0 if you ship the same day for orders placed before the cutoff. Then choose which days you process orders.
- Transit time: The estimated days in transit, such as 1–4 days, plus the days you actually ship. Google combines cutoff, handling, and transit into the delivery estimate and accounts for public holidays that fall in the window.
Step 4: Configure Advanced Settings (Optional)
These give extra control but are not required:
- Minimum order value: The amount a customer must spend to qualify for the service. Leave it blank for no minimum.
- Holiday shipping cutoff: A date adjustment for peak periods.
Step 5: Create a Shipping Rate Table
In the Shipping rates section, click the + icon to start a table:
- Affected products: All products are selected by default, so the rate applies to your whole catalog. To target a group, choose to filter by shipping label and enter the label.
- Shipping rate name: Give the table a unique name.
Note: In Merchant Center Next, rates tied to specific shipping labels are often handled as separate shipping services rather than multiple labels inside one table. If you do not see the label filter, create a separate service for that product group and confirm the current layout in your account.
Step 6: Add Weight Ranges and Rates
This is the core of weight-based shipping. Choose to create a rate, then set the dimension to weight:
- Pick the weight unit: Select kilograms or pounds. Match this to the weight unit in your WooCommerce store.
- Set each weight range: For example, 0–0.99 kg, 1–4.99 kg, 5 kg and above.
- Assign a rate per range: Options include Fixed rate, Percentage of order total, Carrier rate, Subtable, and No shipping. Choose the one that matches how you charge.
- Add more rows: Use + Row to add weight tiers, and + Dimension or + Column if you also want to vary rates by price, destination, or item count.
Step 7: Save and Verify
Click Continue to save the table. To confirm the rates applied correctly, open the Products page, view a product, and check that the shipping information shows the expected cost for that item’s weight.
Example: A Simple Weight-Based Rate Table
Here is a basic table that charges more as orders get heavier, with free shipping above 5 kg:
| Order weight | Shipping rate |
|---|---|
| 0–0.99 kg | $4.99 |
| 1–4.99 kg | $7.99 |
| 5 kg and above | $0.00 (free) |
Keep ranges continuous with no gaps, so every possible order weight lands in exactly one tier.
How to Switch Between Kilograms and Pounds
Choose the weight unit when you build the weight dimension in the rate table. The Merchant Center lets you set the table in kilograms or pounds. Pick the unit that matches your store’s weight settings. If your products are listed in pounds but the table defaults to kilograms, switch the unit at the weight dimension step so the ranges read in pounds. Mismatched units are a common reason rates apply to the wrong products.
Add Shipping Weight to Your Product Feed
Weight-based rates only work if Google knows each product’s weight. That data comes from your feed through two attributes:
- shipping_weight: The package weight Google uses to place a product in the correct rate tier.
- shipping_label: An optional tag that groups products (oversized, fragile, perishable) so they can use different rates.
For WooCommerce, the simplest way to send these values is a feed plugin that maps your product weights to the shipping_weight attribute automatically, so you do not edit the feed by hand every time a product changes.
Best WooCommerce Product Feed Plugin for Google Shopping: CTX Feed
CTX Feed is a product feed generation and management plugin for WooCommerce that creates Google Shopping feeds with the correct attributes, including shipping_weight and shipping_label. It pulls weights and other product data straight from WooCommerce, so your feed stays aligned with your store and your weight-based rates apply correctly.
It builds and maintains feeds for Google and other marketplaces from one place, which removes most of the manual work behind a compliant feed.
Key Features
- Prebuilt templates: Ready-made templates for Google Shopping and other marketplaces.
- Attribute mapping: Map required fields like shipping_weight, shipping_label, price, availability, and brand.
- Scheduled auto-updates: Refresh feeds on a schedule so prices and stock stay current.
- Category and field control: Map categories and customize attributes per channel.
- WooCommerce-native data: Reads product weights and details directly from your store.
A free version is available, and paid plans are listed on the official website. Check the official pricing page before publishing.
Frequently Asked Questions
How do I configure shipping charges in Google Merchant Center?
Open Settings, then Shipping and returns, and create a shipping service. Set the service name, area, and currency, then add a shipping rate table. Choose the weight dimension, define weight ranges, and assign a rate to each. Save, then verify on the Products page that the correct cost shows for each item.
Does weight affect shipping delivery time?
Weight affects shipping cost in the Merchant Center, not delivery time directly. Delivery time is set separately through cutoff, handling, and transit times. That said, heavier items can move through slower freight methods in real life, so set realistic handling and transit ranges if heavy products take longer to pack and ship.
How do I fix a currency mismatch in shipping settings?
Set the shipping cost currency to match your product price currency. If Google flags a mismatch, edit the currency in your shipping service so it matches the currency in your feed. Keeping the store, feed, and shipping settings on the same currency prevents disapprovals and the most common shipping-related flags.
Why does my shipping rate need to be 0 when free shipping is selected?
If you choose free shipping for a service, the first shipping rate must be 0. The free shipping option tells Google there is no charge, so any nonzero rate conflicts with it. To offer free shipping above a weight or order threshold, set that tier’s rate to 0 inside the rate table instead.
Does Google Merchant Center charge fees?
Google Merchant Center is free to use, and you do not pay Google for the shipping itself. The shipping cost you enter is what your customer pays you. Costs only apply if you run paid Shopping ads through Google Ads. Free Shopping listings and the Merchant Center account carry no platform fee.
Which attribute sends product weight to Google?
Use the shipping_weight attribute to submit each product’s weight when your account shipping is weight-based. Google reads that value to place the product in the right rate tier. For products that need different rates by type, add the shipping_label attribute and create matching rates or services in the Merchant Center.
Key Takeaways
- Set weight-based rates by creating a shipping service, then a rate table with the order weight dimension.
- Choose kilograms or pounds at the weight step and match it to your store’s unit.
- Submit shipping_weight in your product feed so Google can place items in the correct tier.
- Match your shipping currency and costs to your store to avoid disapprovals and flags.
- Use shipping_label to apply different rates to product groups like oversized or fragile items.
- A WooCommerce feed plugin like CTX Feed automates the shipping_weight and shipping_label attributes.
