Give every lead a unique and authentic deadline for your offer.

Build real urgency around each buyer with deadlines that resolve to the right price, coupon, and countdown. Timers fully integrates with Plandalf checkout, and can also render on your site, Stripe page, or inside email.

Choose type Deadline engine
Personal deadline Evergreen
02 days
14 hrs
22 min
17 sec

Each person's timer starts on their first visit. Perfect for ongoing nurture sequences.

Surfaces Landing page · checkout · email

The argument

Most countdown tools draw a timer. Plandalf binds a deadline to a real price change.

A timer in Plandalf isn't a banner with a falling number. It's a promo tier that resolves a price. When the clock hits zero, the next tier takes over — the coupon stops working, the price moves, the redirect fires. Every surface reads the same record.

A real deadline, anchored to every part of the sale.

Deadline type, coupon rules, visual treatment, test mode, and checkout handoff all read from the same promo record, so the timer cannot drift from the sale.

Time-based scarcity that's actually real

The countdown isn't theater. It's bound to a coupon's `expires_at` and a promo tier's window — so when zero hits, the next price resolves and the discount actually stops.

Visible everywhere your customer is

The same deadline renders on the checkout, on the marketing page, and inside the inbox. One source of truth, three surfaces.

Wired into your checkout

The same resolve call returns price, coupon, seconds_remaining and a redirect — so the engine fits a Plandalf checkout, Stripe Checkout, Shopify, or a custom form.

Set it and trust it

Test the promo end-to-end with a stub timeline. Once it's live, the deadline takes care of itself.

Variants

17+ ways to render the same deadline

Theme any one of them. Drop into checkout, landing page, or email GIF — same engine.

Theme every variant down to color, font, and size. Same promo source — SVG on the web, animated GIF in email, both ticking the same deadline.

How it compares

Plandalf vs. templated timer tools

Offers is built around the whole buying moment: layout, payment, pricing, add-ons, promotions, testing, and follow-up stay in the same offer engine.

Capability
Plandalf Offers
Templated checkout tools
Per-visitor evergreen deadlines

Bound to a participant record — survives incognito, devices, and cleared cookies.

Cookie-based. Resets on incognito, on a new device, or when the user clears storage.

Deadline binds a price change

When zero hits, the next price tier resolves. The checkout sells the new price.

Timer hits zero, banner hides, page still sells at the same price.

Email countdown GIF

Same engine renders an animated GIF. Per-recipient deadline via merge tag.

Separate add-on or different SaaS — and the deadline drifts from the on-site one.

Visual variants out of the box

Seven named styles (clean, boxed, urgent, minimal, neon, purple, light) — theme-able to color, font, and size.

One or two templates with a logo swap. Anything else is a custom dev job.

Quantity + time tiers

Launch promo combines both — price moves on date AND on units sold.

One dimension only. Pick a clock or a counter.

Stripe / SamCart / Shopify

Same resolve call returns price, coupon, and seconds_remaining — route to any checkout you already run.

Vendor-locked. Lives inside one funnel builder.

Honest expiry

Real `expires_at` on the coupon. When the timer hits zero, the code stops working.

Timer expires, coupon stays redeemable for weeks. Customers learn to wait.

Test mode

Rehearse the full promo — tier resolution, countdown, coupon — with a stub timeline before flipping live.

Hope it works. Refund the test charges later.

8

capabilities compared across checkout design, pricing, promos, testing, and embedding.

Categories are honest summaries of how templated countdown tools behave today. We don't name names — you've used them.

How Timers fits with Offers

A timer without an Offer is a clock with nothing behind it. A great Plandalf setup pairs an Offer (the checkout your customer sees) with a Timer (the promo that resolves the price). One record in Plandalf, one source of truth, one deadline across every surface.

When not to use a timer

Don’t add a timer to an offer that doesn’t actually have a deadline. Customers notice fake urgency, and a fake countdown poisons the well for the real ones later. Use timers when the deadline is real and worth communicating.

