Gumroad Discount Code Not Working? 7 Common Fixes
A buyer messages you: "Your code isn't working." Or you're the buyer, staring at a checkout that flatly refuses the code you were handed. Either way, the discount didn't apply, and Gumroad rarely tells you why in plain language.
The good news: a Gumroad discount code not working is almost always one of a small set of causes. It's not random. Once you know the list, you can diagnose it in under a minute instead of guessing.
This guide covers the seven reasons offer codes fail, how to tell which one you're hitting, and the exact fix for each — from both the seller and buyer side.
How Gumroad offer codes actually work (quick refresher)
A few facts make every failure below make sense:
- On Gumroad, a discount code is called an offer code. "Discount code," "promo code," and "coupon" all mean the same thing.
- An offer code is either a percentage (e.g., 25% off) or a fixed amount (e.g., $5 off).
- Codes are case-sensitive and must be typed exactly as created.
- A code can be universal (applies to all your products) or product-specific (applies only to the products you selected).
- Codes can carry an optional expiration/validity window, a usage limit, and a minimum purchase amount.
- Only one offer code applies per checkout — they don't stack.
Almost every "code not working" complaint is one of those settings doing exactly what it was told to do. Let's go through them.
Fix 1: The code has expired (or hasn't started yet)
The most common cause is timing. Gumroad lets you give a code a validity window, so a code can be expired or not yet active.
How to tell: As the seller, open the product's offer code and check the start and end dates. If the end date has passed, the code is dead. If you scheduled it to start in the future, it won't work yet.
The fix: Edit the code and extend or clear the expiration date, or wait for the start date. If you leave the expiration blank to avoid a mid-sale death, set a reminder to delete it when the promotion ends — a forgotten open-ended code is one a stranger will eventually find.
Fix 2: Capitalization and stray characters
Gumroad offer codes are case-sensitive. LAUNCH30 and launch30 are different codes, and only the exact string you created will validate.
How to tell: Compare what the buyer typed against the code in your dashboard, character for character. The usual culprits are a capital letter, a trailing space copied from an email, or an O swapped for a zero.
The fix: Share codes in a copy-paste-friendly format and avoid characters that look alike (O/0, l/1, I/l). When you tell buyers a code, present it exactly: SUMMER30, not "summer 30." If you're the buyer, retype it manually rather than pasting, in case a hidden space came along for the ride.
Fix 3: The code isn't attached to that product
This is the subtle one. Because offer codes live at the product level unless you explicitly mark them universal, a code created for Product A simply won't apply to Product B. The buyer sees a valid-looking code rejected on the "wrong" product and assumes it's broken.
How to tell: Open the offer code and look at which products it applies to. If it's set to specific products, confirm the product the buyer is actually checking out is on that list. If you meant it to cover everything, confirm "all products" is selected.
The fix: Add the missing product to the code's list, or recreate the code as universal. If you run the same sale across many products, this is the error that bites most often — every product you forgot to add is a silent failure. (Applying one code consistently across a whole catalog is exactly the headache covered in the bulk discount codes guide.)
Fix 4: The usage limit is used up
If you capped the code at a set number of uses — or made it effectively single-use — it stops working the moment that quota is hit. Buyers who arrive late get a rejection even though the code is "real."
How to tell: Check the code's usage count against its limit in your dashboard. If uses equal the limit, that's your answer.
The fix: Raise the limit, or remove it for unlimited uses. If the cap was intentional (say, "first 50 buyers"), the code running out means it did its job — you just need to communicate that it's gone. For a fresh batch, create a new code rather than editing the exhausted one, so your stats stay clean.
Fix 5: The discount drops the price below Gumroad's floor
This one is easy to miss because nothing looks misconfigured. Gumroad has currency minimums, and every sale carries Gumroad's fee — a flat 10% plus $0.50 per transaction as of 2026. If a deep percentage or large fixed-amount discount pushes the price below the minimum (or below what the fees require), the purchase can fail instead of applying the code. International buyers paying in non-USD currencies hit this sooner, as conversion markup eats into an already-small amount.
How to tell: Do the math. A $4 product with a 90%-off code asks Gumroad to process a ~$0.40 sale — below the practical floor. Buyers may see a vague "this product isn't set up correctly" error instead of a clean rejection.
The fix: Keep the post-discount price above Gumroad's minimums. Use a smaller percentage, switch a fixed-amount code to a percentage (so it scales with price), or make the product free outright if that's the intent. For region-based discounting, lean on deliberate percentages rather than aggressive fixed amounts — the PPP pricing guide goes deeper on setting regional discounts that don't break checkout.
Fix 6: You're trying to stack two codes
Only one offer code applies per checkout. If a buyer already has a code in the field — or a code auto-applied from a link — adding a second one won't combine them, and the attempt can read as "not working."
How to tell: Look at whether a discount is already reflected in the order total. If the price already dropped, a second code being refused is expected behavior, not a bug.
The fix: Use one code per purchase. If you want a bigger discount for a specific buyer, create a single code at the combined rate instead of expecting two to stack. Don't promise "use both codes for 40% off" — Gumroad won't honor it.
Fix 7: The discount field is missing or the code wasn't applied before paying
Sometimes the code is perfect and the checkout is the problem. The discount field can be hidden in some flows, or a direct "buy now" link (a ?wanted=true auto-checkout, say) blows past where a code goes. And a code typed but never applied before hitting pay simply doesn't count.
How to tell: Walk through your own checkout in an incognito window. If there's no place to enter a code, or the total never updates after you enter one, you've reproduced the buyer's experience.
The fix: Pre-apply the discount in the link. Gumroad supports adding the code to the product URL so it applies automatically — append ?offer_code=YOURCODE to the product link (for example, https://yourname.gumroad.com/l/product?offer_code=LAUNCH30), or use the path form yourname.gumroad.com/l/product/LAUNCH30. Sharing the pre-coded link removes typing, capitalization, and "where do I enter this" failures in one move — and it's the cleanest fix for affiliate or email campaigns.
A faster way to keep offer codes consistent at scale
Most failures above trace back to one root cause: codes are managed one product at a time, by hand, so inconsistencies creep in. A code added to nine of ten products. A capital letter that drifted on product seven. A fixed-amount discount that quietly broke checkout on your cheapest item. The more products you sell, the more surface area for a "not working" report.
If you've outgrown editing codes one by one, GumKit is an independent Chrome extension for Gumroad sellers that creates and manages offer codes across many products in one pass. The honest picture of how it works:
- It uses Gumroad's official API v2 directly from your browser — no scraping, no UI automation, no workarounds.
- You connect it with your own Gumroad access token (generated under Gumroad → Settings → Advanced → Applications). The token lives only in your browser; there's no GumKit server holding your credentials, and you can revoke it anytime.
- It is not affiliated with, endorsed by, or sponsored by Gumroad — it's a third-party tool that talks to Gumroad's own API on your behalf.
For troubleshooting, the value is consistency: define a code once and apply it identically across every selected product, so you don't get the skipped-product-three or drifted-capitalization failures. It won't override Gumroad's currency floors or fee minimums — those are Gumroad's rules, and no tool should pretend otherwise — but it removes the human inconsistency behind most "code not working" tickets. GumKit is free to start, with optional paid bulk features.
FAQ
Why does my Gumroad code work on one product but not another?
Because offer codes are tied to specific products unless you set them to apply to all products. A code created for one product won't validate on another until you add that product to the code, or recreate it as a universal code covering your whole catalog.
Are Gumroad discount codes case-sensitive?
Yes. Codes must be entered exactly as created, including capitalization. Sale20 and SALE20 are different codes. Stray spaces from copy-pasting are another frequent reason a correct-looking code gets rejected.
Can a buyer use two discount codes on one Gumroad order?
No. Gumroad applies only one offer code per checkout. Codes don't stack. If you want a larger combined discount, create a single code at that combined rate instead of expecting two to add together.
Why does my discount cause a checkout error instead of just applying?
The discounted price is probably below Gumroad's currency minimum or below what its fees (10% plus $0.50 per transaction) require. Deep discounts on cheap products trigger this, especially for international buyers paying in another currency. Use a smaller discount or raise the base price.
How do I share a Gumroad link with the discount already applied?
Add the code to the product URL so it auto-applies. Append ?offer_code=YOURCODE to the product link, or use the path form yourname.gumroad.com/l/product/YOURCODE. This avoids buyer typos and the "where do I enter the code" problem entirely — handy for email and affiliate campaigns.
The takeaway
A Gumroad discount code not working feels mysterious in the moment, but it's almost always one of seven things: it expired, the capitalization is off, it's on a different product, its usage limit is spent, the discount drops the price below Gumroad's floor, someone tried to stack two codes, or the field was missed at checkout. Run down that list and you'll find the cause fast.
If the recurring problem is consistency — codes applied to most products but not all, or drifting in spelling as your catalog grows — that's a management problem, not a Gumroad bug. GumKit can apply one code identically across every selected product using your own token and Gumroad's official API, removing the human error behind most broken-code reports. Free to start, no scraping, no middleman — just the offer codes you already use, applied without the inconsistencies.
More Gumroad guides
- Export Gumroad Customers CSV: A Practical Guide
- How to Get Your Gumroad API Access Token (Step by Step, 2026)
- Gumroad Bulk Discount Codes: The Fast Way
- How to Change Prices on All Gumroad Products at Once
- Gumroad Fees Explained (2026): What You Actually Keep
- Gumroad PPP Pricing: Native Toggle vs Codes
- Gumroad Sales Tax & VAT: What Sellers Actually Owe (2026)
- Gumroad SEO: Optimize Listings to Get Found
- Gumroad vs Lemon Squeezy (2026): Which Should Digital Sellers Use?
- ParityDeals Alternative for Gumroad Sellers