Discount codes in Zest's Multiship Checkout work a little differently than in a standard single-address Shopify order — and understanding that difference will save you and your customer service team a lot of confusion.
The key is this: when a customer sends to multiple recipients, Zest creates a separate order for each recipient behind the scenes. Every discount code is evaluated against each of those individual orders, not against the combined cart total.
How Discounts Work With MultishipOrders
When a customer completes a multiship, or multi-recipient, order through Zest, their cart is split into individual Child Orders — one per recipient. Each Child Order is processed and validated independently with Shopify, exactly as if the customer had placed separate orders back-to-back.
This means:
Discount eligibility is evaluated per Child Order, not against the combined cart total.
A $200 cart split across four recipients becomes four $50 Child Orders. Each $50 order is evaluated individually.
If your discount requires a $75 minimum spend, none of those four $50 orders will qualify — even though the combined cart total is $200.
Think of it this way: each recipient's shipment is its own independent purchase from Shopify's perspective.
Key Concept: Child Order-Level Evaluation
The most important thing to communicate to your customers (and your own CS team) is this mental model:
Each recipient = one independent order. Discounts apply per recipient, not per cart.
Example:
Recipient | Order Value | Qualifies for 20% off ($80 min spend)? |
Recipient 1 | $90 | Yes |
Recipient 2 | $50 | No |
Recipient 3 | $70 | No |
Recipient 4 | $100 | Yes |
Even though the total cart is $310, only Recipient 1 and Recipient 4 qualify for the discount. No engineering is required on your end to configure this — it's simply how Shopify evaluates each Child Order.
Discount Code Usage Limits and One-Use-Per-Customer Behavior
One-use-per-customer codes
If your discount code is set to one use per customer in Shopify, it will apply to the first Child Order only in a multiship transaction. Because each recipient generates a separate Child Order, Shopify treats the code as already redeemed after the first one.
To apply the discount to all recipients, remove the One use per customer restriction from the discount and instead set Maximum number of uses equal to the maximum number of recipients you want to support (up to 10).
Setting usage limits for multiship orders
In your Shopify admin, go to Discounts and open the code you want to configure.
Under Maximum discount uses, set Limit number of times this discount can be used in total to the number of recipients you'd like to support (for example, 10).
Remove the Limit to one use per customer checkbox if it is checked.
Click Save.
Heads up! Increasing the usage limit to 10 also allows the code to be used up to 10 times on separate single-address orders by different customers. To reduce potential misuse, add an expiration date to the discount code.
Minimum Spend and Tiered Discount Thresholds
Minimum spend thresholds are evaluated per Child Order — not against the Parent Order total.
Example:
Discount requires $100 minimum spend.
Customer sends to 3 recipients: $120, $80, $60.
Only the $120 recipient qualifies; the $80 and $60 recipients do not.
The same logic applies to tiered discounts (e.g., "Spend $300, get 20% off"). If no single Child Order meets the tier threshold, the discount won't apply — even if the combined cart value exceeds it.
Tip for gifting season promotions: If you plan to run spend-based or tiered promotions during peak gifting periods, consider lowering your per-recipient thresholds or adding customer-facing messaging that sets expectations about how discounts are applied per recipient.
Note: If you want to apply a discount based on the total combined value across all recipients (Parent Order level), this is not currently supported. All discounts are evaluated per Child Order.
Free Shipping Thresholds
Free shipping thresholds work the same way — per Child Order, not per combined cart total.
Example:
Your store offers free shipping on orders over $50.
A customer sends to three recipients: $60, $40, $30.
Only the $60 recipient qualifies for free shipping. The $40 and $60 recipients will be charged standard shipping.
Customers can adjust quantities per recipient to help individual orders reach the free shipping threshold.
Note: Shopify's native free shipping discount does not support partial shipping discounts (e.g., "$5 off shipping"). Some brands use checkout block apps to work around this limitation. If you're using a third-party checkout extension to manage shipping discounts, contact Zest support to verify compatibility before going live.
Automatic Discounts and Unsupported Discount Types
Automatic discounts
Zest enables automatic discounts on Child Orders. However, automatic discount behavior can vary depending on how they are configured in Shopify — particularly when custom line items are involved. If you rely on automatic volume or bulk discounts, test them in a development or sandbox environment before going live with a multiship campaign.
If you encounter issues, converting automatic discounts to manual discount codes gives you the most predictable behavior across Child Orders.
Customer-segment-specific codes
Discount codes that are restricted to specific customer segments — such as first-time customer codes, VIP codes, or loyalty member codes — are not currently supported for multiship checkout. The discount code must be available to all customers to work with Zest's multiship flow.
Third-party discount apps
Discount codes managed by third-party apps generally work if they behave identically to native Shopify discount codes. However, custom discount logic or checkout extension-based discount rules may not apply correctly to Child Orders.
Zest evaluates third-party discount app compatibility on a case-by-case basis — contact support to verify your specific app before launching a campaign.
Stacking multiple discount codes
Whether customers can stack multiple discount codes depends on how your discounts are configured in Shopify. If codes are set to allow only one per order, stacking won't be permitted. You can either configure codes to allow stacking in your Shopify discount settings, or create a single combined code that incorporates both product and shipping discounts.
Known Limitations for Multiship Checkout Discounts
The following are known limitations of the current discount system in this checkout:
Parent Order-level discounts are not supported. Discounts are always evaluated per Child Order. Volume or tiered discounts that require a high combined spend (e.g., "Spend $300, get 20% off") won't apply if no single Child Order meets the threshold.
One-use-per-customer codes apply to the first Child Order only, even if it doesn't meet the minimum spend threshold. If the first Child Order doesn't qualify, the discount won't apply to any Child Order in the transaction.
Customer-segment-specific discount codes are not supported in multiship checkout.
Subscription items in cart disable multiship checkout. When a subscription product is in the cart, the multiship option will not appear. Discount codes work normally in the standard single-address checkout flow in this case.
Processing time increases with more recipients. Zest validates discount codes for each Child Order individually, so orders with many recipients may take slightly longer to process at checkout.
Best Practices for Configuring Discounts
Follow these recommendations to get the most predictable discount behavior in multiship orders:
Set usage limits to match your maximum recipients. If your checkout supports up to 10 recipients, set the discount code's maximum use limit to 10.
Remove "one use per customer" restrictions on codes you want to apply across all recipients. Instead, control usage with an expiration date or a total usage cap.
Design discount thresholds at the per-recipient level. If you want a discount to apply broadly, set the minimum spend to match a typical single-recipient order value — not the combined cart total.
Test before you launch. Always validate discount behavior in a development store or with a test order before running a major campaign.
Set customer expectations proactively. Consider adding a short note on your promotional landing pages or at checkout explaining that discounts apply per recipient.
Use native Shopify discount codes where possible. Custom or third-party discount logic is more likely to have compatibility edge cases with multiship orders.
Add expiration dates to high-limit codes. If you've increased a code's usage limit to support multiple recipients, an expiration date helps prevent unintended reuse.
If a discount is applied incorrectly across Child Orders
In cases where a discount code is applied more broadly than intended across Child Orders:
Review the impacted orders in your Shopify admin.
You have two options: (a) cancel the over-discounted Child Orders and issue a refund via the Parent Order, notifying the customer; or (b) honor the discount to preserve customer experience.
Document the issue and report it to Zest support so the team can investigate.
