Pricing

You pay when it works.

Free until your project crosses $1K MRR. Then $9 a month for one project, or $19 for up to ten. Every plan has every feature.

Annual takes two months off.
Free Start here
$0

until you cross $1K MRR

$0

until you cross $1K MRR

One project and the whole product. Connect your revenue so we know when you cross the line, and payback works from day one.

Get started free

What you get

1 project
100,000 visits and actions a month
3 months of raw detail
Every feature. Nothing gated.
Solo
$9/mo

billed monthly

$90/yr

billed yearly, two months free

Past $1K MRR, or any time you would rather not send us revenue data at all. Exactly the same product.

Get started free

What you get

1 project
100,000 visits and actions a month
12 months of raw detail
No revenue connection needed
Portfolio
$19/mo

billed monthly

$190/yr

billed yearly, two months free

For running several things at once. The allowance is pooled, so one busy project and nine quiet ones is fine.

Get started free

What you get

10 projects
1,000,000 visits and actions, pooled
3 years of raw detail
Priority support
No credit card Cancel any time Founding price locked for the first 100

Compare

Three things differ. Nothing else.

The whole table below is one argument: past the limits at the top, every row is the same on every plan.

Feature comparison across the Free, Solo and Portfolio plans
Free Solo Portfolio
Limits
Projects 1 1 10
Visits and actions each month 100,000 100,000 1,000,000 pooled
Raw event detail kept 3 months 12 months 3 years
Your numbers kept Forever Forever Forever
If you pay annually Free $90 a year $190 a year
Money
Stripe, Paddle, Polar, Lemon Squeezy Included Included Included
Revenue events from your own billing Included Included Included
Revenue and MRR, attributed to source Included Included Included
Payback period, per channel Included Included Included
Google Ads spend and what it returns Included Included Included
Channels and retention
Real-time traffic, referrers and campaigns Included Included Included
Retention cohorts, split by channel Included Included Included
Visit to signup to payment, pre-built Included Included Included
The weekly brief, in plain language Included Included Included
Where it runs
Websites, from one script tag Included Included Included
Telegram Mini Apps and native apps Included Included Included
Custom events and identify calls Included Included Included
Every project on one screen Not included Not included Included
Getting help
Email support Included Included Included
Priority support Not included Not included Included

Your numbers are kept forever on every plan. The retention limit only decides how far back you can drill into an individual session.

The product

This is the free plan.

Not a trimmed version of it. The same dashboard everyone gets.

The Ripples dashboard: a plain-language summary sentence across the top, then scorecards for new visitors, active users, signups, activations and revenue, a traffic chart against the previous period, and a live map of where visitors are.

The catch

Why we ask to see your revenue.

Free ends at $1K MRR, and we cannot see that number unless you connect it. Stripe, Paddle, Polar and Lemon Squeezy take a couple of clicks. If you bill your own way, send revenue events through the API instead. It counts exactly the same.

This is not a toll for the free plan. It is the same connection that makes payback and retention-by-channel work at all, so a Ripples with no revenue attached has very little left to compute.

Crossing the line

We look at a three-month average, not one good month, and we tell you before anything changes. We will not bounce you between plans.

Not ready to connect it?

Take 30 days of the whole product with no credit card. Payback takes weeks to show up, so 30 days is long enough to actually see it.

Or never connect it

Solo asks for no billing data at all. Same product, $9 a month, no revenue requirement, forever.

The exit

Past $10K MRR, you should probably leave.

We will help you move to PostHog, Amplitude, or whatever your data team picks. Outgrowing Ripples is a feature, not a bug.

Questions

What people actually ask.

Why do I have to connect Stripe to get the free plan?
Because we can't tell when you cross $1K MRR unless we can see your revenue. It's the same data that powers payback and retention-by-channel, so if you're not sending it, most of Ripples can't work anyway. If you use custom billing, send revenue events through the API instead. That counts exactly the same.
What is a "visit or action" in Ripples pricing?
One bucket for everything we record: a pageview on your site, a screen view in your Telegram Mini App or native app, a custom event, an identify call. We count them the same way so the number means something no matter what you are building. It is a fuse, not a quota. If you get close, we email you rather than drop your data.
What happens to my data after 3 months on the free plan?
We keep your numbers forever. Every chart, trend and retention cohort still goes back as far as you have been with us. What we drop after 3 months is the raw event detail underneath, so you cannot drill into an individual session from last spring. Paid plans keep the raw detail for 12 months or 3 years.
What if I cross $1K MRR one month and drop back the next?
Nothing sudden. We look at a three-month average, not a single good month, and we will tell you before anything changes. We will not bounce you between plans.
Is anything held back on the cheaper plans?
No. Stripe, Google Ads, payback, retention cohorts, funnels, the weekly brief: all of it is on every plan, including free. Plans differ by how many projects you have, how much traffic you send, and how long we keep the raw detail. Nothing else.

One line of code. Numbers in 30 seconds.

Free until $1K MRR. No credit card.