01 — Pricing
Two plans. One is free forever, the other you buy once.
Free is one campaign at a time: a banner per site, on unlimited sites, running on the dates you book it. Pro runs the rest for you — several campaigns at once, country targeting, triggers and discount codes made on your own Stripe account — for one payment of $49, including the features we release later.
Unlimited sites. Unlimited banners. Unmetered views. $49, once.
Impressions are never counted against your plan. A banner seen a million times costs the same as a banner seen twice.
Free
$0forever
Unlimited banners, unlimited sites, unlimited views.
- Unlimited banners, unlimited sites, unmetered views
- Campaigns that go live on a date and end on their own
- All 6 banner skins, 14 of the 27 effects
- Live preview editor and countdown timer
- One-line embed, ~14KB gzipped, edge-served
- Update banners without redeploying
- Put in a discount code you made yourself
- Impression and click analytics
- MCP and API access for AI agents
- "Powered by OfferBanner" badge shown
No card required.
02 — Plan comparison
What each plan includes
| Feature | Free | Pro |
|---|---|---|
| Sites | Unlimited | Unlimited |
| Banners showing per site | 1 | Unlimited |
| Drafts | Unlimited | Unlimited |
| Banner skins | All 6 | All 6 |
| Banner effects | 14 of 27 | All 27 |
| Campaigns that go live on a date | Runs on its own | Runs on its own |
| Country targeting | Build it, held | Included in Pro |
| Delay, scroll, exit-intent, click and return-visit triggers | Not included in Free | Included in Pro |
| Discount codes made on your Stripe account | Paste your own | Made and retired for you |
| Rotation between banners, traffic split | Not included in Free | Included in Pro |
| Embed size | ~14KB gzipped, edge-served | ~14KB gzipped, edge-served |
| Update without redeploy | Included in Free | Included in Pro |
| Countdown timer on the banner | Included in Free | Included in Pro |
| Impression and click analytics | Included in Free | Included in Pro |
| MCP & API access | Included in Free | Included in Pro |
| Campaign windows showing at once | 1 | Unlimited |
| Scheduled design switches | Not included in Free | Included in Pro |
| "Powered by OfferBanner" badge | Shown | Removed |
| Features released later | The free ones | All of them |
| Renewal | Nothing to renew | Nothing to renew |
03 — Questions
Common questions
What is the difference between the plans, in one line?
Free is one campaign at a time. Pro is as many as you like, and it picks who sees them. On Free you get one banner showing per site: it runs on whatever start and end dates you book, shows to everybody, from the moment the page loads. Pro adds the rest — a banner shown only in certain countries, a bar that waits for a delay or an exit, several campaigns live at once, and a discount code OfferBanner creates on your Stripe account and retires when the campaign ends.
Can I set up a Pro campaign before I pay?
Yes, and that is the point. On Free you can build the whole campaign — set the countries, plan the code — and it sits on your calendar marked "Goes live with Pro". Nothing about it is a mock-up: it is the real booking, in the real schedule, and it simply is not served to visitors yet. Buying Pro turns it on, and there is nothing to redo. The one thing Free never does is create the discount code, because that is a real coupon on your own Stripe account and we will not leave one there for a campaign that cannot run.
What counts as an "active" banner?
A banner that is published and currently showing on your site. Drafts and paused banners don't count, so on Free you can keep unlimited drafts and change which one is showing at any time.
Can I put a discount code on a Free banner?
Yes, one you made yourself. Create the code in your own Stripe dashboard — or in Shopify, LemonSqueezy, or whatever your checkout is — type it into the banner, and the bar prints it exactly as you typed it. What Pro adds is not having to: OfferBanner creates the code for the campaign, sets it to expire when the campaign ends, and retires it afterwards, all on your own Stripe account with a restricted key you make yourself.
Can I use OfferBanner on more than one site?
Yes. Sites are unlimited on both plans: install the snippet on three shops from one login and each shop gets its own live banner. Free runs one banner at a time per site; Pro removes that limit, so one site can run several campaigns at the same time.
What does "one payment" actually mean?
One payment, for this account, with no expiry. Nothing renews, there is no seat count and there is no subscription to cancel, so the billing page shows only your receipt. Every paid feature we release after you buy is included at no extra cost.
Will the price go up?
Yes, when the next paid feature is released. The next one on the roadmap is A/B testing between two banners, and it does not exist yet. Buying today fixes your price at what you paid: the licence is already yours, and a higher price applies only to people who buy after the change.
Can I get a refund?
No — all sales are final. Nothing about Pro is bought unseen: you can play every effect in the editor and build the whole campaign on the Free plan — the countries, the triggers, the code — and watch it sit on your calendar marked "Goes live with Pro" before you decide. Pro is $49 once, nothing renews and there is nothing to cancel, so a purchase you stop using never costs you again. Discount codes you created keep working whatever happens, because they are stored in your Stripe account, not ours.
Do I need a Stripe account to use OfferBanner?
Only to have codes made for you. The banner, the calendar, the effects, the countdown and the analytics all work with no Stripe key, and a code you created in your own checkout can be typed straight into the banner on either plan. A key is what lets OfferBanner create the code itself — one code for a campaign, or one per visitor from the gift — and that is a Pro feature. Connect a restricted key when you want it, or leave it disconnected.
Prices are billed through Stripe. Taxes are calculated at checkout.