Gumroad Bulk Discount Codes: The Fast Way
If you sell on Gumroad and you've ever tried to run a sale across your whole catalog, you already know the problem. You want 30% off for Black Friday, or a quick BUNDLE25 code for a launch, and you assume there's a button somewhere that applies it to everything at once.
There isn't.
Gumroad's seller dashboard makes you add discount codes one product at a time. Ten products means ten trips through the same form. Fifty products means an afternoon gone. And if you typo the percentage on product 37, you won't notice until a customer emails you.
This guide shows exactly how to create discount codes the native way, with concrete steps, and then a faster way to handle Gumroad bulk discount codes when your catalog gets too big to do by hand. Either way, you'll leave understanding how the system actually works.
How Gumroad discount codes actually work
A few facts worth getting straight first, because they shape everything else:
- On Gumroad, a "discount code" is called an offer code. Same thing.
- An offer code can be a percentage (e.g., 25% off) or a fixed amount (e.g., $5 off).
- Offer codes are attached to specific products, not to your account globally. There's no single code that automatically covers every product unless you add it to each one.
- You can set optional limits: a usage cap and an expiration date.
That third point is the crux of the pain. Because codes live at the product level, "make one sale code for my catalog" really means "make this same code on every product," repeated by hand.
The manual method: creating an offer code on one product
Let's do it the official way first. This is worth knowing even if you later automate it, because every shortcut is just doing these same steps faster.
Step 1: Open the product
From your Gumroad dashboard, go to Products and click the product you want to discount. This opens the product editor.
Step 2: Find the offer codes section
Inside the product editor, look for the product's Checkout settings, where you'll find Offer codes and an option to Add offer code (the exact label and location can vary by dashboard version).
Step 3: Fill in the code
You'll set:
- Code — the text the buyer types, like
LAUNCH30. Keep it short and memorable. - Type — percentage or fixed amount.
- Amount —
30for 30%, or a dollar figure for fixed. - Limit (optional) — total number of uses.
- Expiration (optional) — when it stops working.
Step 4: Save, then test
Save the code. Then open your product's public page in a private/incognito window, go to checkout, and enter the code to confirm the price drops correctly. Always test at least one code per sale — a wrong percentage that goes live is an expensive mistake.
Step 5: Repeat for every other product
This is where it stops being fun. To run the same LAUNCH30 across 20 products, you repeat Steps 1–4 nineteen more times, retyping the code and the amount each time and hoping you stay consistent.
Tips to make the manual grind less painful
If you're doing this by hand, a little discipline saves you later:
- Decide your code naming up front. Use a clear convention like
SUMMER30orBF2025. Inconsistent codes (summer30vsSummer-30) confuse customers and you. - Write down your code list. Keep a simple spreadsheet of code, type, amount, and which products got it. When the sale ends, you'll know exactly what to delete.
- Set expiration dates instead of relying on memory. A code with no expiration is a code you'll forget to turn off, and someone will find it months later.
- Batch your testing. After you've added the code to all products, test a couple rather than tabbing back and forth constantly.
This is genuinely workable for a handful of products. The trouble is purely volume: the native flow doesn't scale, and Gumroad has no built-in bulk action for it.
The faster way: bulk discount codes in one pass
Once your catalog crosses ten or fifteen products, retyping the same offer code stops being a minor annoyance and becomes the reason you skip running sales at all. That's the gap a small tool can fill.
GumKit is an independent Chrome extension built for Gumroad sellers who are tired of one-at-a-time editing. It is not affiliated with or endorsed by Gumroad — it's a third-party tool that talks to Gumroad's own official API on your behalf.
Here's the honest picture of how it works, so there are no surprises:
- It uses Gumroad's official API v2 (
api.gumroad.com/v2) directly from your browser. No scraping, no clicking around the UI for you, no rate-limit tricks. - You connect it with your own Gumroad access token, which you generate yourself under Gumroad → Settings → Advanced → Applications: create an app, copy the access token, and paste it in. The token is stored only in your browser (
chrome.storage.local) — there's no GumKit server holding your credentials. - Because it's your token hitting your account, you stay in full control and can revoke access anytime from Gumroad's settings.
Creating bulk discount codes with it
The flow collapses the manual loop into a single setup:
- Select the products you want the code on — check several at once, or all of them.
- Define the code once: choose percentage or fixed amount, set the value, add an optional limit and expiration.
- Run it. The extension creates that same offer code across every selected product as a paced queue.
That "paced queue" detail is why this is safe rather than reckless. Gumroad limits how fast you can write changes (around 30 write actions per minute). The tool deliberately stays under that ceiling and runs the job as a resumable queue you can pause and resume, instead of hammering the API. Fifty products become a few minutes of unattended work.
Beyond a single code
The same underlying idea — apply one decision across many products — extends to a few related jobs sellers usually do by hand:
- Per-region parity pricing. Gumroad has a native purchasing-power-parity toggle, but it's a coarse automatic discount. If you want explicit, controllable codes for India, Brazil, Indonesia, the Philippines, Mexico, Nigeria and so on, you can bulk-generate region-specific codes from an editable region→percentage table.
- Bulk price changes. Set a fixed price or apply a ± percentage change — for example a site-wide −30% sale — across selected products at once.
- Customer CSV export. Pull your full sales history (buyer email, name, product, amount, date) into a CSV for Excel or Sheets.
You don't need any of that to create a single bulk discount code, but it's there when the manual version of those tasks starts hurting too.
FAQ
Does Gumroad have a built-in way to apply one discount code to all products?
No. Gumroad's dashboard attaches offer codes to individual products, and there's no native bulk action to apply one code across your whole catalog in a single step. You either add it product by product, or use a third-party tool that drives Gumroad's official API to do it for you.
What's the difference between an offer code and a discount code on Gumroad?
They're the same thing. Gumroad calls them "offer codes" in the dashboard; sellers commonly call them discount or coupon codes. Both can be a percentage or a fixed dollar amount.
Is it safe to use a Chrome extension with my Gumroad account?
It depends entirely on how the tool connects. GumKit uses an access token you generate in your own Gumroad settings, stored only in your browser, and it calls Gumroad's official, documented API — no password sharing, no scraping. You can revoke the token from Gumroad at any time, which instantly cuts off access.
Will bulk-creating codes get me rate-limited or flagged?
It shouldn't if the tool respects Gumroad's limits. Gumroad allows roughly 30 write actions per minute. GumKit runs bulk jobs as a paced, pausable queue that stays under that limit rather than firing requests as fast as possible — exactly the behavior the API expects.
Can I remove a bulk discount once a sale ends?
Yes. Each code you created still exists per product, so you can delete them — manually in the dashboard, or in bulk with the same kind of tool that created them. Setting an expiration date when you create the code is the cleaner approach, since the code simply stops working on its own.
The takeaway
Creating Gumroad bulk discount codes isn't hard — it's just repetitive, because Gumroad's offer codes are designed to live on one product at a time. For a few products, the manual flow above works fine and you should know it cold. For a real catalog, retyping the same code dozens of times is busywork worth removing.
If that's where you are, GumKit is free to start (with optional paid bulk features) and lets you define a discount once and apply it across every selected product in a single paced run, using your own Gumroad token and Gumroad's official API. No middleman, no scraping — just the manual job you already know, minus the repetition.