Free-templates has returned 0.005× what it cost by day 35, against 0.29× for the rest of your ad spend.
It cost 51,558 and the people it brought have paid 260 so far.
MARKETING + PRODUCT ANALYTICS
Connect the campaign to the signup, the first payment and the next visit. One place to see what brings customers in. And what brings them back.
Product manager · Team plan, 8 seats · Berlin
Campaigns, funnels and MRR read the same events about the same people.
Visitors are counted with an id that changes every day. Page text, typing and session replay are never collected.
Export CSV or Parquet, keep a copy in your bucket, or run it on your own server.
WHAT IT FINDS WITHOUT BEING ASKED
Vedulo answers the questions you bring. It also goes through your events on its own and brings you what it found.
Each run tries thousands of reports on your events: the paths before someone cancels, the campaigns that never pay back, what the people who stay did in their first days. A finding has to hold on later people it never saw, and at most five reach you. If nothing holds, you get nothing.
Read them in the demoNorthpad: 34,993 reports looked at, 5 shown
It cost 51,558 and the people it brought have paid 260 so far.
Of those who upgraded, 58% had this first; of those compared, 5%.
Of those who cancelled, 48% had this first; of those compared, 14%.
Paying, upgrading, cancelling and going quiet are read from your revenue and activity, with nothing to mark first. It gives each person a chance with their own reasons, and checks itself against what really happened. If it can't beat chance, it names nobody and says so.
See who is heading where in the demoStopped doing “Task completed”: 49% of them, against 18% of the rest (2.7 times as common)
Checked on the past: of 95 it flagged two weeks earlier, 14 went on to cancel (1 in 10, against 1 in 50 usually). It caught 14 of the 26 who did. That is 1,256 of 5,349 people, picked at random.
Connect Search Console and each visit from Google gets its likely search, with the share of similar clicks behind it and how many clicks that is. It stays an estimate, and it says how strong. Where Google gives too little, it shows that instead of a guess.
Join the waitlistVisits from Google
Estimated search: product roadmap template
strong evidence, 143 clicks · Google names the search for 81% of clicks here
Estimated search: gantt chart for small teams
some evidence, 21 clicks · Google names the search for 67% of clicks here
FEWER DASHBOARDS TO DECIPHER
Start with the source. Find the friction. Learn what makes people stay.
A signup is a start. A paying customer tells you more. Follow revenue back to the campaign, then switch attribution models to see the whole picture.
The free-templates ad brings the most signups and the least money.
Try it in the demo| Campaign | Signups | Paying | Revenue |
|---|---|---|---|
| brand | 612 | 74 12.1% | $11,920$12,480$10,310 |
| ops-teams | 288 | 61 21.2% | $13,440$9,870$11,760 |
| monthly-update | 241 | 39 16.2% | $7,310$9,920$8,640 |
| project-management-software | 418 | 28 6.7% | $4,090$4,610$4,380 |
| free-templates | 1,846 | 9 0.5% | $1,020$640$1,490 |
From signup to first value, see exactly where people stop. Click a step, find the people behind the number and open their timeline.
The biggest drop here: 2,784 people created a project, 1,018 went on to invite a teammate.
Try it in the demoSee which features your returning users actually use. Compare retention across cohorts and decide what deserves your next week of work.
About half of each week's signups come back in week 1. About a third are still here in week 5.
Try it in the demo| Signed up | People | Week 0 | Week 1 | Week 2 | Week 3 | Week 4 | Week 5 | Week 6 |
|---|---|---|---|---|---|---|---|---|
| Sep 20 | 498 | 100% | 47% | 39% | 35% | 33% | 31% | 30% |
| Sep 27 | 521 | 100% | 49% | 40% | 36% | 33% | 32% | |
| Oct 4 | 476 | 100% | 46% | 38% | 34% | 32% | ||
| Oct 11 | 553 | 100% | 51% | 42% | 37% | |||
| Oct 18 | 538 | 100% | 50% | 41% | ||||
| Oct 25 | 590 | 100% | 52% |
TAKE THE CONTROLS
The live demo didn't load here. Explore the demo
Open the full demoThe ad they clicked, the signup on your website, the tasks they finished on their phone and the payments your billing server recorded are on one timeline.
Try it in the demoProduct manager · Team plan, 8 seats · Berlin
Vedulo compares this week with the one before, checks whether each change is bigger than normal ups and downs, and names the group behind it. It can send this by email or to Slack.
Try it in the demoAndroid (Platform) went from 212 to 31, which accounts for 87% of the drop. It was a step, not a slide: it began on October 27.
Chatgpt.com (Source) went from 64 to 118, which accounts for 71% of the rise.
Monthly recurring revenue split into new, expansion, contraction and churn, with refunds taken off. It comes from Stripe or from your own server, and other currencies are converted at the rate of the day.
Try it in the demoTurn a change on for half of new users with a feature flag, then compare what each half did. Vedulo says when a difference is real and when it could be chance.
Try it in the demo2,104 people
2,108 people
Real difference. Guided setup gets 13.5 points more people to a first project. A gap this large is very unlikely to be chance.
Choose any page or event and see the paths that led to it, or what people did next.
Try it in the demoQuery your events, people and visits. Save the answer as a group of people, a column on the people list, or an alert.
Try it in the demoSELECT person, count(*) AS tasks,
count(DISTINCT ts::DATE) AS active_days
FROM events
WHERE event = 'task_completed'
GROUP BY person
HAVING count(*) >= 50
| person | tasks | active_days |
|---|---|---|
| u-m3k01x | 214 | 41 |
| u-m2z0qa | 188 | 38 |
| u-m3d07c | 151 | 29 |
| u-m1y12f | 97 | 22 |
Save as a groupAdd as a columnAlert when it changes
Watch people arrive a few seconds after it happens, with where they came from and what they are doing.
Try it in the demo26 people active now
Make a key with only the permissions it needs. Over MCP, an agent can add tracking to your code, check that events arrive and build your dashboards. Everything it can do also works over plain HTTP.
Join the waitlist{
"mcpServers": {
"vedulo": {
"url": "https://cf.vedulo.com/mcp",
"headers": { "Authorization": "Bearer hz_key_…" }
}
}
}Filter any report by anything you know about a person. Click a row or a bar to narrow it. In a funnel, open the people who stopped and read their timelines.
Paste this into your pages. Your phone app and your server send the same events to the same address, with the React Native and Node libraries or plain HTTP. A payment your server records lands on the same person's timeline as their page views.
<script defer src="https://cf.vedulo.com/hz.js"
data-key="hz_pub_…"></script>curl https://cf.vedulo.com/v1/events \
-H "Authorization: Bearer hz_sec_…" \
-d '{"events":[{"event":"subscription_started",
"user_id":"user-123","revenue":49}]}'No. By default nothing is stored in your visitors' browsers, and visitors are counted with an id that changes every day. If you want to recognise people across days, one setting stores an id on the device, which in many countries needs consent.
You do. Download every event as CSV or Parquet, keep a copy in your own bucket, or query it with SQL. Running Vedulo yourself, the data is files in your own folder or bucket.
Yes. They send events to the same address as your website. Once a person signs in, their visits, app sessions and server events join up as one person.
It never reads the text on your pages or what people type, and there is no session recording. Card numbers and passwords sent by mistake are removed before anything is stored.
Yes. It is one container that keeps its data in a folder or an S3 bucket, with no database server to look after.
BRING YOUR OWN QUESTIONS
Access is by invitation for now. Joining the waitlist is how to get one. You can look around the demo first.
An invitation goes to this address when it's your turn. The demo is open until then.
Explore the demo