Revenue attribution →

Know which channels bring in revenue.

Revtrail connects pageviews to signups and payments. One cookieless snippet shows which traffic sources make money, so you can spend more on what works.

Cookieless by design. No consent banner needed.

revtrail.dev/dashboard/sites/acme
The Revtrail dashboard: 30 days of traffic, goals, and revenue

Works with your stack

StripeNext.jsVercelExpoiOSCloudflare

Why Revtrail

Put revenue behind every marketing decision.

Revtrail follows the journey from first click to signup to payment. Every channel, campaign, and page gets a dollar value you can use to decide what to fund.

Revenue per channel

See how much revenue comes from Google, X, newsletters, and every other referrer.

Cookieless by design

A daily-rotating hash counts visitors without cookies, so the default mode needs no consent banner.

Live by default

Active visitors and fresh rollups stream into the dashboard in real time, in every open tab.

One tiny snippet

Add one ~1KB script tag and start collecting data. You won't need a tag manager or a week of instrumentation.

Why we built it

We built Revtrail because traffic alone could not tell us where to spend. The dashboard puts revenue next to every channel, and we use it to run our own products every day.

The Revtrail team — this site has tracked itself since day one.

Attribution

Every payment, credited to the channel that earned it.

Revtrail connects first visit → signup → payment in one journey, then ranks channels by the revenue they produce.

First-touch journeys

The channel that first brought a visitor gets the credit when they eventually pay.

Payment events

Send one call with an amount from the browser or your payment webhook, and the revenue lands on the right journey.

Revenue per visitor

Compare what a visitor from each channel is worth.

UTM aware

Campaign, source, and medium are captured automatically from every landing URL.

Customer LTV

Repeat payments accumulate on the journey, so channels are ranked by lifetime value.

Goal funnels

Define signup and trial goals and see conversion per source at every step.

revtrail.dev/dashboard/sites/acme
Top sources ranked by visitors, with revenue riding alongside

Anywhere

Works wherever your traffic lands.

The same snippet works on static sites, SPAs, and server-rendered apps. A typed API covers server-side events and reporting.

01

One-line install

Paste the snippet into your <head> and data flows in seconds. SPA navigation is tracked automatically.

02

Server-side events

Send custom events from your backend, and use a signed Stripe webhook for verified revenue.

Analytics

Everything you left Google Analytics for.

See pageviews, visitors, sources, countries, and devices in a dashboard you can read in ten seconds. It all comes from a ~1KB cookieless snippet.

One-line install

Paste a script tag. SPA navigations are tracked automatically, no config.

Cookieless visitors

Daily-rotating hashes count people without cookies, fingerprinting, or banners.

Top pages + sources

The pages that convert and the referrers that send real customers, side by side.

Devices + geography

Browser, OS, device class, and country are parsed server-side for every view.

Bot filtering

Known crawlers and headless traffic are filtered before they touch your numbers.

Fast by architecture

Events land in a columnar store built for billions of rows; dashboards read pre-computed rollups.

revtrail.dev/dashboard/sites/acme
Countries, devices, and browsers for the last 30 days

Realtime

Your launch day, live.

Active visitors, conversions, and their sources stream into every open dashboard tab as they happen.

Active visitors

Who's on your site right now, updated every minute.

Live attribution

Watch signups get credited to the post or campaign that drove them.

Every tab in sync

Entity sync keeps every dashboard tab current without a refresh or polling.

AI visibility

See how often ChatGPT, Claude, and Perplexity read your site, down to the page.

Usage alerts

Get an email at 75% and 100% of your plan. Events keep recording after you reach the cap.

Zero setup

Realtime uses the same snippet, with nothing else to install or enable.

revtrail.dev/dashboard/sites/acme
Active visitors above the trend line, with a launch spike mid-month

Attribution

Follow every visit through signup and payment.

A visitor lands, reads two pages, and leaves. Revtrail records the visit as the start of a journey, ready to connect with a later signup or payment.

Within a cookieless daily journey, signups and verified Stripe payments are credited to the channel that brought the visitor.

Install the snippet, pass its visitor ID into Stripe Checkout, and signed payment events join the journey automatically.

  1. 01
    The journey. Landing, signup, checkout, payment. Four moments stitched into one attributed path.
  2. 02
    Custom goals. Track signups, trials, and downloads as goals, each attributed to its source.
  3. 03
    Revenue events. One call with an amount, and the dollars show up next to the channel that earned them.
  4. 04
    Live view. Watch who is on your site right now, and which pages are converting today.

Goals

From landing page to paying customer, step by step.

Define signups, trials, and purchases as goals. Then see where visitors from each channel convert or drop off.

Custom events

revtrail('signup') is all it takes to define a new goal from your code.

Conversion by source

Every goal broken down by the channel that delivered the converting visitor.

Funnel steps

Chain goals into funnels and find the exact step where journeys stall.

Cross-platform goals

Web and mobile fire the same event names, so one goal counts both.

Revenue on goals

Payment events carry real amounts, so funnels report dollars alongside conversion counts.

API events

Fire goals server-side with the API when the conversion happens in your backend.

revtrail · live rollup

▸ <script defer src="/track.js" data-site="a1b2…">

pageview → / · google.com · US

signup → /pricing · same visitor

payment · $49.00

attributed to google.com · first touch · 2 sessions · cookieless

▸ live rollup · refreshed just now

google.com → $49 revenue · 1 paying visitor

Get started

Tracking revenue in 60 seconds.

Create a workspace, choose a plan, and try every feature free for 14 days. Installation takes one script tag.

  1. 01

    Start your trial

    Sign up with an email and choose the event allowance that fits your product.

  2. 02

    Paste the snippet

    Drop it into your <head>. Pageviews, sources, and live visitors start flowing immediately.

  3. 03

    Send revenue events

    Connect a signed Stripe webhook and pass the Revtrail visitor ID into Checkout for verified attribution.

Pricing

Pricing follows event volume.

Try every feature free for 14 days. After that, your price depends on monthly events, and every plan includes team access.

Starter

Most popular

For growing products.

$9/ month
  • 100k events / month
  • 3 sites
  • 3-year data retention
  • Custom goals + funnels

Growth

For serious businesses.

$49/ month
  • 1M+ events / month
  • 30 sites, unlimited members
  • 3-year data retention
  • Priority support

The team

Built by founders who needed it.

Revtrail exists because we got tired of guessing which marketing worked. Every feature earns its place by answering one question: did it make money?

A small team

A paying customer's need is enough to get a feature built and shipped.

Privacy first

Cookieless and GDPR-friendly by architecture. Revtrail measures journeys without building personal profiles.

Ships every week

Updates go out weekly, driven by what paying founders ask for.

Customer funded

Customer renewals fund Revtrail. If the product pays for itself, we both win.

Start tracking

Stop paying for traffic that never pays you.

Put a dollar value next to every channel and make the next spend decision from evidence. That's revenue-first analytics.

14 days free · Cancel anytime · No consent banner

Questions

Frequently asked.

Do I need a cookie consent banner?+

The default daily mode rotates visitor hashes every day and stores no browser identifier, so it does not require a banner. Persistent anonymous identity is an explicit opt-in for retention; disclose it and follow the rules that apply to your site.

How does revenue attribution work?+

The snippet remembers the visitor's first source within its daily journey. A signed Stripe webhook credits verified payments to that source when Checkout carries the Revtrail visitor ID.

What counts as an event?+

Any data point the snippet records: a pageview, a custom goal, or a payment. Plans are priced purely by monthly events.

Can I import or export my data?+

Everything the dashboard shows is queryable over the typed API, and your raw events live in a store you can query directly. Your data is yours.