Use cases

Where Timers starts paying for itself.

Platforms

Works with the tools you already use

Timers plugs into the payment processors and platforms you already run. Each integration page lists supported capabilities, so builders can connect checkout, payment, invoices, webhooks, API work, and automation without guessing.

FAQ

Honest answers

Yes. The email GIF promo renders the same countdown as the on-site banner, with a per-recipient deadline via merge tag. Clients that don't support GIFs see a static frame.
Yes. The same resolve call returns `price`, `coupon_code`, `seconds_remaining`, and an optional `redirect_url`. Use it from a Plandalf checkout, Stripe Checkout, Shopify, or a custom form.
The next tier resolves. That might mean a higher price, no discount, or a redirect to a waitlist — whichever the promo defines. The coupon's `expires_at` makes the code un-redeemable at the same moment.
Seven named variants — clean, boxed, urgent, minimal, neon, purple, light — all theme-able down to color, font, and size. Any of them export as a live SVG or as an animated GIF for email.
Yes. Promo test mode runs the full tier resolution with a stub timeline so you can preview every state — pre-launch, mid-window, expired — before flipping live.
No. Timers and Offers share one plan. The promo engine is the same engine that powers Offers' bumps and save offers.

Free playbook

Get the launch-timer playbook

The 10-step playbook for running a real launch window — sequencing the promo, the coupon, the email countdown, and the post-deadline redirect without any of them drifting out of sync.

Timers Offers

Better together with Offers

Timers + Offers — one continuous flow.

  • Promo resolves the price. Offer renders the checkout. One engine, one dashboard.
  • The same deadline ticks on the checkout page, in the email, and on the landing page — because it's the same promo brain.
  • Save offers at cancel run against the live promo state — no second tool, no drift.

Drives any checkout — Stripe Checkout, SamCart, Shopify, custom form. Deepest fit: Plandalf Timers + Plandalf Offers.

  1. Stage 1 · Timers

    Promo resolves

    Returns price, coupon, seconds_remaining, spots_remaining.

  2. Stage 2 · Offers

    Offer delivers

    Hosted page, bump, upsell, theme. Renders the resolved decision to the buyer.

  3. Stage 3 · Save flow

    Sequence fires at cancel

    Save offer reads the same live promo state — no second tool, no drift.

Timer types

Twelve ways to attach urgency to a sale.

Same resolve call. Different conditions. The engine returns the right price, the right coupon, and (where it makes sense) the right countdown.

  • Evergreen

    Live

    Personal deadline

    Per-visitor evergreen. First touch starts the clock for that buyer.

    trigger: first_visit
    deadline: 72h
    surface: checkout + email
  • Tripwire

    Live

    Post opt-in

    Short-window upsell right after opt-in. Great for the first hour.

    trigger: subscribed
    deadline: 60m
    offer: one_time
  • Product Launch

    Soon

    Shared deadline

    Open cart, close cart. Everyone sees the same launch window.

    starts: launch_open
    ends: launch_close
    mode: shared
  • Flash Sale

    Soon

    Segment push

    Fixed window for everyone — Black Friday, day-of, weekend-only.

    segment: warm_leads
    deadline: 6h
    coupon: FLASH
  • Limited Quantity

    Soon

    Quantity or time

    Ends on quantity or time, whichever happens first.

    limit: 50
    deadline: 24h
    end_when: either
  • Abandoned Cart

    Soon

    Win-back

    Bring a lost buyer back with a deadline that follows the cart.

    trigger: cart_left
    deadline: 23h
    channel: email
  • Automated Webinar

    Soon

    Video anchored

    Timer opens and expires from the moment they watch.

    trigger: video_75
    deadline: 30m
    surface: replay
  • Page-Only Deadline

    Soon

    Page trigger

    Starts when someone lands on a specific page or private link.

    trigger: page_view
    path: /private-offer
    deadline: 48h
  • Announcement Bar

    Soon

    Sitewide

    A sitewide banner points every visitor to the campaign state.

    surface: top_bar
    deadline: shared
    cta: /checkout
  • Seasonal

    Soon

    Recurring

    Recurring date range every year — summer, holiday, end-of-season.

    season:
      from: "06-01"
      to: "08-31"
  • Hybrid (Rolling)

    Soon

    Rolling

    Weekly or monthly rolling deadlines without manual resets.

    cadence: weekly
    cohort: signup_week
    deadline: sunday
  • Staggered Launch

    Soon

    Launch waves

    Multi-tier launch waves for waitlists, partners, and VIP cohorts.

    waves:
      - vip
      - waitlist
      - public

