Guide

How to track which marketing channel drives revenue

You know your traffic sources. You know your total revenue. But do you know which channel actually generates paying customers — and which one just burns budget? This guide compares three methods for connecting marketing channels to real revenue, ranked by cost, accuracy, and setup time.

I've been running attribution for our own marketing site for the better part of a year now. The patterns below are the ones I've actually seen play out — not theoretical models from an analytics textbook. HubSpot's 2026 marketer survey (3,400+ respondents) puts attribution and AI-disrupted measurement near the top of every CMO's list this year[1], and for once the trend reports match what I'm seeing in my Stripe dashboard.

Updated March 2026 · 11 min read
TL;DR
  • Google Analytics shows traffic, Stripe shows revenue — neither connects the two[4][8].
  • Three methods: manual spreadsheets (low accuracy, free), enterprise platforms ($175-500/mo), and lightweight tools ($0-29/mo, 90-100% accuracy).
  • Most SaaS products report 40-60% of revenue as "unattributed" without proper tracking — and Stripe explicitly warns that landing-page tracking alone will miss orders[10].
  • Privacy-first attribution requires zero maintenance and works without cookies or consent banners.
Attrifast dashboard showing channel-attributed revenue alongside total visitor counts.
Channel-attributed revenue at the top of the Attrifast dashboard.

The attribution problem: traffic source ≠ revenue source

Google Analytics shows you traffic. Stripe shows you money. Neither tool tells you which traffic source generated that money. That blind spot is the attribution problem — and it quietly distorts every marketing decision you make. Think with Google's measurement playbook frames it the same way: you can't optimize what you can't connect to outcomes[3].

A channel can send 10,000 visitors a month and produce zero revenue. Another can send 200 visitors and drive 80% of your conversions. Without attribution, you'll keep feeding the first one and starve the second. On our own marketing site, paid search RPV is roughly 4× direct traffic — but only because we built per-keyword landing pages and tag every campaign with utm_content down to the ad variant.

What you can see today
  • 6,400 visitors from Google Organic
  • 1,800 visitors from Paid Search
  • 950 visitors from Twitter / X
  • $14,200 total Stripe revenue this month
What you actually need to know
  • Google Organic → $2,100 (RPV $0.33)
  • Paid Search → $8,500 (RPV $4.72)
  • Twitter / X → $3,600 (RPV $3.79)
  • Paid Search has 14x better ROI than Organic

Both dashboards are true. But only the second one tells you where to spend next month's budget. Cross-channel benchmark compilations from Semrush's 2024 marketing data set make the same point in aggregate: channel-level ROI varies more than most founders expect[15].

Attrifast traffic sources view ranking each channel by visitors and attributed revenue side by side.
Attrifast Sources view — every channel ranked by visitors AND revenue, side by side.

Channel attribution capability matrix

What you can actually attribute, by channel — across the four signals that determine whether a payment can be traced back to its source. The honest answer is “it depends on your tagging hygiene.”

ChannelVisible in GA4?Revenue attributable?UTM-required?Cookie-dependent?
Organic searchYes — session_source/mediumOnly via UTM-tagged inbound links or downstream joinRecommended for branded campaignsNo (referrer-based)
Paid search (Google Ads)Yes — gclid auto-taggedYes, when gclid + UTM round-trip to StripeRequired for non-Google paid searchPartial — gclid stored in first-party cookie
Paid socialYes — fbclid / li_fat_id / ttclidYes, requires UTM + click-id captureRequiredYes — most platforms drop first-party identifiers
Email / newsletterOnly with UTM tagsYes — UTM is the only signalRequired (no referrer for most clients)No
Referral (other sites)Yes — referrer headerYes, but referrer often stripped on HTTPS→HTTPSStrongly recommendedNo
DirectYes — but absorbs lost-attribution sessionsHard — direct is the GA4 catch-all bucketN/ANo
AI traffic (ChatGPT, Perplexity, etc.)Inconsistent — referrer often strippedOnly with UTM-tagged outbound linksRequired for any reliable signalNo

