Judge a channel on what it earned.

One call at checkout, and every source, campaign and landing page in your dashboard carries a money column next to its visitor count. Cookieless by default, so no consent banner is required for it.

What is revenue attribution?

Revenue attribution connects money to the traffic that produced it, so each source and campaign is measured by what it earned rather than by how many visits it sent. It is the difference between a channel that looks cheap per click and a channel that is actually cheap per customer.

Almost every privacy-first analytics tool stops at the visit. That is the single most common reason teams keep Google Analytics installed next to the tool they prefer, and it is the gap this closes.

One call, and the rest is already there.

  1. 01

    The visit is classified on arrival

    Referrer, source, medium and any UTM parameters are attached to the session before the visitor has clicked anything.

  2. 02

    Report the purchase

    Call mrkr.revenue(49.00, { plan: "pro" }) when the sale completes. The amount is the first argument; anything after it is optional properties.

  3. 03

    Mrkr attributes it

    The amount is recorded against the visit, and the visit already knows where it came from. Revenue by source falls out of that without any configuration.

  4. 04

    Read it four ways

    Total revenue, a daily series, a breakdown by source, and average revenue per visitor. The overview page carries the headline figure alongside your traffic.

Money next to the traffic that made it.

The revenue view shows the total for the range, the daily trend, average revenue per visitor, and which sources produced the money. Every filter that works elsewhere works here, so you can put one campaign, one country or one saved cohort behind the number.

A revenue event also counts as a purchase conversion alongside your other goals, so a checkout appears both as money and as a conversion without you instrumenting it twice.

Mrkr revenue attribution showing which sources and campaigns produced sales.
Total revenue, average revenue per visitor, the daily series, and the breakdown by traffic source. Open it in the live demo.

What it changes in practice.

The cheap channel stops looking cheap

Four times the visitors at a tenth of the revenue per visitor is not a bargain, and a visitor count cannot show it.

Campaigns get judged on the right axis

Two campaigns with identical click-through can differ tenfold in what they earn. The breakdown carries revenue.

Cohorts become commercially useful

A minimum-revenue cohort is an acquisition brief: filter every view by your best customers and see where they came from.

A funnel gets a better denominator

Conversion rate says how many finished. Revenue per entrant says whether finishing was worth anything.

Who else ties traffic to revenue.

The privacy-analytics field is thin here, which is exactly why the question keeps coming up in evaluations.

MrkrPlausibleFathomSimple AnalyticsHotjar
Revenue attributionYes, per source and campaignGoal revenue onlyNoNoNo
Cookieless by defaultYesYesYesYesNo
Session replayYesNoNoNoYes
FunnelsYesYesNoNoOnly on higher tiers
Entry priceSee pricing$9/mo$15/moEUR 20/mo$32/mo

Competitor details checked against their own pricing and feature pages on 2026-08-24. "Goal revenue only" means revenue can be attached to a goal but is not broken out as its own attribution surface.

Open the revenue view

The live demo has revenue, average revenue per visitor and per-source attribution on real demo traffic. No signup, no card.

Open the live demo
Mrkr revenue attribution showing which sources and campaigns produced sales.

What this does not do.

Last click within the session

No multi-touch model, no time decay, no position-based split. The visit that converted gets the credit.

A one-day window, cookielessly

A purchase today cannot be credited to yesterday's click unless the site runs cookie mode, which needs consent.

No backend ingestion

Revenue is reported from the page at purchase. A payment confirmed in a webhook later cannot be posted server side.

No currency conversion

Mrkr sums the raw numbers you send. Normalise first and send one unit. A zero amount still counts as a purchase conversion.

Questions, answered.

Keep reading

Your first visitor is already here.

Drop in the script and watch them land. It takes about a minute.