Why the discount field lives at checkout.
Out of the box, Shopify handles discounts one way: "Customers enter a specific code at checkout to receive a discount."1 The cart page has no built-in code field, and there's no setting in the admin to move one there. That's not an oversight — checkout is where Shopify knows the full order, so it's where a code can be validated against the products, quantities, and customer in front of it.
The problem is what shoppers do in the meantime. A customer holding a 20% code sees full price in their cart and has to trust that the discount will show up later. One who doesn't have a code sees an empty "Discount code" box at checkout and wonders what they're missing. Both are friction, and both happen at the worst possible moment — right before payment.
Shopify gives you two native ways around it, your theme or an app gives you a third, and owning the checkout gives you a fourth. In order of effort:
02 / Option 1Share links that apply the code automatically.
The simplest fix: never make the customer type the code at all. Every discount in your admin can generate a shareable link, and when a customer opens it, the discount "applies automatically to your customer's next checkout cart, or to any active carts they have open."2 Here's the process:
- Open your discounts. In the Shopify admin, go to Discounts.
- Pick the discount. Click the name of the discount you want to promote. Shareable links "work only for active discounts,"2 so make sure it's live.
- Get the shareable link. Click Promote, then select Get a shareable discount code.
- Choose where the link lands. Pick the page, product, or collection the link should open — send a product-specific offer straight to that product.
- Copy the link. Click Copy link, or download the QR code for print and packaging inserts.2
- Share it. Drop the link into your emails, ads, and social posts. The customer clicks, shops, and the discount is already on their cart when they reach checkout.
There's a developer-side variant of the same idea: cart permalinks can carry a ?discount=CODE parameter that applies an active code when the customer lands on checkout.3 That's useful when you're building links programmatically — email flows, affiliate links, ad UTMs.
Automatic discounts. No code, anywhere.
If everyone qualifies, skip codes entirely. Automatic discounts "are automatically applied in the cart and at checkout when eligibility conditions are met"4 — the customer never types anything, and the discount shows up in the cart, which is exactly what someone searching for "discount code before checkout" usually wants.
- Create the discount. In Discounts, create a new discount and set its method to Automatic discount instead of a discount code.
- Set the conditions. Minimum purchase amounts, specific products or collections, Buy X get Y requirements — whatever qualifies the order.
- Mind the cart. "For an automatic discount to apply correctly, your customers need to add all eligible items to their cart" before checking out.4
Two limits worth knowing before you build a promotion calendar around this: you can have "a maximum of 25 active automatic discounts," and that total includes app-based discounts.4 Automatic discounts also don't apply to post-purchase offers at checkout.4 And because there's no code, there's no way to gate the deal to a specific audience — anyone whose cart qualifies gets it.
04 / Option 3A code field on the cart page itself.
If what you specifically want is the field — a visible "Enter discount code" box in the cart — that's a theme-or-app job, because Shopify doesn't ship one:
- Your theme may already have it. Some themes include a cart-page discount field as a built-in setting. Check your theme editor's cart section before installing anything.
- Apps can add one. The Shopify App Store has apps whose whole job is putting a discount field in the cart or cart drawer, typically passing the code through so it's applied at checkout.
- A developer can build it. A custom field in your cart template that hands the code to checkout — commonly by routing through a discount URL — gets you the same result without an app subscription.
This is the most literal answer to the question, and it works. It's also worth being honest about the trade-off before you add it — see the note below.
Own the checkout. Put offers where you want.
Options 1–3 all work around the same constraint: the checkout is Shopify's, so discounts go where Shopify puts them. The fourth option removes the constraint — keep Shopify as your storefront and run your own checkout layer in front of the payment step. This is what Admoji does.
Your customers browse your Shopify storefront as usual. When they check out, they land on an Admoji checkout running on your own domain — like checkout.yourdomain.com — while every product, order, and customer syncs with Shopify in real time.5 Because the checkout pages are yours, discount handling isn't a workaround anymore: fields, applied-discount banners, and offers sit wherever you design them, not wherever the platform allows.
- A fully custom, Shopify-style checkout built for conversion, with smart routing and retry logic baked in.5
- One-click upsells — offers inside the purchase flow, positioned where you choose.5
- Your own merchant account — Stripe, Authorize.net, NMI, or any processor you want.5
- A full CRM underneath — customer data and funnel reporting in the same dashboard.5
Pricing is published: $79/mo + 0.35% of volume on the Launch plan, no long-term contracts, with a 14-day free trial and no credit card required.5
To be clear about the trade-off: this is a different architecture, not a Shopify setting. If a share link or an automatic discount solves your problem, options 1 and 2 are free and take minutes. The fourth path is for stores that keep hitting the edges of Shopify's checkout — discount placement today, offer placement and checkout upsells tomorrow. If you're weighing that broader question, our guide to customizing the Shopify checkout page covers every path.
06 / Side by sideThe four options, compared.
| Approach | What the shopper does | Where the discount shows | Cost & limits |
|---|---|---|---|
| Discount share links | Clicks a link — no typing | Applied to the cart before checkout; visibility depends on your theme | Free, built in. Active discounts only. |
| Automatic discounts | Nothing — it just applies | In the cart and at checkout, no code | Free, built in. Max 25 active (incl. app-based); no audience gating. |
| Cart-page code field | Types the code in the cart | Cart page field; applied at checkout | Theme setting, app subscription, or developer time. Can invite coupon-hunting. |
| Your own checkout (Admoji) | Whatever you design | Wherever you want — the pages are yours | $79/mo + 0.35% of volume · 14-day free trial |
Shopify rows from help.shopify.com and shopify.dev, observed Sept 3, 2026. Admoji row from admoji.com published pricing. If anything here is out of date, tell us and we'll fix it.
Stay with Shopify's tools if…
- A share link or automatic discount covers your promotions
- Your theme or an app gives you the cart field you're after
- Discount placement is your only checkout complaint
Add your own checkout layer if…
- You want discounts and offers placed by design, not by workaround
- You want one-click upsells in the purchase flow
- You want your own merchant account behind the checkout
Common questions.
Can customers enter a discount code before checkout on Shopify?
How do Shopify discount share links work?
What's the difference between a discount code and an automatic discount?
Can I add a discount code field to my Shopify cart page?
Discounts where you want them.
Because the checkout is yours.
Keep your Shopify storefront. Get a custom checkout on your own domain, one-click upsells, and a full CRM — for $79/mo + 0.35%.
Start your free trial →or see everything Admoji does →
14-DAY FREE TRIAL · NO CREDIT CARD REQUIRED · CANCEL ANYTIME
Sources — all observed September 3, 2026
- help.shopify.com — Discount codes — "Customers enter a specific code at checkout to receive a discount."
- help.shopify.com — Managing and editing your discounts — Promote → Get a shareable discount code; the discount "applies automatically to your customer's next checkout cart, or to any active carts they have open"; links and QR codes work only for active discounts.
- shopify.dev — Create cart permalinks — the ?discount=CODE parameter on cart permalinks, applied when the customer lands on checkout.
- help.shopify.com — Automatic discounts — "automatically applied in the cart and at checkout when eligibility conditions are met"; "a maximum of 25 active automatic discounts," including app-based; all eligible items must be in the cart; not applied to post-purchase offers.
- admoji.com — Admoji's published features and Launch pricing: custom Shopify-style checkout on your own domain, real-time Shopify sync, one-click upsells, smart routing and retry logic, your own merchant account, full CRM, $79/mo + 0.35% of volume, 14-day free trial, no credit card required.
Shopify features change; figures reflect what Shopify published on the date above. If you spot something outdated, email info@admoji.com and we'll correct it promptly.