Skip to content

A trial-ending reminder that doesn't block the page

A small card in the corner, or a bottom sheet on a phone, that tells people their trial is almost over and offers the way to keep going. The page stays usable behind it.

A card in the corner of a learning app titled Two days left of your free trial, with a three-step timeline and a Review my plan button
Display
Slide-in
Where
Corner card, or a bottom sheet on phones
When it shows
After a few seconds
Starts from
Trial Ending template

Try it. This is the real thing.

The phone runs the same open-source Web SDK your site would load, with the template exactly as it ships. Tap a button and see what your code would receive. Prices here are examples; your site passes the real ones.

The button below shows it the way it appears on a site: pinned over the page.

Loading the live demo

Tap anything, and scroll inside the phone for the rest. Your site gets the event.

When to use it

  • A few days before a trial ends.
  • To nudge people who are using the product but have not added a plan.
  • When a popup would get in the way of the work they are doing.

What goes on it

  • How long the trial has left.
  • What they keep by upgrading.
  • A button to your checkout.

Set it up in three steps

  1. Start from the Trial Ending template

    Edit the headline and the button. A slide-in is short, so keep it to a line or two.

  2. Choose a slide-in

    In Display, pick Slide-in, its corner and its size. On a screen narrower than 640 px it becomes a bottom sheet on its own.

  3. Show it to the right people

    Set it to appear after a few seconds. To keep it away from paying customers, add an audience for them, such as plan is pro, and set it to Nothing. Everyone else sees the reminder. Your site passes the attribute and it is checked in the visitor's browser. Audiences are on Pro and up.

The code on your site

Prices and checkout stay in your product. The screen itself comes from Miniwall, so a new version reaches your site without a release.

Tell the SDK who is visiting, then start the placements
UIKit.configure({ apiKey: "pk_..." });

// Checked in the browser. Attributes are never sent to Miniwall.
UIKit.setAttributes({ plan: "trial", trial_days_left: 3 });

// startCheckout is your own function: it runs your checkout.
UIKit.startAutoPlacements({
  products: {
    monthly: { price: 9.99, currency: "USD", period: "month" },
    annual: { price: 59.99, currency: "USD", period: "year" },
  },
  onPurchase: async ({ packageId }) => startCheckout(packageId),
});

Good to know

Does the visitor's data leave their browser?
No. Attributes you pass, like plan or days left, are checked in the browser to pick the screen. They are not sent to Miniwall.
Does it work on phones?
Yes. A slide-in becomes a bottom sheet on screens narrower than 640 px.
  • A popup over a reporting app titled PDF export is a Pro feature, listing three benefits and a Pro plan at $9.99 a month with an Unlock export button

    Popup

    Upgrade popup

    Your plans in a popup when someone taps a locked feature or reaches a limit.

    See how it works
  • A yellow sale banner across the top of an image tool reading Annual plans 40% off, with a See the deal button

    Banner

    Sale banner

    A bar across the top of your site for a sale. Schedule it and it ends on its own.

    See how it works
  • A popup over a reporting app asking why someone is leaving, with five reasons to pick from, one picked, and Cancel my subscription and Keep my subscription buttons

    Popup

    Cancel survey

    One honest question before someone cancels. You see which reasons come up most.

    See how it works

Stop waiting on a release

Pick a template, publish it, add one tag. Free up to 10,000 views a month, no card needed.

Tue

Live

Thu

ReleaseNo release needed