One resolve call. The engine returns price, coupon_code, seconds_remaining, spots_remaining, and an optional redirect_url.

Playbooks

Four campaigns you can ship this week

Same engine, different shapes. Each one runs on a real promo tier — not a styled banner.

  • Flash sale ends

    02 : 14 : 22 : 17
    Hosted checkout

    Black Friday 72-hour window

    One sitewide deadline. Coupon dies at the same second the banner does.

    1. 1 Create a `flash_sale` promo with a global `expires_at`.
    2. 2 Attach a coupon — `expires_at` reads the same field as the promo.
    3. 3 Drop the `urgent` countdown variant on every checkout and landing page.
    4. 4 Rehearse in test mode against a stub timeline before traffic shows up.
    Promo types Promos Coupon expires_at Promo styling Promo test mode
  • VIP pricing ends

    02 : 14 : 22 : 17
    Landing page

    Cohort launch with founding-members tier

    First 100 get founding price. After that, deadline closes the door.

    1. 1 Create a `launch` promo combining quantity cap (100) with a Friday-9pm deadline.
    2. 2 Stack a coupon with usage limit = 100 and per-customer frequency = 1.
    3. 3 Wire `promo_redirect` so post-deadline traffic lands on the waitlist.
    Promo types Coupon usage limit Coupon frequency Redirect ignoring on promos
  • Offer ends in

    02 : 14 : 22 : 17
    Custom API

    Per-visitor evergreen offer for cold leads

    First touch starts a 48-hour clock that survives incognito and new devices.

    1. 1 Create a `deadline` promo with `per_participant: true`.
    2. 2 Resolve it from your landing page — returns price, coupon, seconds_remaining.
    3. 3 Render the `neon` countdown variant inline next to the buy button.
    Promos Coupon expires_at Promo styling
  • Doors close at midnight

    02 : 14 : 22 : 17
    Email GIF

    Limited-edition drop with email countdown

    Same deadline ticks in the inbox and on the checkout — to the second.

    1. 1 Create an `early_bird` promo with a hard `expires_at`.
    2. 2 Generate the email GIF from the same promo — per-recipient merge tag for the deadline.
    3. 3 Render the matching countdown on the checkout so nothing drifts.
    Email GIF promo Promos Promo styling Coupon expires_at

Integrations

Drop the countdown into every tool you already send from.

Promo resolves in Plandalf, ticks in your inbox, on your landing page, and at checkout — same record.

Plus a fully documented REST API and webhook layer for whatever's not in the list.

For developers

One resolve call. Every surface gets the same answer.

  • REST API: a single `POST /promos/{id}/resolve` returns price, coupon, seconds_remaining, redirect_url.
  • SDKs for JS, Node, and PHP — drop into Webflow, Framer, Next.js, or your own checkout.
  • Webhooks fire on every state change so your email and ops tools stay in lockstep.
  • Idempotent by participant key — same visitor on a new device gets the same deadline.
  • Read the API docs
resolve.js
// Resolve a promo for the current visitor.
// Survives incognito, new devices, cleared cookies.
const promo = await plandalf.promos.resolve('launch_cohort_03', {
  participant: 'visitor_8f2c4a',
});

