A customer hears your name on a podcast on Tuesday. On Thursday they mention it to a colleague in Slack. Two weeks later they type your brand into a search bar on their work laptop, land on your pricing page, and buy. Your analytics records that sale as organic search, or worse, as direct traffic with no source at all. The podcast gets zero credit. The Slack message gets zero credit. The only thing that gets credit is the last click, which was the least interesting part of the whole journey.
This is not a tracking bug you can fix with better tooling. It is the shape of how people actually buy. Cookies expire. Browsers block cross-site tracking by default. People switch from phone to laptop mid-consideration. They paste your link into a group chat that strips query parameters. Every one of those moments erases a piece of the trail.
There is one method that survives all of it, and it costs nothing to implement: ask the customer. A single optional text field on your post-purchase page, reading something like "How did you hear about us?", will tell you things no pixel can reconstruct.
Why self-reported attribution catches what tracking misses
Tracking software measures clicks. Self-reported attribution measures memory. Those are different things, and the gap between them is where most of your marketing lives.
When someone writes "your thread about churn benchmarks" in that box, they are telling you which piece of content changed their mind. It might have been three weeks before they bought. They might have read it on a phone, forgotten your name, and rediscovered you through a search. No attribution model built on clicks would ever connect that thread to that payment. The customer connects it in one sentence.
It also catches the channels that never produce a click at all. Podcast mentions. Conference talks. Someone recommending you in a private community. Screenshots of your post shared without the link. These channels can be the most persuasive ones you have, and they are structurally invisible to every analytics tool ever built.
How to word the question so people answer it
The wording matters more than people expect. A dropdown with your own list of channels is easier to analyze and far less useful, because it constrains the answer to what you already suspect. You will never discover the podcast you did not know you were mentioned on if the only options are Twitter, Google, and Other.
Open text is the right default. It produces messier data and better insight. If you want some structure, offer a short list of obvious options plus a genuinely open field, and read the open field first.
- Ask after payment, never before. A field on your checkout page adds friction to the single moment where friction costs the most.
- Make it optional and say so. Response rates on optional post-purchase questions are usually decent because the customer is already in a good mood.
- Keep it to one question. Adding a second one roughly halves your completion rate.
- Use plain language. "How did you hear about us?" outperforms "What was your primary discovery channel?" every time.
- Do not autofill or pre-select anything. A pre-selected option becomes the most common answer regardless of truth.
Where to put the question
The best placement is the page immediately after checkout, while the customer is waiting for their account to provision or their download to start. They have already paid, they have a few seconds of idle attention, and answering costs them nothing.
The second-best placement is the welcome email, ideally as a one-line reply prompt rather than a form. "Quick question, purely for my own curiosity: where did you first come across us?" sent from a real address gets surprisingly good response rates for small businesses, and the answers come back with context attached.
A worse but common placement is the signup form, before payment. Every field you add to a signup form costs you conversions. Attribution data is not worth paying for with lost customers.
Reading the answers without fooling yourself
Self-reported data is directionally useful and numerically unreliable. Treat it that way and it will serve you well. Treat it as precise and it will mislead you badly.
People misremember. Someone who found you through a Google search after seeing a LinkedIn post will often write "Google" because that was the last thing they touched. Others write "a friend" when the friend actually sent them a link you could have tracked. Recency bias runs through the whole dataset.
The way to use it is to look for repeated proper nouns. If four people in a month write the name of the same newsletter, that newsletter matters, and the exact count does not. If nobody has ever mentioned Instagram despite you posting there daily, that is a signal worth investigating even if your Instagram analytics look healthy.
Tally the answers monthly. Group them loosely: word of mouth, a specific platform, a specific piece of content, search, or unclear. Then compare that distribution against what your click tracking says. The gaps between the two stories are the interesting part.
Pair it with tracking, do not replace tracking
These two methods fail in opposite directions, which is exactly why you want both. Click tracking is precise about the traffic it can see and blind to everything else. Self-reported attribution sees everything and is precise about nothing.
A workable setup for a small business looks like this: put a tracked link in every social post so the clicks you can capture are captured, connect your payment processor so revenue attaches to those clicks automatically, and run the "how did you hear about us?" box to catch the rest. This is roughly what seenpaid automates on the tracking side, joining post clicks to Stripe payments through a read-only connection so you get the hard numbers without a spreadsheet. The text box covers the part no software can.
When the two sources disagree, the disagreement is data. A platform that shows almost no tracked clicks but appears constantly in text answers is doing brand work rather than direct-response work. That is a real finding, and it should change how you judge that platform rather than causing you to cut it.
A concrete monthly routine
Set aside thirty minutes at the start of each month. Export the previous month of answers. Read every one, not just the summary. Note any proper noun that appears more than twice. Then open your tracked-link revenue report and note the top three sources by dollars.
You now have two lists. Anything on both lists is a channel you should be investing in more heavily. Anything on the text-answer list but not the tracking list is a channel you were probably undervaluing. Anything on the tracking list but never mentioned by a human is usually fine but worth a sanity check, since it can indicate low-intent clicks that convert badly.
Thirty minutes a month is not a data practice. It is a habit. But it is more attribution rigor than most small businesses ever apply, and it costs less than the annual bill for a single analytics seat.
The point
You will never achieve complete attribution, and chasing it is a good way to spend a year building dashboards instead of making sales. What you can do is cover more of reality than you do today, cheaply, using two methods that fail differently. Automate the click side so it runs without you. Ask the question on the other side and read the answers yourself. That combination will beat any single tool, including expensive ones.