Discount Code with Multiple Conditions

Topic summary

A Shopify Plus merchant needs a single discount code that: (1) applies only to a specific product collection, (2) caps the total discount at €300 per order, and (3) includes free shipping. They report native limits and app gaps, especially around combining shipping with order-level discounts and targeting via customer tags.

Key constraint: Shopify’s native system treats product/order discounts and shipping discounts as separate classes; they can be stacked but not combined into one code. Many apps also lack support for combined conditions, order-level caps, or customer tag logic.

Proposed solutions for Shopify Plus:

  • Use Shopify Functions (successor to Scripts) to implement custom logic that triggers multiple effects from a single code. This can involve writing Rust/JavaScript.
  • No-code/low-code alternatives recommended: Checkout Blocks (primary recommendation), Function Junction, or a private custom app.

Status: No confirmed implementation or resolution yet. The leading actionable path is to try Checkout Blocks or build a Shopify Function to meet all conditions in one flow.

Summarized with AI on February 19. AI used: gpt-5.

Hi everyone,

I’m on Shopify Plus and I’ve been pulling my hair out trying to set up what I thought would be a straightforward discount. After going through native Shopify settings, contacting support, and testing several apps, I still haven’t found a clean solution — so I’m hoping someone here has a solution for this.

Here’s what I need in a single discount code:

  1. Applicable only to a specific product collection
  2. Discount capped at €300 at order level (not per product)
  3. Free shipping included in the same code

The core issues I’ve run into:

  • Native Shopify splits order-level discounts and shipping discounts into separate codes — you can’t combine them natively
  • Most apps I’ve tested either don’t support the full combination or have gaps on customer tag targeting
3 Likes

@eugenioolmeda The issue is that Shopify doesn’t natively allow combining an order-level discount with free shipping in a single code, and many apps don’t fully support all conditions like caps or customer tags. This is why setting up your exact discount is tricky.

Interesting. Would be perfect to just create a condition, to automatically add a free shipping when a voucher code with a specific prefix is added in checkout. This is not possible. Not even with Checkout Blocks

Since you’re on Plus, this isn’t something native discount codes can handle cleanly because Shopify separates product/order discounts and shipping discounts at the engine level.

The clean solution is to implement this using Shopify Functions:

• Scope the discount to a specific collection

• Apply a cart-level cap of €300

• Add customer tag logic if required

• Override shipping rates within the same discount object

You’d essentially create a custom discount function (product + shipping logic) tied to a single discount code trigger.

Apps struggle here because they operate within standard discount limitations this needs logic-level customization.

If you find this helpful, I can outline the architecture.

@eugenioolmeda

Hi,

You’re absolutely right, Shopify natively separates order discounts and shipping discounts, and combining both into a single code with an order-level cap (such as €300) isn’t supported out of the box, even on Plus.

Our OSCP Pricing & Discount Suite allows you to:

  • Apply a discount to a specific product collection

  • Include free shipping within the same discount setup

  • Target specific customer groups (including customer tags)

However, at present, discounts are calculated at the line-item (per product row) level, not at the overall order level. Because of this, we’re unable to enforce a strict €300 maximum cap across the entire order total.

For example, if multiple eligible products are added to the cart, the discount applies to each qualifying line individually. This could result in the total discount exceeding €300. Since your requirement is a firm €300 cap per order (not per product), it would require true order-level discount logic.

To fully meet your goal of:

• A collection-restricted discount
• A maximum €300 total discount per order
• Free shipping included within the same code

We’d be happy to explore a custom solution that combines all three conditions cleanly into a single code.

Let us know how you’d like to move forward, we’re here to help.

Hi! I’ve been thinking for the last few hours, trying to find the perfect fix. However, it looks like there isn’t a single app that can solve all your requirements.

That said, I’ve come up with a workaround that gets us very close — it handles everything except the €300 discount cap (if you accept using a gift card instead, then my solution can be perfect for your case)

Offer 1: Set up a discount code in native Shopify Discount

  • Choose Amount off order
  • Code (for example): SUMMERSALE (your free shipping & discount will use this code too)
  • Percentage set to 0% (must be 0%)
  • Eligibility (optional, if you want)
  • Combinations: tick on Product discount

Offer 2: Use the Checkout Upsell from BOGOS: Free Gift Bundle Upsell app (5.0 ratings | 3,3k+ reviews)

  • Upsell trigger > Specific product trigger > Collection

(This offer will be Applicable only to a specific product collection)

  • Upsell method > Manual > Select your desired products

Here, I suggest you offer a gift card or another free/discounted item instead of Discount capped at €300 at the order level. This will be easier to set up.

  • Click Add shipping discount > Percentage to 100%

  • Advanced configuration > Enable Discount code required > Enter SUMMERSALE > Choose Auto add products to cart

:white_check_mark: Result

When customers buy from your desired collection and enter the code SUMMERSALE at checkout, they’ll automatically receive free shipping and a gift card.

(customers just have to enter 1 code SUMMERSALE only, the code BOGOS-CKPH34 is auto-triggered based on the BOGOS app logic.)