// {
//   price: 'price_founding_249',
//   coupon_code: 'EARLY100',
//   seconds_remaining: 7423,
//   redirect_url: null,
//   tier: 'founding_member'
// }

// Same call resolves identically on the checkout,
// the landing page, and the email GIF generator.

Switching over

Move off your old countdown tool in an afternoon.

  1. Map your existing timers to promos

    Most templated tools have one promo type. Pick the matching Plandalf type — deadline, flash sale, early bird — and copy the deadline across.

  2. Connect Stripe or PayPal

    One OAuth click. Coupons sync from your existing catalog so you don't lose attribution.

  3. Rebuild your countdown style

    Pick one of the named variants or theme down to color, font, and size. This is the step that takes the longest — usually 20 minutes.

  4. Wire your existing email & automation

    Drop the email GIF tag into your campaign. Webhooks update HubSpot, Klaviyo, or your CRM when a tier resolves.

Most teams have their first real promo live the same day. Nothing on the old tool stops working while you cut over.

Proof

Built by operators who got tired of fake urgency.

  • Brand
  • Brand
  • Brand
  • Brand
  • Brand
  • Brand
  • Brand
  • 11 min

    First promo live

    PLACEHOLDER — confirm. Median time from sign-up to first deadline going live.

  • 8

    Promo types out of the box

    Deadline · launch · flash sale · early bird · seasonal · coupon · bundle · referral.

  • 17

    Countdown variants

    Every one theme-able. Renders as live SVG or animated GIF.

  • 0

    Drift between surfaces

    One promo record. Same deadline on the page, the email, the checkout.

In the wild

Real deadlines on real campaigns

Drop counters at the market, expiring coupons at the cafe, launch windows on the founder's pitch — same promo engine, same source of truth.

  • Maker at her outdoor market stall handing over a small package to a customer.

    Drop counter at the market

    Stock-aware early-bird tier — when the first 50 are gone, the price steps up automatically.

  • Cafe owner tapping a tablet POS as a customer pays with a phone.

    Coupon expiry tied to the offer

    Coupon `expires_at` and the displayed countdown read the same record — they can't drift.

  • Founder at his desk recording a webcam pitch with a launch deck on screen.

    Launch window wired to the email

    Animated GIF countdown in the campaign matches the banner on the checkout — to the second.

Pricing

Free to start. Pay as you sell.

  • No card to start — ship a promo this afternoon.
  • Stripe and PayPal — your processor accounts stay yours, payouts land where they always have.
  • Switch to a paid plan when you outgrow free. No forced calls, no fake limits.

Implementation paths

Build Timers into the rest of the commerce stack.

Use these paths when a builder needs to connect Timers to the right features, docs, integrations, stack guides, and comparison pages without guessing where the next implementation detail lives.

The Numi promo overview screen showing campaign timing and status.

Bind urgency to the sale

A deadline should change checkout behavior: coupon, price, redirect, quantity, save offer, or launch window. Keep the timer tied to the record that controls the offer.

The Numi promo email GIF screen for countdown emails.
The Numi coupon discount settings panel.

Hand the buyer into Offers

Timers works best when the resolved promo state lands in a Plandalf Offer with products, prices, coupons, order bumps, upsells, invoices, and automation.

The Numi coupon expiration settings panel for an offer.

Control the deadline and the discount together

Coupon expiration, usage limits, discount type, and deadline campaigns should live together so the promo cannot keep promising a price that checkout no longer honors.

The Numi offer editor automation tab showing sequence controls beside the checkout canvas.

Send deadline state into follow-up

When a timer expires, the resolved state can route into checkout, redirects, webhooks, automations, and sequences instead of stopping at a visual countdown.

CTA links

Use CTA links when the timer should move the buyer into a checkout, hosted landing page, or offer flow.

Ship Plandalf Timers this afternoon.

Take payment with

StripePayPal

Feature detail