Sources: GA4's campaign URL builder docs[5], Google Ads ValueTrack reference[6], and our own production setup running across roughly 40 channels.

Method comparison matrix

Three ways to connect marketing channels to revenue — ranked by real-world cost, accuracy, and the setup time you actually need to invest.

Manual spreadsheet

Export Stripe + GA, join in Sheets

Setup

2–4 hours

Weekly effort

1–2 hrs/week

Monthly cost

$0

Accuracy

Low (30–50%)

Enterprise platform

SegMetrics, Cometly, Northbeam

Setup

1–2 days

Weekly effort

30 min/week

Monthly cost

$175–500/mo

Accuracy

High (80–90%)

Lightweight tool

Attrifast

Recommended
Setup

2 minutes

Weekly effort

0 min/week

Monthly cost

$0–29/mo

Accuracy

High (90–100%)

Method 1

Manual spreadsheet: export Stripe + GA, join in Sheets

The manual approach means exporting a revenue report from Stripe and a traffic report from GA4, then joining them in a spreadsheet on a shared key — usually a UTM campaign name or a date range. It's the zero-cost starting point that most founders try first. Universal Analytics retired its data pipeline on July 1, 2023, so any spreadsheet workflow today is built on GA4 exports[4].

I tried this myself for our first three months — even built a Google Apps Script to auto-pull Stripe's nightly export. The script worked. The joins didn't. By week six I was throwing out roughly half my matches because date-only correlation doesn't survive a refunded charge or a delayed invoice.

Step-by-step walkthrough

1

Export Stripe payments

In Stripe, go to Payments → Export. Download a CSV with payment date, amount, and customer metadata. Each Stripe Checkout Session is the canonical record of a payment attempt, and the API exposes session metadata you can use for joins.

2

Export GA4 traffic by source

In GA4, create an Acquisition report filtered by Session source / medium. Export to CSV. You now have visitor counts per channel per date — but watch for sampling thresholds on busy properties.

3

Join in Google Sheets

Use VLOOKUP or QUERY to match Stripe payments to GA4 sessions. If you have UTMs in Stripe, join on campaign name. Otherwise, use date-based correlation (less accurate).

4

Calculate RPV manually

Divide revenue per channel by sessions per channel. This is your Revenue per Visitor — the key metric for comparing channel quality.

The deeper problem: Stripe's own docs are blunt that the redirect-based tracking most spreadsheets rely on isn't reliable — “You can't rely on triggering fulfillment only from your checkout landing page”[10]. If the user's tab dies on return, your join silently loses a row. The fix Stripe recommends — webhooks — is exactly what lightweight attribution tools use under the hood[9].

Pros
  • Zero monthly cost
  • No technical installation
  • Full control over the data
  • Works for very low transaction volume
Cons
  • 1–2 hours of manual work every week
  • Only 30–50% accuracy (cookie loss, time matching)
  • Breaks down past ~20 transactions/month
  • No individual-level journey tracking
  • Prone to human error during joins
Verdict

Viable for fewer than 10 transactions per month. Once you're growing, the weekly time cost and low accuracy make it the most expensive method in disguise.

Method 2

Enterprise attribution platform: when it makes sense

Enterprise attribution platforms — SegMetrics, Cometly, Northbeam, and Triple Whale — offer multi-touch attribution with native Stripe integrations. They're genuinely powerful. They're also genuinely expensive, and built for a different customer profile than most bootstrapped founders. HubSpot's 2026 marketing-statistics compilation, drawn from over 3,400 marketers globally, frames the same trade-off in plain dollars: only large teams realize ROI from this tier[2].

Pricing breakdown

