Back to blog

New Year, Cleaner Discounts: Auditing the Promo Debt in Your Store

Run a Shopify discount audit in January: find zombie codes, overlapping automatics, and orphaned campaigns before they leak margin all year. A numbered, seven-step cleanup.

Discount Prime Team
Discount Prime Team
· 5 min read
New Year, Cleaner Discounts: Auditing the Promo Debt in Your Store

Every store carries promo debt. It is the pile of discounts you started, meant to end, and never actually turned off.

If you run promotions on Shopify for a year, some of them do not get cleaned up. A BFCM code that never got deactivated. An automatic discount you set up for one weekend and forgot. A free shipping threshold from a campaign that ended in March. None of it is visible on your storefront, so none of it feels urgent, and all of it quietly discounts orders that would have converted at full price. That accumulated mess is promo debt, and January is the right time to pay it down.

A discount audit is a full review of every active discount in your store, checking each one for whether it should still be running, whether it is leaking, and whether it is stacking with others in ways you never approved. Below is the audit we run, in seven numbered steps. Set aside an afternoon. Most stores find at least one thing costing them money.

Why promo debt is invisible until you look

The reason promo debt survives is that a live-but-forgotten discount produces no error. The order goes through. The customer is happy. Your revenue number even looks fine. The only thing that suffers is margin per order, and margin per order is the number most stores watch least closely. A discount you meant to run for three days and left on for three months does not announce itself. You have to go looking.

The other reason is that Shopify spreads discounts across two systems, codes and automatic discounts, and the interactions between them are governed by combination settings that are easy to set once and never revisit. An audit forces you to look at all of it in one sitting.

The seven-step discount audit

1. Inventory every active discount. Open your Shopify admin discounts list and export or write down every code and automatic discount currently active or scheduled. Do the same inside any app that creates discounts, including Discount Prime. You cannot audit what you have not listed. Most merchants are surprised by the length of this list.

2. Kill the zombie codes. A zombie code is a past-campaign code that was never deactivated and is still being redeemed. Sort your recent orders by discount code. Any code still getting used after its campaign ended, or used far more than the audience you gave it to, is leaking. These circulate on coupon sites and browser extensions for months. Disable every code you cannot tie to a live, approved promotion.

3. Check every end date. For each remaining active discount, confirm it has an end date and that the date is correct. Campaigns without an end date are the single biggest source of promo debt. If a discount is meant to be permanent, that should be a deliberate decision, not the default that happened because no one set a date.

4. Map the overlaps. List which discounts can apply to the same cart at the same time. A volume tier on a product, an order-level code, and a free shipping threshold can all hit one cart. If they are all set to combine, the customer gets all three. Write down every combination that is currently allowed and ask, for each, whether you meant to allow it.

5. Calculate the effective discount on your worst case. For the deepest allowed stack, do the arithmetic. Suppose a customer hits a 15% volume tier, applies a 10% welcome code, and clears the free shipping threshold. Those do not simply add, but on a $100 order the combined giveaway plus shipping cost can easily reach 30% or more of your take. If that number is below your margin floor, you have found real money.

6. Retire the orphaned campaigns. An orphaned campaign is a discount tied to a landing page, collection, or promotion that no longer exists. The offer is live but the context around it is gone. These confuse customers who stumble into them and they never get measured because no one remembers they exist. Turn them off.

7. Set a standing review. Promo debt is not a one-time cleanup, it is a recurring maintenance task. Put a quarterly audit on the calendar, plus a quick pass after every major sale season. BFCM and the winter holidays generate the most orphaned campaigns and leaked codes, which is exactly why January is the natural time to do the big one.

A quick worth-it check

Say your store did 2,000 orders last quarter and a zombie code leaked onto a coupon site, quietly attaching 10% off to 8% of those orders. That is 160 orders discounted by 10%. On a $70 average order, that code alone gave away roughly $1,100 of revenue you never approved, most of it straight off margin. One code. The audit that would have caught it takes an afternoon.

Measuring the cleanup

Once you have closed the leaks, watch what happens to your effective discount rate, meaning total discount dollars divided by gross revenue. It should drop, and margin per order should rise, without any fall in conversion, because the discounts you removed were not driving the sales in the first place. Our analytics can show you which discounts are actually tied to incremental orders and which are just leaking, which is the difference between a promotion and a liability. We wrote about that shift when the feature first shipped in see which discounts actually make you money.

Keeping the store clean going forward

The best defense against promo debt is deliberate combination settings and a scheduled end date on everything. Decide up front what each discount is allowed to stack with, and never create a promotion without an end. For the margin side of the same problem, our guide to protecting margin during sitewide sales covers the exclusions and caps that keep a big sale from becoming a leak.

Setting this up with Discount Prime

Discount Prime gives every campaign explicit combination controls and a scheduled end date, so the discounts you create do not become next year's promo debt. It runs on Shopify Functions, applies natively in checkout, and works on any plan, so you can see and manage all of your volume, shipping, and tiered offers in one place instead of hunting through the admin. Pair it with our analytics and your volume discounts stay clean by design. You can find the app on the Shopify App Store.

analyticsdiscount-auditpromo-debtdiscount-conflictsprofit-strategy
Discount Prime Team

About the author

Written by the Discount Prime Team - the people building and supporting Discount Prime, the smart discount and pricing app for Shopify. We share what we learn from helping merchants run volume discounts, tiered pricing, and high-converting promotions every day.

Frequently asked questions

What is a Shopify discount audit?

A discount audit is a full review of every active discount in a store to find ones that are expired, leaking, redundant, or stacking in ways that erode margin. It inventories all codes and automatic discounts, checks their end dates and combination settings, and shuts down anything running longer or deeper than intended.

What is a zombie discount code?

A zombie code is a discount code from a past campaign that was never deactivated and is still being redeemed. It often circulates on coupon sites and browser extensions long after the promotion ended, quietly discounting orders that would have converted at full price. Auditing and disabling old codes stops the leak.

How do overlapping automatic discounts hurt margin?

When two automatic discounts both apply to the same cart and are set to combine, the customer gets both at once, so the effective discount is far deeper than either number alone. A 15% order discount stacked with free shipping and a volume tier can quietly become a 35% giveaway that no one approved.

How often should I audit discounts on Shopify?

Run a full audit at least quarterly, plus a quick pass after every major sale season like BFCM and the winter holidays. Big promotional periods create the most orphaned campaigns and forgotten codes, so January and early summer are natural checkpoints. A standing review prevents promo debt from compounding.

How do I find discount codes that are leaking?

Sort your orders by discount code and look for codes still being redeemed after their campaign ended, or redeemed far more than the customer count you intended. Codes from influencer and email campaigns are the most common leaks. Disable any code you cannot tie to a live, approved promotion.

Run profit-first promotions on Shopify

Discount Prime brings eight discount types, margin analytics, and conflict detection into one Shopify-native app.

See pricing

Or see it live in our demo store and watch every feature working on a real Shopify store.

Related articles