Shopify's native shipping engine handles basic scenarios well — flat rates, free shipping above a threshold, and carrier-calculated rates on eligible plans. But it quickly hits its limits when you need weight-based logic across different product types, SKU-level shipping rules, blended rates from multiple sources, or conditional surcharges. This guide covers what's possible with Shopify's built-in shipping tools and when you need a third-party app to handle more complex requirements.
What Shopify's Native Shipping Can Do
Shopify's shipping is managed through shipping profiles, which let you assign products to different rate structures. Within a profile, you can set rates by shipping zone and create conditions based on price or weight.
Out of the box, Shopify supports flat rates (a fixed cost regardless of order size), price-based rates (free shipping above a certain order value), weight-based rates (different costs based on total order weight), and carrier-calculated rates (real-time rates from UPS, USPS, FedEx, DHL, etc. — available on Advanced Shopify and Shopify Plus, or on annual plans with an upgrade).
Multiple shipping profiles allow you to apply different rate logic to different products. For example, you can create a "General" profile for most products and a "Heavy Items" profile for products that always require a different rate.
Limitations of Shopify's Default Shipping
Several common shipping scenarios aren't supported without third-party apps:
SKU-level and tag-level logic: Shopify's shipping profiles are assigned at the product level, but there's no way to apply different rates to individual variants or products based on custom tags, metafields, or collections within a single profile.
Sub-zone targeting by postal code: Shopify shipping zones are defined by country, state, or province — you can't create zones based on specific ZIP codes or postal codes. This makes it impossible to offer local delivery to specific neighborhoods or charge different rates for urban vs. rural addresses using native tools.
Blended rates: When a customer's cart includes products from multiple shipping profiles, Shopify combines the rates rather than intelligently blending them. This can result in customers seeing higher-than-expected shipping costs.
Conditional logic: There's no way to show or hide shipping options, apply surcharges, or modify rates based on cart contents, customer tags, or other order attributes without custom code or an app.
Residential vs. commercial surcharges: Major carriers charge different rates for residential vs. commercial delivery, but Shopify has no native way to pass these through conditionally.
Weight-Based Shipping Rates
Weight-based rates are the most common reason merchants need more advanced shipping logic. The typical use case: light items ship cheaply via USPS First Class, heavier items require UPS Ground, and very heavy items need a different carrier or freight service.
In Shopify's shipping settings, you can create weight-based conditions within a rate — for example, a rate that only applies when the cart weighs between 0 and 1 lb, and a separate rate for 1–5 lbs. For this to work correctly, you need to make sure all your products have accurate weights set in their product settings, including for each variant if weights vary.
The limitation is that weight-based tiers apply to the total cart weight, not to individual products. If a customer adds both light and heavy items, the total weight determines which rate applies.
Product Groups and SKU-Level Logic
To apply different shipping logic to specific products or product types, the standard approach is to use multiple shipping profiles. Assign products that need special shipping (heavy items, fragile items, items that ship from a different location) to their own profile with their own rate structure.
For more granular control — applying rules based on product tags, collections, vendor, or metafields — you'll need a third-party shipping app. Apps like Intuitive Shipping, Advanced Shipping Rules (Bold), or ShipStation's rate customization allow you to build conditional logic at the tag or SKU level that Shopify's native profiles can't support.
Free Shipping Thresholds with Exceptions
Offering free shipping above a price threshold is straightforward in Shopify: create a rate with a price-based condition set to "0" for orders above your threshold. The complication arises when you want to exclude certain products from qualifying for free shipping — for example, furniture, heavy equipment, or items from specific vendors.
Shopify doesn't natively support excluding specific products from free shipping thresholds. The typical workarounds are placing excluded items in a separate shipping profile that doesn't have a free shipping rate, or using a third-party app that supports product-level exclusion rules.
Surcharges and Handling Fees
Common surcharge scenarios include oversized item fees, fragile handling charges, residential delivery surcharges, and signature confirmation fees. Shopify's native rate builder doesn't support surcharges that are added on top of a base rate — you'd need to build this into your rate tables manually, which doesn't scale well.
Third-party shipping apps handle surcharges more cleanly by letting you define conditions (product tag equals "oversized," shipping address is residential, cart contains items from a specific vendor) and add a dollar amount or percentage to the applicable rates.
Carrier-Calculated Rates
Real-time carrier rates — where Shopify fetches live quotes from UPS, USPS, FedEx, or DHL at checkout based on actual package weight and destination — require either the Advanced Shopify plan, Shopify Plus, or the annual billing upgrade. If you're on a monthly Basic or Shopify plan and need carrier rates, a shipping app that connects to carrier APIs independently can provide this functionality on any plan level.
When to Use a Third-Party Shipping App
Shopify's built-in shipping handles most needs for stores with simple catalogs and straightforward rate structures. You'll likely need a third-party app if you: have products with very different shipping requirements that can't be separated into clean profiles, need to exclude specific products from free shipping, require postal code-based zone targeting, want to blend flat rates with carrier rates, need surcharges based on product attributes or destination type, or ship from multiple locations with different carrier preferences.
Well-regarded apps for advanced shipping on Shopify include Intuitive Shipping, Advanced Shipping Rules by Highview Apps, and Parcelify. Each has different strengths — Intuitive Shipping is particularly strong for complex conditional logic, while Parcelify is simpler and better suited for tag-based rules.
For help configuring shipping for your Shopify store, get in touch with First Pier or explore our guide on how to set up shipping on Shopify.





.png)
.png)
