See which channels bring in revenue.
Analytics connects pageviews to signups and payments, without tracking cookies. Every source, page, and campaign gets a revenue number.
The Analytics overview for climbday.app: tabs for conversions, retention, journeys, and alerts; a stats row with visitors, pageviews, revenue, conversion, revenue per visitor, bounce rate, and visit length; a chart of visitors and revenue against the previous period; and the top sources and pages with their revenue.
- Cookieless by default
- No consent banner. Turn on persistent identity only if you need it.
- Revenue, not only traffic
- Payments join the same rows as pageviews and signups.
- Any stack
- A script tag, the HTTP API, or the mobile SDKs. Pylon is not required.
- Included
- Covered by the Stack0 subscription. Runs at analytics.stack0.dev.
The reports that answer where the money came from
Each one reads from the same events, so a number in one report matches the others.
Revenue attribution
Every source with its visitors, signups, payments, and revenue. Switch the model to check the story.
Revenue by source under last-touch attribution: google.com $6,140, direct $4,390, instagram.com $4,210, facebook.com $2,760, yelp.com $1,753.
Goals and funnels
Set the steps that matter and see where visitors leave between them.
- 01Visited /passes5,120 · 100%
- 02Started a booking1,204 · 23.5%
- 03Signed the waiver412 · 8.0%
- 04Paid186 · 3.6%
Retention cohorts
Group signups by week and watch how many come back.
Weekly signup cohorts from June. Around 60% return in week one and about 40% in week four.
Visitor journeys
The paths from a source to a payment, ranked by how many took them.
- google.com//passes/bookpaid61
- direct/bookpaid42
- instagram.com//passes/bookpaid38
Alerts
A rule fires into Slack or email with the number, the comparison, and the likely cause.
Revenue is down 38% against last Tuesday. 4 payments by 14:00, usually 7. The drop is google.com → /passes.
- Revenue drops 30% against the same weekdaySlack · #climbday
- Conversion under 1% for a dayEmail
- A new source sends 100+ visitorsSlack · #climbday
One script tag
Add the tracker, and pageviews, signups, and payments start arriving. No cookie, no banner.
$ sed -n '/<head>/,/<\/head>/p' index.html
<script defer src="https://analytics.stack0.dev/track.js" data-site="climbday.app"></script>
$ tail -f events.log
✓ pageview · / · google.com · 41ms
✓ pageview · /passes · same visitor · no cookie
✓ payment · $140 · 10-pass · attributed to google.com
What the dashboard holds
One workspace per site, with the reports the screenshots above come from.
Revenue attribution
First-touch, last-touch, and linear models over sources, campaigns, and pages.
Goals and funnels
Pageview, event, and payment goals, with the conversion rate between any two steps.
Retention cohorts
Weekly or monthly cohorts by signup date, with the share that returned.
Visitor journeys
The ordered pages and events before a goal, per visitor and in aggregate.
Alerts
Threshold and comparison rules delivered to Slack or email.
Compare periods
Any range against the previous period or the same range a year ago.
Filters and segments
Source, page, country, device, campaign, and any event property.
CSV export
Every report downloads as a file, with the filters applied.
Part of the suite
Analytics reads the events; the rest of Stack0 acts on them.
- 01
Add the script tag to an app from Build, a Pylon project on Cloud, or any site.
- 02
Ask an Agent what changed this week. It queries the same reports through analytics.query.
- 03
One subscription covers it, alongside Build, Cloud, Agents, and the APIs.
Find out what your last campaign paid for
Add one script tag today. The revenue report fills in from the first payment.