· Zayd Khan · order-limits  · 6 min read

How to exclude heavy products from free shipping on Shopify

Free shipping on everything sounds great until a customer orders 50kg of products. Here is how to exclude heavy items from your free shipping offer without losing customers.

Free shipping on everything sounds great until a customer orders 50kg of products. Here is how to exclude heavy items from your free shipping offer without losing customers.

Free shipping sells. Customers expect it. Conversion rates jump when you offer it. But free shipping on a 2kg item and free shipping on a 50kg item are completely different math problems.

Heavy products crush your margins when included in free shipping offers. Freight costs spike. Carrier surcharges appear. That “free” shipping suddenly costs you more than the profit on the sale.

The solution is simple: exclude heavy products from free shipping while keeping the offer live for everything else.

Why heavy products break free shipping

Shipping carriers calculate costs based on weight, dimensions, or both (dimensional weight). A lightweight t-shirt ships for $5. A 25kg bag of dog food ships for $25. Offer free shipping on both and your margins tell two very different stories.

The problem compounds with quantity. One customer orders five bags of that dog food. Now you’re absorbing $100+ in shipping costs on a single order.

Many merchants discover this too late. They launch a free shipping promotion, see orders spike, then watch their shipping invoices arrive. The sales looked great. The profit disappeared.

What you can do in native Shopify

Shopify’s shipping settings offer some control but not precise exclusions.

Weight-based shipping rates. You can set different rates based on order weight. Orders under 5kg get one rate, orders over 5kg get another. But this applies to the entire order, not individual products.

Product-specific shipping profiles. You can create separate shipping profiles for specific products. Heavy items go in their own profile with calculated or fixed rates that reflect real costs. This works but requires manual product assignment and doesn’t integrate cleanly with free shipping thresholds on other products.

Collection-based conditions. Automatic discounts can target specific collections for free shipping. You could create a “Free Shipping Eligible” collection and exclude heavy items. But maintaining this collection takes ongoing work.

None of these approaches give you the control to say: “Free shipping on orders over $75, but never on products weighing more than 10kg.”

A cleaner approach with order limits

DC Order Limits lets you combine weight-based rules with your existing free shipping setup. The logic is straightforward: allow free shipping for most products while enforcing shipping charges on heavy items.

Here’s how it works:

  1. Set up your standard free shipping offer in Shopify (either through shipping profiles or automatic discounts)
  2. Create a weight-based rule in DC Order Limits targeting heavy products
  3. The rule can either block checkout entirely for carts exceeding a weight threshold, or you can use tag-based rules to identify heavy products and show customers a message explaining shipping applies

For most merchants, the best approach is a cart weight maximum combined with product-specific messaging.

Setting up weight limits for heavy product exclusions

Start by identifying your weight threshold. What’s the heaviest item that still makes sense for free shipping? For most stores, this falls between 5kg and 15kg depending on your carrier rates and margins.

In DC Order Limits:

  1. Click New Rule and name it something clear like “Heavy Product Shipping Notice”
  2. Select Weight Limits as the rule type
  3. Set a maximum cart weight that aligns with your free shipping math
  4. Under product eligibility, target your heavy products (by tag, collection, or specific selection)
  5. Customize the message to explain why shipping applies: “Orders containing heavy items require paid shipping due to freight costs”
  6. Save and activate

Now when a customer adds heavy products that push the cart over your threshold, they see the message. They can still complete their purchase, but they understand shipping will apply.

Combining with market eligibility

Shipping costs vary wildly by destination. A 10kg order might qualify for free shipping domestically but not internationally.

DC Order Limits supports market eligibility rules. You can create different weight thresholds for different regions:

  • Domestic orders: Free shipping up to 20kg
  • International orders: Free shipping up to 5kg
  • Remote regions: No free shipping on orders over 3kg

This precision prevents the margin erosion that happens when international customers take advantage of blanket free shipping offers on heavy goods.

What about dimensional weight?

Some products are light but bulky. A foam mattress topper weighs little but takes massive packaging. Carriers often charge based on dimensional weight (length x width x height divided by a factor) when it exceeds actual weight.

Shopify product weight fields only capture actual weight, not dimensional weight. For bulky-but-light products, you have two options:

  1. Enter dimensional weight as the product weight. This gives you accurate shipping math but may confuse inventory or reporting systems that expect real weight.

  2. Use tags to identify bulky products. Create a “bulky” or “oversized” tag and build separate rules for these items in DC Order Limits.

Either approach works. Choose based on how you use weight data elsewhere in your operations.

Communicating exclusions to customers

Surprise shipping charges at checkout kill conversions. If heavy products don’t qualify for free shipping, tell customers before they reach checkout.

Product page messaging. Add a note to heavy product descriptions: “Due to weight, this item ships at a flat rate of $15 regardless of order total.”

Cart page logic. Most themes support conditional messaging. Show “Free shipping!” for qualifying carts and “Shipping calculated at checkout” when heavy items are present.

Shipping policy page. Document your weight threshold clearly. “Orders under 10kg qualify for free shipping on orders over $75. Heavier orders incur standard shipping rates.”

Transparency builds trust. Customers accept shipping charges when they understand the reason.

Real-world example

A pet supply store offers free shipping on orders over $50. Their catalog includes treats, toys, and large bags of pet food. The treats and toys ship cheaply. The 20kg food bags do not.

Before implementing weight exclusions, the store lost money on every order containing multiple bags of food. Customers would hit the $50 threshold easily with two large bags, triggering free shipping that cost the store $30+ to fulfill.

After adding a weight-based rule in DC Order Limits:

  • Orders under 15kg still qualify for free shipping over $50
  • Orders over 15kg see a message: “Heavy items in your cart require standard shipping rates”
  • Customers can still complete the purchase with calculated shipping

The result: AOV stayed similar, but shipping costs per order dropped significantly on heavy product purchases. Customers understood the policy because it was communicated clearly.

Getting started

If free shipping works for most of your catalog but destroys margins on heavy products, you don’t need to abandon the offer. You need to exclude the exceptions.

Set up your free shipping threshold in Shopify. Install DC Order Limits. Create a weight-based rule targeting heavy products. Communicate the policy clearly to customers.

Your lightweight orders get free shipping and convert well. Your heavy orders cover their shipping costs. The math finally works for both.

Back to Blog

Related Posts

View All Posts »
Install App