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). - A cart permalink. A URL that lists variant IDs and quantities after
/cart/and can carry codes in adiscountparameter, such as/cart/70881412:1?discount=SAVE10(Shopify developer docs).
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). 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 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). 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 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). 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 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
- Is the discount active, with the right start and end dates?
- Does your test cart meet the minimum, contain the products the code applies to, and come from an eligible customer?
- Has the code hit its total use limit, or has this customer already used a one-per-customer code?
- Does every code on the link allow combining with the others, and with any automatic discount that's running?
- Does the code contain a comma?
- For Buy X get Y, is the "get" item in the cart?
- 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 and Security & compatibility in the docs.
When a Cart Rocket discount doesn't apply
The 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.
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 and Shopify discount links vs Cart Rocket. To put a product discount and free shipping on the same link, read Combine a product discount and free shipping in one link.
Try it on your store
Cart Rocket builds pre-loaded cart links for Shopify with automatic discounts, bundles, an options page with a countdown, order tags, UTM tracking and QR codes. Basic is $9/month for one cart link with every feature; Pro is $15/month for unlimited links. Both start with a 7-day free trial.
Install Cart Rocket →