Self-reported attribution vs tracked data: which source to trust for which decision

Self-reported attribution vs tracked data: what a how-did-you-hear survey sees that clicks miss, where each errs, and how to cross-check both on real buyers.

Muzahid Maruf — Founder of TrackRev.io

Muzahid MarufUpdated

Revenue attribution · 9 min read
On this page
  1. 01Self-reported attribution vs tracked data at a glance
  2. 02What each source records for one buyer
  3. 03One month of 40 customers, both sources side by side
  4. 04Where each source goes wrong
  5. 05Which source answers which decision
  6. 06How to add a how-did-you-hear question
  7. 07Reconciling the two without double counting
  8. 08What TrackRev does for this problem

Explore with AI

Opens this article inside the chosen assistant with a ready-made prompt.

Self-reported attribution vs tracked data splits by question. Tracked data wins any question about dollars on a channel that leaves a click.

A customer's own answer wins the question of whether a channel with no click, such as a podcast or a friend's recommendation, exists at all.

In the 40-customer month worked through below, 13 sales sit under Direct, and 10 of the 11 buyers there who answered a "How did you hear about us?" question named a friend or a podcast.

Key takeaways

  • In a hypothetical 40-customer month with $1,960 of new MRR, 13 sales sit under Direct, and 10 of the 11 buyers there who answered credit a friend or a podcast.
  • Never add the two sources together. In that month 6 of the 16 friend and podcast answers belong to customers with a tracked click, so a sum counts 6 sales twice.
  • Ask once, right after signup, with 6 to 8 plain options plus Other. "How did you first hear about us?" measures the opening touch, and "What made you sign up today?" measures the closer.
  • Keep ad budgets and affiliate commissions on recorded clicks. Use the answers to decide whether channels without links deserve money, such as the audio behind 8 of the 40 sales.

Self-reported attribution vs tracked data at a glance

AttributeTracked dataSelf-reported answers
Podcast mention, no linkNothing; a later typed visit shows as Direct in Google Analytics 4Captured if the buyer names it
Typical errorMissed touches; the closing click takes allFaded memory; one answer per buyer
CoverageEvery visitor whose click and cookie surviveOnly people who answer
Revenue linkJoin click to chargeJoin answer to customer, then to charge
SetupLinks, a pixel, a Stripe connection1 form field, 1 place to store it

What each source records for one buyer

A buyer hears your founder on a podcast on day 1 and sees a colleague mention the tool in Slack on day 3, with no link in either.

On day 9 she searches your brand name, clicks the organic result and starts a trial. On day 23 she pays $49 through Stripe Checkout.

Your tracker holds 1 touch, the day-9 click, so first-touch, last-touch and linear attribution all give organic search the $49.

Ask her 1 question at signup and the wording picks the answer.

"How did you first hear about us?" points to the podcast, and "What made you sign up today?" points to the colleague, while the tracker says organic search either way.

One month of 40 customers, both sources side by side

The numbers are hypothetical, chosen so the arithmetic is easy to follow. A SaaS company sells a $49 monthly plan and signs 40 new paying customers, which is $1,960 of new MRR.

Each has a tracked source from last-touch attribution and a survey answer, and 6 left the question blank. That response rate is picked for readability, and real optional questions may draw fewer answers.

Tracked source (last touch)Friend or colleaguePodcastGoogle searchNewsletterNo answerCustomers
Direct, no recorded click5510213
Organic search click2250211
Paid search click016018
Newsletter link click101518
Total88135640

Hypothetical month. Each customer pays $49, so 40 customers is $1,960 of new MRR.

Start with the Direct row, where the two records disagree most: 13 customers with no recorded click, which is $637 of the $1,960.

Eleven answered, and 10 of the 11 credit a recommendation or an episode, neither of which usually leaves a click.

TrackRev's Q2 2026 benchmarks list a Direct / dark social channel with the highest median click-to-paid rate, 7.1%, and the highest 12-month LTV multiplier, 2.3x, so look inside the bucket before cutting anything that feeds it.

To size the pieces, apply the responders' shares to the whole row. Five of 11 answers named a friend, so about 13 × 5/11, or 6, Direct customers came through a friend, about 6 through a podcast and 1 through Google.

That is $294, $294 and $49 of the $637. It is an estimate from responders and should be labeled one.

Now the double count. The table holds 8 friend answers and 8 podcast answers, and 10 of those 16 sit in the Direct row.

The other 6 belong to customers with a tracked click, such as the 2 organic-search buyers who named a podcast. They are already inside the tracker's 40, so adding the survey's 16 to its totals counts 6 sales twice.

Where each source goes wrong

SourceFailureWhere it shows in that month
TrackerNo signal from dark social or link-less audio10 of 13 Direct sales trace to a recommendation or an episode
TrackerThe closing click takes all the creditThe podcast earns $0 although 8 customers, $392 of MRR, name it
SurveyFaded memory: buyers may name the touch they remember best3 of 8 newsletter buyers never mention the newsletter they clicked
SurveyOne box for a path with several touchesThe day 1 to day 23 buyer has 3 touches and 1 answer
SurveyVague answers6 of 8 paid-search buyers wrote Google search
SurveyOnly responders count6 of 40 buyers, 15%, left the question blank

Touches that send no signal

A tracker logs only requests that reach a server you run.

