---
title: Why Your Shopify Discount Link Isn't Applying (and How to Fix It) | Cart Rocket Blog
description: A Shopify discount link that opens but leaves the price unchanged usually has one of a handful of causes. The checks for shareable discount links and cart permalinks, from Shopify's own docs.
url: https://cartrocket.dev/blog/shopify-discount-link-not-applying.html
---

How-to · 8 min read · By Robin · October 14, 2026

# Why Your Shopify Discount Link Isn't Applying (and How to Fix It)

You sent a link with a discount on it. Shoppers click it, the store opens, and the price at checkout is still the full price. Shopify's documentation explains most of the reasons this happens, and almost all of them come down to the code's own settings or the way the link passes it. This post goes through the causes for each kind of link, then explains how Cart Rocket applies discounts.

## First, which link are you using?

Shopify has two built-in ways to put a discount code in a URL, and they fail for different reasons.

- **A shareable discount link.** In your admin, open the discount under **Discounts**, click **Promote** and get the shareable link. It ends in `/discount/CODE`. To land shoppers on a particular page, Shopify says to change the end to `/discount/CODE?redirect=/new-path`, for example `?redirect=/collections/fresh-finds` ([Shopify Help Center](https://help.shopify.com/en/manual/discounts/managing-discount-codes)).
- **A cart permalink.** A URL that lists variant IDs and quantities after `/cart/` and can carry codes in a `discount` parameter, such as `/cart/70881412:1?discount=SAVE10` ([Shopify developer docs](https://shopify.dev/docs/apps/build/checkout/create-cart-permalinks)).

A shareable link applies a code and opens a page in your store. A permalink fills the cart as well. Both pass a code to Shopify, and Shopify still checks that code against its settings before it takes anything off.

## Causes on a shareable discount link

### The discount isn't active

Shopify says shareable discount links and QR codes work only for active discounts. Open the discount and check its status and its dates. A code with an end date in the past, or a start date that hasn't arrived yet, won't apply from a link any more than it would if a shopper typed it.

### The cart doesn't meet the code's conditions

An amount off discount can have a **Minimum purchase amount** or **Minimum quantity of items**, an eligibility setting (specific customers, customer segments or markets), a limit on total uses, a **Limit to one per customer** setting, and a list of specific products or collections it applies to ([Amount off discounts](https://help.shopify.com/en/manual/discounts/discount-types/percentage-fixed-amount)). Shopify also notes that only the items the discount applies to count toward a minimum. If the shopper's cart is under the minimum, holds products outside the code's list, or belongs to a customer who has already used a one-per-customer code, the link has done its job and the code still won't apply.

### You tried to put two discounts on one link

A shareable link or QR code can carry only a single discount. If you run several discounts on the same product, Shopify applies the most recent one to shareable links. Merchants who try to chain two shareable links together run into this; in [one Community thread](https://community.shopify.com/t/combine-two-or-more-discounts-with-one-sharable-discount-link/176804) the code from the last link clicked was the one that stuck.

### The code doesn't combine with a discount already in the cart

A code from a shareable link can combine with other discounts in the cart only when the combination setting on each discount allows it. When they can't combine, Shopify applies whichever discount is best for the shopper's cart, and a shopper who enters codes that don't combine sees _Discount couldn't be used with your existing discounts_ ([Combining discounts](https://help.shopify.com/en/manual/discounts/discount-combinations)). So if an automatic discount is already giving the shopper more, your link's code can look as if it did nothing.

### Your own browser is still holding an old code

This one mostly catches merchants while they test. Shopify saves the discount from a shareable link to the shopper's cart and browser, and it stays applied until it's removed. To clear it, click **Remove discount** at checkout, or clear the store's cookies and cached data and visit the store directly. Opening the shareable link again puts the discount back. If you test three links in a row in the same browser, start each test from a clean state, or use a private window.

### The order already has as many codes as Shopify allows

Customers can use at most 5 product or order discount codes and 1 shipping discount code on the same order, and Shopify counts codes from shareable links toward that limit.

## Causes on a cart permalink

### The code contains a comma

Shopify's developer docs say you can't pass a discount code that contains a comma, such as `savings, today!`, in the `discount` parameter. The comma is what separates codes in that parameter. Create a code without a comma for the link.

### You passed several codes and only one applied

A permalink can carry several codes separated by commas: `?discount=CODE1,CODE2`. Each code still goes through the combination rules above, so every one of them has to allow combining with the others' discount classes. Open each code, find the **Combinations** section, tick the classes it may combine with and save. A [Community thread on multiple codes](https://community.shopify.com/t/adding-multiple-discount-codes-to-shopify-checkout-link/203889) shows the symptom: each code worked when typed by hand, but only one applied from the link.

### Your store isn't eligible for that combination

Every store can combine order discounts with free shipping, product discounts with free shipping, and product discounts with other product discounts on separate items. Combining product discounts with order discounts, or order discounts with each other, needs a store that doesn't use checkout.liquid customizations or the Licensify app. Two product discounts on the same line item need Shopify Plus, and two shipping discounts can never apply to the same order. Shopify also says combinations work only on orders through the Online Store, the Storefront API and Shopify POS.

### The code is Buy X get Y and the free item isn't in the link

Shopify never adds the free or discounted "get" item to the cart automatically; customers add every item themselves ([Buy X get Y](https://help.shopify.com/en/manual/discounts/discount-types/buy-x-get-y)). A permalink that carries a Buy X get Y code but only the "buy" product won't produce a discount until the shopper finds and adds the other item. Put both variants in the permalink.

### The link changed what was in the cart

Shopify's permalink docs don't say what happens to items already in a shopper's cart. Replies in [this Community thread](https://community.shopify.com/t/again-valid-discount-code-passed-as-a-query-parameter-to-checkout-but-its-not-applying-to-order/231631) report that a permalink overwrote the existing cart. If your code's minimum depends on what the shopper had already added, test it on your own store before you rely on it.

## What the Community threads have in common

The thread above starts with a valid code added to a `/checkout` URL as a query parameter that sometimes didn't apply. Shopify's developer docs document the `discount` parameter on cart permalinks; they don't describe adding it to a checkout URL. If you've been building links that way, switch to one of the two documented formats and go through the checks below. The threads show what merchants run into. For Shopify's behaviour, go by the Help Center and developer docs linked in this post.

## A quick checklist

1. Is the discount active, with the right start and end dates?
2. Does your test cart meet the minimum, contain the products the code applies to, and come from an eligible customer?
3. Has the code hit its total use limit, or has this customer already used a one-per-customer code?
4. Does every code on the link allow combining with the others, and with any automatic discount that's running?
5. Does the code contain a comma?
6. For Buy X get Y, is the "get" item in the cart?
7. Are you testing in a browser that still holds an earlier code?

## How Cart Rocket applies discounts

A Cart Rocket link works differently from both native links. The discount is saved on the cart link itself, and Cart Rocket applies it when the link opens, using Shopify's discount engine. In the **Discounts** section of the cart editor you can set:

- A line-item discount: a percentage or fixed amount off specific products, with an optional **Max discounted quantity for this item**.
- A cart-wide discount, with an optional minimum subtotal or minimum number of items.
- A shipping discount for free or reduced shipping, with the same optional minimums.
- One or more Shopify discount codes to apply automatically. The code has to exist in Shopify before you add it.

Line-item, cart-wide, shipping and Shopify code discounts can be combined on one link, and the shopper doesn't type anything. Cart Rocket builds the cart on the server and applies discounts from data only the app can write, so editing the link's URL can't change its items or discounts. See [Discounts](https://cartrocket.dev/docs/#discounts) and [Security & compatibility](https://cartrocket.dev/docs/#security) in the docs.

## When a Cart Rocket discount doesn't apply

The [Troubleshooting](https://cartrocket.dev/docs/#troubleshooting) section of the docs lists the checks:

- For auto-applied Shopify codes, check that the code exists in Shopify and is active, and that its conditions are met. The causes earlier in this post still apply to the code itself.
- For Cart Rocket's own discounts, check that they're saved on the cart link. After editing, copy the link again so you share the current version.
- Check that **Cart Rocket** is switched on under **App embeds** in the theme editor. Cart links need it to apply discounts and bundles.
- If **Empty the shopper's cart before adding these items** is off, items the shopper already had count as extra items, and a discount that doesn't allow extra items won't apply. Turn the setting on (under **Advanced**, then **Checkout options**) or allow extra items on the discount. See [Empty the cart first](https://cartrocket.dev/docs/#empty-cart).

If the shopper lands on a product or home page with a short notice instead of a cart, the link itself is off, outside its active dates, at its purchase limit or limited to certain customers. Check **Link active**, the dates (in UTC) and the purchase counter.

Before sharing, use **Open** under **Cart link** in the editor to see the cart a shopper gets, and check **Summary** in the right column for what they'll pay. To compare them side by side, read [Shopify cart permalinks vs Cart Rocket](https://cartrocket.dev/compare/shopify-cart-permalinks-vs-cart-rocket.html) and [Shopify discount links vs Cart Rocket](https://cartrocket.dev/compare/shopify-discount-links-vs-cart-links.html). To put a product discount and free shipping on the same link, read [Combine a product discount and free shipping in one link](https://cartrocket.dev/blog/product-discount-and-free-shipping-one-link.html).
