How it works
Lift test, step by step
Two groups, drawn at random
Each reader's browser falls into one group the first time it meets your widget and stays there for the whole test. You choose how many are held back: 10, 25 or 50 percent.
Purchases come from your own page
One script tag on the page where an order is confirmed, with the order's amount, or one line of JavaScript where the widget already is. Each browser's purchase is counted once.
A verdict only when there is one
Purchase rate, money per reader and the difference between the groups with its 95% range. No verdict is printed before 200 readers in each group and 20 purchases between them, and "helps" means the whole range sits above zero.
Which testimonials your buyers read
Every card whose words a reader had on screen for a second is noted, and goes with that reader's purchase. Each testimonial gets its purchase rate among the readers who read it, with a range, once 100 readers have read it — ranked by the low end of the range, so a card read by three people cannot top the list on luck.
It pauses itself
Readers and purchases are counted against a monthly allowance. When it is spent, every reader is shown your testimonials again and counting resumes when the month turns. Nobody is left without your wall because a counter ran out.
Safe by design
The rule that makes it safe to have
Clear boundaries
What it will not do
Every capability page ends with this list. It is the part that says what you are actually buying.
- It does not predict or project revenue. Every figure is counted.
- It does not say which testimonial made somebody buy. The card list shows what buyers read; the held-back group is what shows cause, and only for the wall as a whole.
- It does not hold back your hosted wall or your collection pages — only the widget on your own site.
- It does not follow a reader across sites or build a profile of anybody.
- It does not decide anything for you: the figures can be posted by anyone who finds the address, so nothing is charged or changed because of them.
Where it lives in the code: lib/lift.ts · lib/lift-stats.ts · app/api/lift/route.ts · components/LiftPanel.tsx
This is running now
Open a project and use it. Nothing on this page is a roadmap.