help1
shopify discount fieldshopify checkoutcheckout abandonmentshopify plus

The Shopify Discount Field Problem Nobody Solves

The Shopify discount field can't be removed on non-Plus, PromoLock doesn't hide it, and it's been unfixed since 2020. What actually helps.

help1 Team
The Shopify Discount Field Problem Nobody Solves

Every few weeks a merchant lands in r/shopify or the Shopify Community with the same question, worded slightly differently each time. They post the checkout screenshot, point at the empty "Discount code" input, and ask how to turn it off. The answers arrive in the same order they always do. Deactivate every code. Upgrade to Plus. Try a CSS hack, then find out the CSS hack has not worked since checkout.liquid was retired. Thread ends. No one is satisfied.

The short version. The Shopify discount field cannot be removed by any native setting on any plan below Plus, and Plus does not cleanly remove it either. The one third-party app that reaches every plan costs six hundred dollars a month and does not visually hide the field. Most non-Plus merchants have to plan around this field, not fix it. What follows is what actually helps and what actively wastes your time.

Everyone assumes there's a setting for it

If you have never gone looking, the common-sense assumption is reasonable. Shopify gives you toggles for a lot of the checkout layout. Payment method order, express checkout position, address forms, the tipping line, the newsletter checkbox. The discount input sits right there in the middle of the summary block. Of course you can hide it.

You cannot. On any plan below Plus, the only way to make the field disappear is to deactivate every discount code in your admin. That includes the loyalty codes, the influencer codes, the welcome-email codes, and the automatic discounts that key off a Shared Link. Deactivate everything and the Shopify discount field goes away with them. Reactivate one code and it comes back.

A merchant on Advanced plan on the Shopify Community last summer described this exactly. They never publish public codes and only run Shared Links, and the empty field still shows to every customer at checkout, indistinguishable from a store that runs public promotions. That is not a bug in their configuration. That is how the feature works.

Why Checkout Extensibility didn't fix it either

The natural next thought is that a developer on Plus can hide the field with the modern extension system. Multiple developers have publicly documented this attempt. The last two years of Shopify Community threads are a graveyard of them.

One developer wired up a custom input against the purchase.checkout.reductions.render-before target and confirmed the native field remained visible next to their custom one. Another posted a plainspoken summary: they had tried Checkout UI Extensibility, Shopify Functions, and the Branding API, and could not find a solution to target the existing field. When Shopify's Payment Customization API shipped a way to hide the gift card entry in November 2024, a developer immediately tested whether the same mechanism would extend to discounts. It would not. A Shopify staff member confirmed in October 2024 that internal discussion was underway and gave no timeline. In June 2026 a merchant asked for a status update on that same thread. No Shopify response has been posted since.

That thread is public. It is nine months of silence sitting on top of a two-year-old request. If you are on Plus and considering a developer sprint on this specifically, do not budget for it until Shopify ships the API. The evidence says you will burn the sprint.

PromoLock is not the solution people think it is

The one app that consistently comes up in these threads is PromoLock. Until December 2025 it was Plus-only. Then it expanded to every Shopify plan. When merchants read that headline they tend to assume the app hides the Shopify discount field on non-Plus stores. It does not.

PromoLock intercepts code entry at the validation layer. If a customer types a code, the app can block it. What the app cannot do is remove the input from the customer's view. The empty box still sits at checkout, still visible on desktop, still inviting the customer to open a new tab and search for "brandname coupon code." The behavior that damages your conversion is the visible field. PromoLock only touches the validation.

The pricing makes this more academic than it sounds. PromoLock is six hundred dollars per month, single tier. That is roughly seven thousand two hundred dollars a year to solve a problem it does not actually solve for the merchant persona that has the problem most acutely. If you are running a nine-figure store and your concern is code stacking during BFCM, PromoLock might be a legitimate tool for that different problem. If you are a solo merchant watching checkout abandonment climb, it is the wrong lever at the wrong price.

What actually works on non-Plus

Given all of that, here is the honest map of what a merchant without Plus can do. None of these removes the Shopify discount field. Each one makes the field less lethal.

  1. Convert code-based promotions to automatic discounts where you can. Automatic discounts apply without customer input, and in some store configurations this suppresses the discount field entirely. The evidence across the Shopify Community threads is mixed on when the field disappears and when it persists, so treat this as a per-store test. Switch one promotion at a time and check checkout after each change. This does not protect against coupon aggregator scraping, and it is not viable at all if your marketing plan runs on influencer codes.

  2. Move discount entry to the cart page. Third-party apps like Voila and Coupon Codes Anywhere add a discount input on the cart drawer or cart page. Customers who arrive at checkout with the code already applied are less likely to hit the "I don't have a code, I should go find one" moment at the exact spot Shopify puts the empty field. This is a partial workaround. The checkout field still appears. But the empty field has less power over a customer whose discount has already resolved.

  3. Harden the codes you do issue. Tie every code to a single customer email, cap it at one use per customer, and set an expiration date. Do not distribute codes through the /discount/CODE URL pattern in public contexts. Honey actively scrapes that format, and Capital One Shopping and RetailMeNot behave the same way. Klaviyo and a few other email platforms can mint per-customer unique codes on the fly. Use that if your volume justifies it.

  4. Stop training customers to expect a code from you. If every abandoned cart sequence ends in ten percent off, you are actively creating the audience segment that abandons at checkout to trigger the email. The r/shopify thread on intentional abandonment reads clearly on this: the behavior is a minority, but a real one, and your recovery flow may be feeding it. Try replacing the discount-first recovery with scarcity or restock cues for thirty days and compare the numbers.

  5. Test your mobile checkout separately. On mobile the field is buried inside "Show order summary" by default. Customers who legitimately have a code often cannot find it. Non-Plus merchants cannot add a helper message inside the checkout to solve this, so the helper has to live in the email or on the product page: "Enter your code at checkout, tap Show order summary on mobile." That is a bandage. It works.

If you have run all of the above and your checkout conversion is still moving in the wrong direction, the next diagnostic question is whether the field is genuinely your top loss or whether something else is. That is the point where I usually pull in Zuko or a session recording tool and look at field-level bounce behavior. If you want a second pair of eyes on the numbers before you spend a month running experiments, help1's chat is set up for exactly that. First fifteen minutes are free.

The question the field forces you to answer

The field has been an open feature request since 2020. Shopify has acknowledged it publicly, promised early-2024 delivery that did not ship, and gone quiet for nine months. The realistic assumption is that this is not being fixed on your timeline.

So here is the question. If the Shopify discount field is not something you can remove, and every real mitigation is partial, are you treating it as a problem to solve or as a variable to plan around? The way you answer decides whether the next quarter of checkout work goes into hunting for a fix that does not exist, or into making the field less lethal to your conversion rate. My bet is on the second one. That is where I would send the budget. If your abandoned cart recovery is currently discount-led, that thread is worth pulling on next.

Still stuck? Talk to an expert.

Our vetted Shopify experts can fix this issue for you in a live session. $39 per session. Your first 15 minutes are free.