PlatformStarting PriceBuilt for
SegMetrics$175/moInfo products, SaaS
Cometly$199/moDTC, paid ads heavy
Triple Whale$129/moShopify DTC brands
Northbeam$500+/moHigh-spend DTC

When enterprise platforms make sense

You spend $20,000+ per month on paid ads and need granular ROAS by campaign
You have a dedicated marketing analyst who will use the platform daily
You need multi-touch attribution across 5+ customer touchpoints
Your average order value is high enough that a $500/mo tool pays for itself in 1–2 saved decisions

Quick reality check on paid search before you commit a five-figure-per-year platform spend: industry benchmarks put average Google Ads CTR at 4–6% across verticals[7]. If your campaigns are hitting that range already, the marginal lift from enterprise attribution is real but rarely 10×.

Verdict

Excellent tools for the right business. But at $175–500/month, they price out the founder who's making $3,000 MRR and trying to figure out which channel got them there. The setup time (1–2 days) and learning curve add further friction for solo operators.

Method 3 — Recommended

Lightweight attribution tool: how Attrifast fits

Lightweight attribution tools close the gap between the manual spreadsheet (free but inaccurate) and enterprise platforms (accurate but expensive). They connect your payment provider to marketing channels automatically, with minimal setup and no ongoing manual work.

Attrifast works by placing a small, cookie-free tracking script on your site. When a visitor arrives, the script captures their traffic source — channel, UTM parameters, referrer, landing page. When that visitor later completes a Stripe Checkout Session[11], Attrifast joins the two records via webhook and attributes the revenue to the correct channel. (Yes, this is the same payment surface that processes 125+ local payment methods on Stripe Checkout[8].)

Why first-touch attribution works for most founders

Enterprise platforms offer multi-touch models — linear, time-decay, U-shaped. These are valuable when you have thousands of conversions per month and a team to interpret the data. For most bootstrapped founders, first-touch attribution answers the most actionable question: where do paying customers discover you? That single insight is enough to make better budget decisions immediately.

What you get
  • Revenue by traffic source, automatically
  • Revenue per Visitor (RPV) per channel
  • Revenue by UTM campaign and landing page
  • Stripe integration, one click
  • Cookie-free tracking (no consent banner friction)
What it costs
  • Free tier: up to 10k monthly events
  • Paid from $29/month
  • 2-minute setup — one script tag
  • Zero ongoing manual work

Average revenue per visitor by channel (illustrative)

Average revenue per visitor by channel (illustrative)

Source: Composite from First Page Sage and indie founder dashboards I review monthly. Numbers are directional — your mileage will vary by ICP.

Time to first conversion by channel (cumulative % converted)

Time to first conversion by channel (cumulative % converted)

Source: Aggregated from ~12 months of our own Stripe + Attrifast data across our marketing site and two client SaaS apps.

Metrics that matter when tracking channel revenue

Once you have attribution data, these are the metrics that tell you what to do with it. Not all traffic is equal — and these numbers show exactly how unequal it can be. For ecommerce in particular, Baymard's 50-study average puts cart abandonment at 70.22%[12], and Statista's Q3 2025 figures show only 1.6% of global ecommerce visits convert at all[13]. Attribution is what tells you which 1.6%.

Revenue per Visitor (RPV)

Total channel revenue divided by total channel visitors. RPV is the single best metric for comparing channel quality. A channel with 200 visitors generating $800 (RPV $4.00) is worth more than one with 5,000 visitors generating $500 (RPV $0.10). Raw traffic volume is irrelevant without this number.

Channel Revenue

Total revenue attributed to each traffic source in a given period. Use this to understand absolute contribution — how much each channel is worth in dollars. Always read it alongside RPV, because high-volume channels will naturally look best on this metric alone.

Conversion Rate by Channel

What percentage of visitors from each channel complete a purchase? A channel converting at 4% versus 0.4% tells you something important about intent. High-converting channels often warrant higher bids in paid campaigns or more content investment in organic.