Alexis Madrigal named the gap "dark social" in The Atlantic on October 12, 2012, listing email programs, instant messages and some mobile apps as sources that arrive with no referrer, so analytics tools file them under "direct" or "typed/bookmarked".

At The Atlantic those visits were 56.5% of its social traffic to individual stories, though that was 1 news publisher in 2012 and no SaaS benchmark.

Google defines Direct in the GA4 default channel group as a source of "(direct)" with a medium of "(not set)" or "(none)", a test that a link sent in an instant message passes.

Signals deleted in transit

WebKit's tracking prevention post says Intelligent Tracking Prevention deletes all of a website's script-writable storage after 7 days of Safari use without interaction on the site, and the Safari 17.0 notes add blocking for known tracking query parameters in links in Private Browsing.

A visitor a script recorded on day 6 who then stays away for 7 days of Safari use can pay on day 23 as a stranger. The Safari ITP guide and the post on stripped UTM parameters cover what survives.

Which source answers which decision

DecisionUseReason from that month
Raise or cut paid-search spendTracker75% of paid-search buyers (6 of 8) answered Google, so answers cannot isolate the ad
Sponsor a second podcast episodeSurveyA link-less mention earns $0 in the tracker, and 8 of 34 answers named a podcast
Pay an affiliate a commissionTrackerA payout needs an auditable click and charge
Decide whether word of mouth deserves a budgetSurvey10 of the 13 Direct sales trace to it
Report revenue by channel to financeTracker, plus an unattributed line$637 of $1,960 has no recorded click
Choose first touch, last touch or linearTrackerAll 3 models rework recorded touches only

How to add a how-did-you-hear question

Where to ask

Ask once, right after signup or when the account first does something useful. If signup is the payment, use the confirmation screen.

Stripe Checkout can hold the question too: its custom fields allow up to 3 fields and a dropdown of up to 200 options, and the answer arrives in the checkout.session.completed event.

How to word it

Use the customer's words. "How did you first hear about us?" works, and "What was your acquisition channel?" does not, because no customer thinks in channels.

Offer 6 to 8 options such as a friend or colleague, a podcast, YouTube, Google search, a newsletter, a review site and an ad, then Other with a text box.

Review the write-ins monthly and promote repeats to their own option. Keep it to 1 question, and ask role and goals on another screen.

Where to store the answer

Write it to the user record at signup and copy it to the Stripe customer's metadata, which per Stripe's docs takes 50 key-value pairs with keys up to 40 characters and values up to 500.

The answer then sits on the Stripe customer who paid, and a revenue-weighted comparison becomes a join. The Stripe metadata setup guide shows the same pattern for tracked sources.

Reconciling the two without double counting

Put both sources on one customer list and one date range. The survey's share of responders and the tracker's share of all customers describe different populations and rarely line up.

Take new paying customers in 1 month for both, then sort each one into 1 of 5 groups. The GA4 revenue-by-channel post explains why the tracked side leaves so much in Direct to begin with.

GroupCustomersWhat to do
Tracker and survey agree16: 5 organic and 6 paid-search buyers who answered Google, plus 5 newsletter buyersAct on it, since two independent records point the same way
Direct, with a friend or podcast named10Estimate the split from the responders' shares and label it an estimate
Tracked click, with an earlier friend or podcast named6Keep the tracker's credit and note the earlier influence without adding it
Any other mismatch2: a Direct buyer and a newsletter buyer, each of whom answered GoogleLook for a stripped referrer or a click the buyer forgot
No answer6Hold them in an unknown line and assign nothing

The 40 customers from the table above, sorted into 5 groups: 16 + 10 + 6 + 2 + 6 = 40.

What TrackRev does for this problem

TrackRev is SaaS affiliate software, and its built-in link tracking covers the tracked side.

It logs each click server-side at the tracking link, tags the visitor with a first-party cookie, follows the session with a one-line pixel, and joins each Stripe, Paddle Billing, Polar, Lemon Squeezy, Creem or Dodo Payments charge to that visitor by visitor ID or email.

Last touch is the default, with first-touch and linear computed from the same click log.

A charge with no matching visitor shows as Unmatched on the Orders page, and the dashboard flags the dollar total of sales not tied to a click. In the month above that is the $637 your survey has to explain.

TrackRev has no survey field, so keep the answers in your signup form, CRM or Stripe metadata.

The sale.created webhook carries the buyer's email, the credited channel and the visitor ID, with the channel and visitor ID null when no click was credited, so an endpoint of your own can write the tracked channel beside each answer.

Revenue by channel needs a paid plan, Indie at $29 a month or Growth at $299 a year. The free plan tracks 50 links and 1,000 events a month and hides revenue.

If nearly all your customers come by word of mouth, a survey and a spreadsheet will tell you more than any tracker. A team with no partner program may prefer a dedicated attribution tool.

Otherwise see the revenue attribution page and pricing.

Found this useful? Share it.

PostLinkedIn

Frequently asked questions

Muzahid Maruf — Founder of TrackRev.io

Written by

Muzahid Maruf

Founder, TrackRev.io & Contant.io

Muzahid Maruf founded TrackRev.io, SaaS affiliate software with no limit on tracked revenue, and Contant.io. He writes about affiliate programs.

Writes about Marketing attribution · Link tracking · Revenue analytics · SaaS growth

Stop guessing where your revenue comes from.

Set up TrackRev in about five minutes. The free plan covers 1,000 events a month, no card needed.

Start free