# How to Run a Black Friday Sale for Your SaaS (2026)

> Should your bootstrapped SaaS run a Black Friday deal? Offer types, the margin maths, Stripe, Paddle and Lemon Squeezy setup, free deal lists and a 3-week plan.

- Canonical: https://zeroraised.com/blog/how-to-run-a-black-friday-sale-for-saas
- Published: 2026-11-10T13:30:00Z
- Author: ZeroRaised Team (https://zeroraised.com/blog/authors/zeroraised)
- Publisher: ZeroRaised (https://zeroraised.com/)
- Section: Revenue
- Tags: pricing, saas, marketing, launch

**Short answer:** Run a Black Friday sale for your SaaS only if it brings in buyers who would not have paid this month, and make it a first-year discount on your annual plan with a hard end date. Black Friday 2026 is Friday 27 November and Cyber Monday is Monday 30 November, so set the code to expire on 30 November, tell existing customers first and list the deal on a few free directories.

Every rule and field name below comes from the vendor's or regulator's own page, checked on 10 Nov 2026. The maths, picks and calendar are ours.

## TL;DR

- **Dates.** US Thanksgiving is the fourth Thursday of November, 26 November 2026, which puts Black Friday on 27 November and Cyber Monday on 30 November. The deal site blackfriday.tools states "Black Friday 2026 is November 27." ([blackfriday.tools](https://blackfriday.tools/)).
- **Best default offer (ours):** a percentage off the first year of the annual plan, renewing at full price.
- **Do the maths first.** A discount only pays if enough buyers are new; see the break-even example below.
- **Setup takes minutes.** Stripe, Paddle and Lemon Squeezy all support an expiry date and a redemption limit.
- **Free listings exist,** including blackfriday.tools and a GitHub deal list that accepts pull requests.
- **Stay honest.** No inflated "was" prices and no fake timers.

**Disclosure:** ZeroRaised is a launch site for bootstrapped products and publishes this guide. ZeroRaised has no commercial relationship with Stripe, Paddle, Lemon Squeezy or any deal directory mentioned here and earns nothing if you use them. Facts come from the linked sources as checked on 10 Nov 2026.

## Should your SaaS run a Black Friday deal at all?

Almost every page that ranks for this query is a buyer's deal list. The seller question is harder: is a discount good for your business, or just good for people who were going to buy anyway?

Our read: it suits tools bought by individuals and freelancers (who shop for deals in late November), products with an annual plan to push, and founders with an email list or following. Skip it for B2B tools bought on need, products already priced low (40% off $9 changes few minds) and products that discount often.

The three risks to weigh:

1. **Training customers to wait.** If every November brings 50% off, some prospects hold off all year.
2. **Low-intent sign-ups.** Deep discounts attract deal hunters who barely use the product, do not renew and raise support load.
3. **Angry existing customers.** Someone who paid full price last week sees a stranger pay less. Plan for this before you announce.

## Black Friday offer types for SaaS

The table is our assessment, not data from a study.

| Offer | Pros | Cons |
|---|---|---|
| % off first year of annual plan (our default) | Cash up front, renews at full price | Some buyers churn at renewal |
| % off annual, locked in forever | Strongest pull | Permanently lower revenue per customer |
| % off monthly for 3 to 6 months | Low commitment | Little cash up front, price jump can trigger churn |
| Lifetime deal | Big cash spike | No future revenue, ongoing support cost (read our [AppSumo guide](https://zeroraised.com/blog/is-appsumo-worth-it) first) |
| Credits or bundle | Protects headline price | Harder to explain in one line |
| Extended trial | No price cut | Weak pull on a deal list |
| Charity tie-in | Good story, no discount culture | Lower sales lift |

If you are still deciding whether annual billing should exist at all, read our guide to [monthly vs annual billing for SaaS](https://zeroraised.com/blog/monthly-vs-annual-billing-for-saas) first. Black Friday is a poor time to test a new pricing model.

## The margin maths: a worked example

This is an illustrative example with made-up numbers. Plug in your own.

**Assumptions (example only):**

- Monthly plan: $20 per month.
- Annual plan: $200 per year (two months free).
- An average monthly customer stays 10 months, so monthly lifetime value is 10 x $20 = **$200**.
- Black Friday offer: 40% off the first year of the annual plan, so $200 x 0.6 = **$120** up front.
- We ignore payment fees and tax to keep it simple.

**Two kinds of Black Friday buyer:**

| Buyer type | What you would have earned without the deal | What you earn from the deal (year one) | Difference |
|---|---|---|---|
| Cannibalised: would have bought monthly anyway | $200 over 10 months | $120 | -$80 |
| Incremental: would not have bought at all | $0 | $120 | +$120 |

**Break-even:** each cannibalised buyer costs $80 and each incremental buyer adds $120. You break even when incremental buyers x $120 = cannibalised buyers x $80, which is 2 incremental buyers for every 3 cannibalised ones. Put another way, the sale pays in year one if no more than 60% of buyers would have bought anyway.

**If you lock the discount in forever,** a renewing buyer pays $120 a year instead of $200: $360 instead of $600 over three years, a $240 gap per buyer. Our read: forever discounts need a much higher share of genuinely new buyers.

To estimate your cannibalised share, look at your normal sign-ups for the last week of November and first week of December. Sales up to that baseline are probably cannibalised; sales above it are your real lift.

## How to set up the discount

### Stripe coupons and promotion codes

Stripe splits a discount into two objects. A coupon is the "API object that defines the discount logic", and a promotion code is the "Customer-facing code that maps to your coupons. This is the string the customer enters at checkout." ([Stripe docs](https://docs.stripe.com/billing/subscriptions/coupons)).

Duration controls how long the discount applies to a subscription: "Duration defaults to `once`, which applies only to the first invoice. Set `duration=repeating` with `duration_in_months` to apply a discount for multiple months, or `duration=forever` to apply it to all invoices indefinitely." For a first-year annual discount, `once` covers the first annual invoice.

Set `expires_at` on the promotion code for the end date and `max_redemptions` for a cap. Stripe says that if a promotion code "reaches its `max_redemptions` or `expires_at`, it becomes permanently inactive. These promotion codes can't be reactivated." Promotion codes can also be limited to first-time customers, meaning customers "who have no prior transaction history on your platform."

### Paddle discounts

Paddle supports percentage, flat and per-unit discounts. "By default, discounts are one-time", and "Discounts can recur forever, or for as many billing periods as you specify", using `recur` and `maximum_recurring_intervals` ([Paddle docs](https://developer.paddle.com/build/products/offer-discounts-promotions-coupons)).

For a time-boxed sale: "Set `expires_at` to expire after a datetime, or `usage_limit` to expire after a set number of redemptions." Use `restrict_to` with the annual price ID so the code only works there.

### Lemon Squeezy discounts

Lemon Squeezy discounts can be `percent` or `fixed`. For subscriptions, the duration is `once` ("applied to the initial payment only"), `repeating` or `forever` ([Lemon Squeezy API docs](https://docs.lemonsqueezy.com/api/discounts/create-discount)). One detail to watch: for a yearly subscription, `duration_in_months` "needs to be `years x 12`", so use 12 for one discounted annual payment.

Set `starts_at` and `expires_at` for the window, and `is_limited_redemptions` with `max_redemptions` for a cap. In the dashboard these appear as "Start date", "Expiry date" and "Limit the number of redemptions" ([Lemon Squeezy help](https://docs.lemonsqueezy.com/help/orders/creating-discount-codes)).

**Our setup checklist:** one code (for example BF2026), annual price only, start 27 November 00:00 in your main market's time zone, expire 30 November 23:59, test it in test mode with a real checkout before you announce anything.

## What to do for existing customers

Our recommendation:

1. **Give them first access.** Email monthly customers a day or two early with the same annual discount to switch. They already use the product, so this is often your most profitable segment.
2. **Give annual customers something other than a price cut,** such as extra credits or a free month added at renewal.
3. **Have a credit ready** for anyone who paid full price in the previous week or two. A small gesture costs less than a public complaint.

## Where to list your deal for free

We checked each of these on 10 Nov 2026. Terms can change, so read the submit page before you post.

| Directory | What it says about itself | Cost |
|---|---|---|
| [blackfriday.tools](https://blackfriday.tools/submit) | Calls itself a "free listing": "Free, verified, and live before the season starts." Deals "need an explicit end date", and terms are "checked against the vendor before listing." | Free (a separate "Get featured" page also exists) |
| [Awesome Black Friday / Cyber Monday (GitHub)](https://github.com/trungdq88/Awesome-Black-Friday-Cyber-Monday) | A 2026 list that accepts deals by pull request, "**Only software, apps, or SaaS.**" Add your deal "**at the end** of each category (first come, first merged)." | No fee stated |
| [SaaS Friday Deals](https://saasfridaydeals.com/) | "It's only for bootstrapped and self-funded startups." Says "only generous deals are accepted." | No price stated |

The GitHub list's [rules](https://github.com/trungdq88/Awesome-Black-Friday-Cyber-Monday/issues/367) reject "100% OFF deals" and "Deals that are not specifically for Black Friday". When we loaded SaaS Friday Deals, much of the page still showed 2023 dates, so confirm it is running for 2026.

Beyond deal lists, post the offer wherever you already have an audience; our guide to [free marketing channels for bootstrapped makers](https://zeroraised.com/blog/free-marketing-channels-for-bootstrapped-makers) covers the ones worth using.

## A 3-week Black Friday calendar

This is our plan, starting from today, 10 Nov 2026.

| When | What to do |
|---|---|
| 10 to 14 Nov | Pick one offer, run the maths, create the code with start and expiry dates, test checkout. |
| 16 to 20 Nov | Submit to directories. Draft three emails (early access, launch, last chance) and social posts. |
| 23 to 25 Nov | Early access email to monthly customers. "Deal coming Friday" post on X, Bluesky and LinkedIn. |
| 27 Nov (Black Friday) | Pricing page banner on. Launch email. Posts with the exact end date. |
| 28 to 29 Nov | One reminder post. Answer support fast. |
| 30 Nov (Cyber Monday) | Last-chance email and final post. |
| 1 Dec | Confirm the code expired, remove the banner, thank buyers. |
| 7 Dec | Measure results (below). |

Treat it like a mini launch: our [product launch checklist](https://zeroraised.com/blog/product-launch-checklist-for-bootstrapped-makers) covers the page, tracking and messaging basics.

## Stay legal: real prices and real deadlines

This is not legal advice, but two official sources are worth reading before you write "was $X".

**EU reference prices.** Your Europe says: "In all EU countries traders are obliged, when offering a discount, to indicate the lowest price applied to the item at least 30 days before the announcement of the price reduction." ([Your Europe](https://europa.eu/youreurope/citizens/consumers/unfair-treatment/unfair-pricing/index_en.htm)). Our read: whether that rule reaches every SaaS subscription is a question for a lawyer, but the safe habit is the same either way. Only show a "was" price you actually charged for the previous 30 days.

**UK urgency claims.** The CMA's guidance on the DMCC Act, which applies "to commercial practices which happen from 6 April 2025 onwards", lists as Banned practice 7: "Falsely stating that a product will only be available for a limited time, or that it will only be available on particular terms for a limited time, in order to elicit an immediate decision". Its example is a trader who "falsely tells a consumer that an offer will end when a countdown clock runs out", then the clock restarts ([CMA207](https://www.gov.uk/government/publications/unfair-commercial-practices-cma207/unfair-commercial-practices)).

Our rule: the deal ends when you say it ends, any timer counts down to that moment and never resets, and you do not extend it "by popular demand".

## How to measure whether it worked

Our checklist for the week after:

- **Revenue against baseline:** the same weeks last year, or the two weeks before the sale.
- **Incremental vs cannibalised buyers:** feed the real share back into the break-even maths.
- **Monthly to annual switches,** counted separately. These are usually your best outcome.
- **Activation:** did deal buyers use the product in week one? Low activation predicts low renewal.
- **Renewal next November:** first-year-only deals are judged then, so set a reminder.

## Common mistakes

- Choosing `forever` when you meant `once`.
- Forgetting the expiry date, so the code works into December.
- Inflating the "was" price, or running a fake timer.
- Several overlapping codes, so you cannot tell what worked.

## Frequently asked questions

### Should a bootstrapped SaaS run a Black Friday sale?

Only if you can make it pay. It suits products whose buyers plan purchases at year end, products with an annual plan to push and founders with an email list. Skip it if your customers are mostly businesses buying on need, if your price is already low, or if a discount would train your audience to wait for sales.

### What is the best Black Friday offer for a SaaS?

Our pick for most indie SaaS is a percentage off the first year of the annual plan, renewing at the normal price. It brings cash forward, has a clear end date and does not lock in a cut price forever. Lifetime deals and forever discounts bring more sign-ups but cost you more over time.

### When are Black Friday and Cyber Monday in 2026?

Thanksgiving in the US is Thursday 26 November 2026, so Black Friday is Friday 27 November and Cyber Monday is Monday 30 November. Many SaaS deals run from Black Friday through Cyber Monday, or for the full week before.

### How do I set up a Black Friday coupon in Stripe?

Create a coupon with the percentage off and a duration (once, repeating with a number of months, or forever), then create a customer-facing promotion code such as BF2026 that points to it. Set expires_at on the promotion code and, if you want a cap, max_redemptions. Stripe says a code that hits either limit becomes permanently inactive.

### Is it legal to use a countdown timer for a SaaS sale?

A timer that reflects a real deadline is fine in principle. A fake one is the problem: the UK CMA's guidance lists falsely stating that an offer is only available for a limited time as a banned practice, with the example of a countdown clock that restarts. Make the timer end when the code expires and never restart it. This is not legal advice.

## Launch your deal on ZeroRaised

ZeroRaised is a launch directory for products built without institutional VC. If your SaaS is bootstrapped, [submit it to ZeroRaised](https://zeroraised.com/submit) for free and mention your Black Friday offer in the listing. For more guides on pricing and growing without investors, [join the ZeroRaised newsletter](https://zeroraised.com/newsletter).

## Sources

- [Stripe: Coupons and promotion codes](https://docs.stripe.com/billing/subscriptions/coupons), last checked 10 Nov 2026
- [Paddle: Create and manage discounts](https://developer.paddle.com/build/products/offer-discounts-promotions-coupons), last checked 10 Nov 2026
- [Lemon Squeezy API: Create a discount](https://docs.lemonsqueezy.com/api/discounts/create-discount), last checked 10 Nov 2026
- [Lemon Squeezy help: Creating discount codes](https://docs.lemonsqueezy.com/help/orders/creating-discount-codes), last checked 10 Nov 2026
- [blackfriday.tools](https://blackfriday.tools/) and [submit page](https://blackfriday.tools/submit), last checked 10 Nov 2026
- [Awesome Black Friday / Cyber Monday on GitHub](https://github.com/trungdq88/Awesome-Black-Friday-Cyber-Monday) and [its rules](https://github.com/trungdq88/Awesome-Black-Friday-Cyber-Monday/issues/367), last checked 10 Nov 2026
- [SaaS Friday Deals](https://saasfridaydeals.com/), last checked 10 Nov 2026
- [Your Europe: Unfair pricing](https://europa.eu/youreurope/citizens/consumers/unfair-treatment/unfair-pricing/index_en.htm), last checked 10 Nov 2026
- [CMA: Unfair commercial practices (CMA207)](https://www.gov.uk/government/publications/unfair-commercial-practices-cma207/unfair-commercial-practices), last checked 10 Nov 2026

## Frequently asked questions

### Should a bootstrapped SaaS run a Black Friday sale?

Only if you can make it pay. It suits products whose buyers plan purchases at year end, products with an annual plan to push and founders with an email list. Skip it if your customers are mostly businesses buying on need, if your price is already low, or if a discount would train your audience to wait for sales.

### What is the best Black Friday offer for a SaaS?

Our pick for most indie SaaS is a percentage off the first year of the annual plan, renewing at the normal price. It brings cash forward, has a clear end date and does not lock in a cut price forever. Lifetime deals and forever discounts bring more sign-ups but cost you more over time.

### When are Black Friday and Cyber Monday in 2026?

Thanksgiving in the US is Thursday 26 November 2026, so Black Friday is Friday 27 November and Cyber Monday is Monday 30 November. Many SaaS deals run from Black Friday through Cyber Monday, or for the full week before.

### How do I set up a Black Friday coupon in Stripe?

Create a coupon with the percentage off and a duration (once, repeating with a number of months, or forever), then create a customer-facing promotion code such as BF2026 that points to it. Set expires_at on the promotion code and, if you want a cap, max_redemptions. Stripe says a code that hits either limit becomes permanently inactive.

### Is it legal to use a countdown timer for a SaaS sale?

A timer that reflects a real deadline is fine in principle. A fake one is the problem: the UK CMA's guidance lists falsely stating that an offer is only available for a limited time as a banned practice, with the example of a countdown clock that restarts. Make the timer end when the code expires and never restart it. This is not legal advice.


