# OfferBanner features

> Everything OfferBanner does: a promotional banner you compose, a schedule that decides when it shows, discount codes minted on your own Stripe, 27 effects, countdown timers, analytics, an MCP server, and one script tag you paste once.

OfferBanner is one script tag on your site and a schedule behind it. This page is the whole list — what the banner can say, when it shows up, where the codes come from, and what it measures. Free runs one banner at a time on the dates you book it. Pro runs the rest of your promotions for you.

- One script tag, pasted once, never edited again
- Free: one banner at a time per site, on its own dates, on unlimited sites
- Pro: countries, triggers and Stripe codes, run for you
- Free forever, or $49 once — nothing renews

Every tile below is badged **Free** or **Pro**. Free is one banner at a time per site, running worldwide on whatever dates you book it — free forever. Pro is the rest: country targeting, triggers, more than one campaign live at once, and discount codes made and retired for you. You can build a Pro campaign on Free and watch it sit on the calendar marked “Goes live with Pro”; one payment of $49 turns it on, with nothing to redo. No seats, no renewal, and every paid thing we ship afterwards is included.

## Designing the banner

The banner is one line of text across the top or bottom of your page. You control its words, colours, height, font and link, without writing any CSS.

- **Text formatting and placeholders** (Free) — Bold, italic and underline, plus a placeholder for the discount code and one for the countdown. Everything else prints as the characters you typed.
- **Six banner styles** (Free) — Solid, gradient, outline, ticket, glass and bold.
- **Brand colours pulled from your URL** (Free) — Enter your website address and OfferBanner takes the palette off your own page. Nothing ships below WCAG AA contrast.
- **Adjustable banner height** (Free) — Anywhere from 32 to 96 pixels, with the padding fitted to it — a 36px banner is 36 pixels tall, not 43.
- **Custom or inherited font** (Free) — Name a font family, or set it to match and the banner uses whatever font your site is already loading — including the font name your bundler invented.
- **Whole-banner link** (Free) — Give the banner one destination and the entire bar is clickable. There is no separate button, so there is never a second answer to “where does this go?”
- **Position and entrance animation** (Free) — Top or bottom of the page, arriving with a slide or a fade. Changing either takes no redeploy.

## The schedule decides what shows

You install one script tag on a site and never edit it again. A schedule of bookings — each one a banner, a date window and a list of countries — decides what a visitor sees, so a campaign starts and ends without anybody touching the site. Dates are free on every plan: Free plays one booking at a time, on the dates you set it. A booking aimed at particular countries is built the same way and goes live with Pro.

- **Bookings instead of a publish button** (Free) — Put a banner on the calendar and it runs; remove the booking and it stops. There is no status to set.
- **Start and end dates in UTC** (Free) — A campaign starts and ends at the instant the schedule says, in every timezone your visitors are reading from. Free books date windows too, as many as you like.
- **Country targeting** (Pro) — Name the countries a booking runs in and nobody else sees it. An empty list means worldwide, which is the list every Free banner runs on. Build it on Free and it waits on the calendar marked “Goes live with Pro”.
- **Booking priority** (Pro) — When two bookings overlap, the higher priority number is the one shown.
- **22 holiday presets** (Pro) — Black Friday, Halloween, Diwali, 春节 and 19 more, each with its own date rule, design and list of countries it is a selling season in. A preset arrives with its discount already written into it, and offers are Pro.
- **Evergreen bookings with no end date** (Free) — Leave the dates off and the banner keeps running, worldwide, until you take it down. It needs nobody to switch it on.
- **Six rotation modes** (Pro) — When more than one booking is live, the site can hold a single banner, tick, step, flip, scroll, or split the traffic by weight.
- **Several campaigns running at once** (Pro) — Free serves one banner per visitor, whichever booking ranks first. Pro runs as many as you like, side by side, in the same week.
- **Scheduled design switches** (Pro) — One banner that changes its own design for each holiday window you set — pumpkins in October, snow in December, with nobody logging in between.

## Discount codes on your own Stripe

Every code is created in the merchant’s own Stripe account, so the code the visitor reads and the discount their checkout applies are the same object. OfferBanner making that code for you, and retiring it when the campaign ends, is Pro; pasting in a code you made yourself is free.

- **Restricted Stripe key, two scopes** (Pro) — Coupon write and promotion code write — the whole of what OfferBanner can do in your Stripe account. You create the key yourself in Stripe’s own dashboard.
- **One shared code per campaign** (Pro) — Minted when the campaign is booked and set to expire when it ends, so a code never outlives the banner that advertised it.
- **Use a code you already made** (Free) — Already have SPRING20 in your checkout? Enter it and the banner prints it as-is, on either plan. Nothing is minted and nothing is claimed.
- **Warning on unbacked codes** (Free) — If nothing minted a code, you did not enter one yourself, and the banner text does not name one, the dashboard says so before a stranger reads it.
- **Per-visitor discount codes** (Pro) — Each person who unwraps the gift gets their own freshly minted, single-use Stripe code. Handed out by the gift, which is a Pro effect.
- **Per-visitor code expiry** (Pro) — Set the hours and a visitor’s code expires that long after they claimed it. The deadline is written onto the Stripe promotion code, so clearing a cookie changes nothing.

## Countdown timers

A countdown counts down to the same date the code expires on, not to a cookie a visitor can clear. That is why the arithmetic is short and the rules are strict.

