How does Shopify calculate shipping thresholds for pre-orders?

If you're using Early Bird to run pre-order campaigns, here's how Shopify's shipping system works with your deposits and pre-orders.

In this article, we'll explain how Shopify calculates shipping thresholds for pre-orders, and why your free shipping rules might work differently than you expect.

Important note: Before you start, you need to understand when Shopify calculates shipping, which is at checkout and based on what's in the cart right now. Not based on the final order value.


How does Shopify's deposit and shipping systems work together?

⚠️ This is critical to understand before you try to configure anything.

The core issue:

When a customer checks out with a pre-order deposit, Shopify evaluates your free shipping threshold at that moment, against the deposit amount only. It doesn't know about the remaining balance that will be charged later.

So if your threshold is $99 and the customer pays a $25 deposit, Shopify sees it as an order with $25 (which is less than $99), and therefore charges shipping. When the remaining $75 is charged later, shipping is not recalculated for a second time.

Why this happens:

Shopify's shipping system is designed to calculate at checkout based on the current order subtotal. Early Bird (and other pre-order apps) display deposit information, but the actual payment processing and shipping logic is entirely Shopify's. Shopify doesn't have a native logic to say "this is a deposit, hold the shipping calculation until the full amount is charged." It only sees what's in the cart right now.


An example

Let's say you're running Shopify pre-orders for a product priced at $100.

  • You've set up a 25% deposit pre-order campaign in Early Bird
  • You have a free shipping threshold of $99

What happens:

  1. Customer checks out and pays a $25 deposit (25% of $100)
  2. Shopify evaluates and sees the initial $25 deposit as lower than $99
  3. Therefore the customer is charged shipping on the $25 subtotal
  4. When the remaining $75 is charged later, shipping is not recalculated

This can feel unfair to customers, as they're paying shipping on a small deposit, even though their final order value would have qualified for free shipping.


2 potential workarounds

  1. Lower your free shipping threshold to match typical deposit amounts

This is the fastest fix if you're selling high-ticket items and most of them use similar deposit %.

  1. Go to Settings > Shipping and delivery
  2. Find your shipping profile
  3. Add a new shipping rate (or edit an existing free shipping rate):
    • Click "Add rate" next to the zone
    • Name it (e.g., "Free shipping")
    • Click "Add conditional pricing"
    • Select "Based on order price"
    • Set Price to a value that matches your average deposit (e.g., if you charge 25% on a $200 product = $50 deposit, set free shipping to $50)
    • Click Done, then Save

Important note: Shopify's native shipping settings cannot distinguish between pre-order deposits and regular orders, so this will also trigger free shipping for regular in-stock purchases at that lower threshold, which will likely impact your margins. Only use this if you need a quick fix and/or you're selling high-ticket items.


  1. Create a separate shipping profile for pre-order products

This is a better solution than the first workaround, and gives you more control without affecting your regular product shipping.

  1. Go to Settings > Shipping and delivery
  2. Click Add shipping profile and name it "Pre-order products"
  3. Set free shipping threshold to a lower amount
  4. Go to Products > Manage products, assign any pre-order products to this new shipping profile

This workaround requires manual product assignment. If you intend to sell your pre-order products as regular in-stock purchases, you'll need to remove them from this profile. And if you want to add new pre-order products later, you'll need to remember to assign them to this profile as well.


Setting clear customer expectations early

Whichever workaround you go with, always be transparent with your customers. We recommend making it clear in your product description, cart pages, your shipping policy and FAQs that shipping is calculated on the deposit amount at checkout, not the final order value. Your customers likely won't realize shipping isn't recalculated when the remaining balance is charged later.

Examples of what to communicate:

  • "Shipping for pre-orders is calculated on your deposit at checkout. Your remaining balance will be charged on [date], with no additional shipping fees."
  • Or if you're offering free shipping on deposit: "Free shipping included on all pre-orders."
  • Or if you're using flat-rate: "Flat-rate shipping of [amount] applies to all pre-orders."

Using Early Bird with pre-order shipping on Shopify

If you're using Early Bird for your pre-orders, all of this shipping configuration still applies. Early Bird displays your deposit amount, pre-order status, and expected shipping date on the product page, in cart and at checkout. Shopify handles the actual payment processing and shipping calculation. Early Bird doesn't override or modify how Shopify calculates shipping thresholds.

The workarounds above (lowering your threshold or creating a separate shipping profile) work the same way whether you're using Early Bird or any other pre-order app.


Need further help?

While Shopify's shipping charges are not directly managed by our Early Bird app, if you have any further questions about pre-order shipping, feel free reach out to us at support@shopside.com.au and we'll do our best to help!