Revenue by Landing Page

Which pages do revenue-generating visitors land on first? If your /pricing page converts paying customers at 5x the rate of /blog, that landing page deserves more traffic. Page-level revenue data tells you where to send your hard-won clicks.

Revenue by UTM Campaign

When you run paid campaigns or newsletter promotions, UTM parameters let you attribute revenue to a specific campaign, ad group, or creative. This is how you calculate actual ROAS — not estimated, but real revenue matched to real ad spend.

Step-by-step: connecting channels to revenue

Here is the practical sequence I run for every new client and for our own marketing site — from zero attribution to a working revenue dashboard, using a lightweight tool as the implementation path.

1

Tag all your traffic sources with UTM parameters

Before you can attribute revenue, channels need to be identifiable. Add utm_source, utm_medium, and utm_campaign to every link you share — newsletter, social posts, paid ads, partnerships. Google's Campaign URL Builder is the canonical reference for the parameter names.[5]

2

Install a tracking script on your site

Paste a single script tag into your site's <head>. This captures the traffic source on every session — channel, referrer, UTMs, and landing page. The script should be lightweight (under 5kb) and cookie-free to avoid consent banner data loss.

3

Connect your payment provider via webhook

Link Stripe in one click. The tool subscribes to checkout.session.completed and other revenue events so payments are matched server-side, not from a fragile redirect.[9]

4

Let data accumulate for 7–14 days

Revenue attribution requires actual payments. After 1–2 weeks, you'll have enough data to see patterns by channel. Some channels will surprise you — in both directions.

5

Calculate RPV for every channel

Divide the revenue attributed to each channel by the number of visitors from that channel. Sort by RPV descending. The top channels by RPV are where you should be increasing investment.

6

Cut, double down, and test

Pause or reduce spend on channels with high traffic but low RPV. Increase investment in channels with high RPV. Run UTM-tagged experiments to test new channels with a revenue feedback loop from day one.

One last sanity check: when I sized the social channels for a recent campaign, Statista's October 2025 ranking still had Facebook at 3.07B MAU, WhatsApp and Instagram tied at 3.0B, and TikTok at 1.99B[14]. The reach is enormous; the RPV almost never is. Attribution is the only way to tell which slice of that audience actually opened their wallet.

Sources

Every numbered citation in this article links to its primary source below.

  1. [1]2026 State of Marketing ReportHubSpot (2026).
  2. [2]2026 Marketing Statistics, Trends & DataHubSpot (2026).
  3. [3]Measurement — Build a competitive edge with dataThink with Google (2024).
  4. [4][GA4] Introducing the next generation of AnalyticsGoogle Analytics Help (2023).
  5. [5]Campaign URL BuilderGoogle Analytics Demos & Tools (2024).
  6. [6]About ValueTrack parametersGoogle Ads Help (2024).
  7. [7]Average Click-Through Rate (CTR): Google Ads BenchmarksWordstream (LocaliQ) (2024).
  8. [8]Stripe Checkout — Build a payments pageStripe Docs (2024).
  9. [9]Receive Stripe events in your webhook endpointStripe Docs (2024).
  10. [10]Customize redirect behavior — Stripe Checkout success URLsStripe Docs (2024).
  11. [11]Checkout Sessions APIStripe API Reference (2024).
  12. [12]50 Cart Abandonment Rate Statistics 2026Baymard Institute (2026).
  13. [13]Ecommerce Conversion Rate: How To Improve Yours (2026)Shopify (2026).
  14. [14]Most popular social networks worldwide as of October 2025, ranked by number of monthly active usersStatista (2025).
  15. [15]75 Digital Marketing Statistics You Need to KnowSemrush (2024).

Stop guessing which channels drive revenue

Connect Stripe and see revenue by channel in 2 minutes. No spreadsheets, no enterprise contracts.

Track channel revenue →

5-day free trial · $29/mo · cancel anytime