- **Countdown to a fixed date** (Free) — Set the date the sale ends and every visitor watches the same clock run down to it.
- **The campaign’s end caps every code** (Pro) — A code expires on whichever comes first: the visitor’s own hours, or the day the campaign stops.
- **Clock and code have to match** (Free) — A per-visitor countdown that does not match the code’s own lifetime is refused with the number to fix it, rather than shipped as a banner that is wrong by four hours.
- **Per-visitor countdown** (Pro) — A visitor’s four hours start when they claim, not when you set it up, so the last person to arrive gets the same deadline as the first.

## 27 animated effects

Fire, seasons, party, holidays, magic. Most of them are weather — they fall or drift and cannot be clicked. One is a device: a badge the visitor clicks, and a prize that opens.

- **14 free effects** (Free) — Sparkle, confetti, lights, disco, balloons, bubbles and the holiday drifts.
- **13 Pro effects** (Pro) — Four fires, six falling weathers, fireworks, lightning and the gift.
- **Full-page effects** (Free) — Eighteen of the 27 can run over the whole page instead of just the banner. The other nine — a full-screen fire, a light string with nothing to hang on — stay on the bar, where they read as intended.
- **Unwrappable gift** (Pro) — A badge on the banner opens a modal, and the visitor gets a code that did not exist until they clicked it.
- **Prize draw with weighted tiers** (Pro) — Set the odds — say a 60% chance of 5% off and a 2% chance of 40%. The draw runs on the server, so nothing the browser sends can pick a winner.

## Triggers and targeting

The schedule decides which days a banner is on air. A trigger decides the moment it appears to somebody already reading the page. Free shows the bar the moment the page loads; every other moment is a rule about who sees it, and rules are Pro.

- **Show the bar as the page loads** (Free) — The default on both plans, and the whole of what Free does: the visitor sees the bar the moment they see the page.
- **Delay and scroll-depth triggers** (Pro) — Hold the banner back 1 to 120 seconds, or until the visitor has read from 10% to 100% of the page.
- **Exit-intent trigger** (Pro) — The banner appears when the cursor heads for the tab bar — the last moment you get.
- **Click trigger on any element** (Pro) — Name a CSS selector on your own page and the banner arrives when a visitor reaches it.
- **Country targeting per booking** (Pro) — Targeting lives on the booking, so the same banner can run a different week in a different country.

## Views, clicks, claims and redemptions

Four numbers OfferBanner counts itself, and one it reads out of your Stripe account, because that is the only place a redemption exists.

- **Views and clicks** (Free) — How many people the banner reached, and how many of them clicked it.
- **Code copies** (Free) — How many visitors copied the code — the step between reading a banner and using it.
- **Claims** (Pro) — How many codes the gift actually minted, which is a headcount rather than an impression.
- **Comparison with the previous period** (Free) — Every figure is shown beside the same length of time immediately before it, so a number has a direction and not just a size.
- **Redemptions read from Stripe** (Pro) — The end of the funnel, counted where it happens. When Stripe is unreachable OfferBanner says so instead of showing a zero.
- **Activity log** (Free) — Who scheduled what, when a code was minted, and which surface did it. Readable in the dashboard and by an assistant.

## Run a promotion from a chat window

OfferBanner ships an MCP server on the free plan. An assistant can do the whole job — create the site, design the banner, mint the code, schedule the window, read the stats — without sending anybody back to a dashboard.

- **15 MCP tools** (Free) — Sites, banners, schedules, offers, stats, activity and the install check — the same actions the dashboard performs, in the same words.
- **Two OAuth scopes** (Free) — Read banners, or change them. Write does not imply read, so a grant does exactly what the consent screen said it would.
- **API key for scripts** (Free) — For the things that are not a chat window. Every call acts on the account that owns the key and can never reach anybody else’s sites.
- **Stripe connection handed back to you** (Free) — A restricted key can only be created inside Stripe’s dashboard, so the assistant sends you a link for that step instead of asking for the key.

## One script tag, pasted once

The tag is the only thing that goes near your site. Everything after it — a new campaign, a new design, a new country — happens in OfferBanner and reaches your visitors without a deploy.

- **One script tag per site** (Free) — One line, pasted once. There is no second snippet and nothing to update when the campaign changes.
- **9 guided install methods** (Free) — By hand, Shopify, WordPress, Wix, Webflow, Framer, Google Tag Manager, handing it to the AI that built your site, or emailing your developer.
- **About 14KB gzipped** (Free) — Served from the edge. It is the one number you can check yourself in a devtools network tab, so it is the measured one.
- **Rendered inside a shadow root** (Free) — Your stylesheet cannot restyle the banner and the banner cannot restyle your page. Neither of you has to know what the other named a class.
- **Install check that fetches your page** (Free) — It reads the HTML, finds the tag or does not, and names the content-security policy that is blocking it when one is.
- **Unlimited sites on both plans** (Free) — Three shops off one login, each with its own live banner. Free runs one banner at a time per site; Pro runs as many as you like.
- **Remove the OfferBanner badge** (Pro) — Free banners carry a small “Powered by OfferBanner”. Pro banners do not.

## Put a banner on your site and see it in a browser.

The free plan needs no card, and the tag takes about a minute to paste. If it is not doing anything for you by the weekend, delete one line of HTML and we are gone.

Free plan · No card · Unmetered views

---

Generated from `components/module/landing/pages/features-config.ts` by `scripts/generate-geo-md.mjs`. The page itself is https://offerbanner.com/features.
