Web Marketing Measurement
Purpose
Read marketing and conversion data without lying to yourself. Most bad marketing decisions are not
failures of strategy — they are confident conclusions drawn from data that could not support them.
This skill is about knowing which conclusions the data can actually carry.
When to use this skill
- Reading a traffic, channel, or conversion report.
- Asked "which channel is working" or "where should we spend."
- Interpreting a conversion-rate change, a campaign result, or a traffic spike.
- Analyzing analytics exports from Google Analytics, Wix, Shopify, or similar.
- Sanity-checking a marketing claim, a dashboard, or an agency's report.
"Direct" is not a channel
Analytics shows a row called Direct. It is not a traffic source — it is the bucket for every visit
whose origin was lost. A visit lands there when the referrer is missing, which happens when a link
is shared in a messenger or DM ("dark social"), opened from a native app, an email client, or a PDF,
pasted into a note or a ticket, stripped by a privacy setting — or, sometimes, genuinely typed from
memory.
This is measured, not assumed. A SparkToro controlled experiment (16 tracking URLs, 11 networks,
~100 participants, 1,113 visits) found how much referrer data each network destroys:
| Source |
Visits arriving with no referrer, logged as Direct |
| TikTok, Slack, Discord, Mastodon, WhatsApp |
100% |
| Facebook Messenger |
75% |
| Instagram DMs |
30% |
| LinkedIn public posts |
14% |
| Pinterest |
12% |
A link shared on TikTok or WhatsApp arrives indistinguishable from someone typing your URL from
memory. That is the whole problem in one sentence.
But do not over-claim in the other direction either. That study measures what each network
loses. It does not tell you what share of your Direct is dark social — nobody has measured that
for your site. So the defensible statement is "traffic from these networks is systematically misfiled
as Direct," never "N% of your Direct is dark social." See ./references/sources.md.
The invalid inference to refuse, out loud: "Direct is our biggest channel, so we have strong
brand recognition." Direct conflates people who typed your URL from memory (real brand strength)
with people who clicked a link a friend sent them (someone else's referral, invisible to you). Those
are opposite conclusions about the business, and analytics cannot distinguish them. Anyone reasoning
from the size of Direct is reasoning from a bucket labelled "unknown."
The corollaries:
- Never rank channels by volume when Direct is one of the rows. It is not like-for-like.
- A Direct spike is an unexplained event, not an achievement. Something happened somewhere you
cannot see. Go find out what; do not book it as a win.
- Under-crediting is systematic, not random. Word-of-mouth and social sharing are the channels
most likely to be misfiled as Direct, so they are the channels most likely to be underfunded by a
team that trusts its dashboard.
Recovering attribution you cannot track
Since the data cannot be repaired after the fact, collect it at the point of conversion.
- Self-reported attribution is the primary tool. A "How did you hear about us?" field on the
checkout, signup, or lead form. It is crude, it is biased by recall, and it is still the most
reliable signal you have about the channels analytics cannot see. Use a short list of options plus
a free-text box.
- Use UTM parameters on every link you control so at least your own campaigns are not misfiled.
You cannot tag a link someone else shares, which is exactly the point.
- Triangulate rather than attribute. Compare self-reported answers against the analytics channel
mix. Where they disagree, the disagreement is the finding.
- State the uncertainty in the report. "We cannot attribute roughly N% of conversions" is a
finding, not a failure. Hiding it to produce a clean pie chart is the failure.
Is it signal, or is it noise?
The most common analytical error in small-business marketing data is drawing conclusions from too
few events. Apply these checks before recommending an action.
- Count the conversions, not the visitors. A report can have thousands of sessions and still be
built on a few hundred conversions. The conversions are the sample.
- Watch for zero-inflation. If most days have zero conversions, day-of-week and hour-of-day
patterns are almost certainly noise. "Tuesdays convert best" drawn from a few hundred conversions
across six months, where three quarters of days had none, is an artefact.
- A handful of months cannot separate a trend from seasonality. A declining conversion rate over
six months that includes a holiday period is not evidence of decline.
- Rate changes hide their denominators. Conversion rate can fall while conversions rise, simply
because top-of-funnel traffic grew and brought in browsers rather than buyers. That is often
success, misread as failure. Always look at numerator and denominator separately.
- A spike aligned with a post is correlation. It is worth investigating, and it is not proof —
especially with one observation per campaign.
The rule: before recommending an action based on a difference, ask what else would have to be
true for the difference to be chance. If you cannot rule chance out, say the data is not yet
conclusive and state what would make it so — usually more time or more events.
Zero-click and platform reality
Platforms suppress outbound links to keep users on-platform, and answer surfaces increasingly satisfy
the need without a visit. SparkToro reports that roughly 60% of Google searches end without a
click, with a further ~30% of clicks going to Google-owned properties, and that a third to a half
of users run an ad blocker that prevents tracking outright. Cite those as "SparkToro reports" —
they come from an interested party (see ./references/sources.md), unlike the dark-social experiment
above, which is a controlled study.
Two consequences worth stating to a stakeholder:
- Click-through is a shrinking and biased measure of reach. Impressions and engagement on the
platform may be doing work that never appears in your analytics.
- That is not permission to stop measuring. It is a reason to measure differently — self-reported
attribution, branded-search volume, and direct business outcomes — rather than to accept
unfalsifiable claims about "brand awareness."
For how AI answer surfaces specifically distort search metrics, use
.agents/skills/ref-sp-web-seo-ai/SKILL.md. For whether the link suppression is real and whether a
brand should be on a platform at all — the strategy side, kept separate from this measurement side —
use .agents/skills/ref-sp-web-social-media/SKILL.md.
Defaults
- Report the limits with the result, in the same breath. A finding whose caveats are in an
appendix will be quoted without them.
- Prefer a boring true statement to an interesting false one. "Direct is 40% and we do not know
what it is" beats a confident channel attribution.
- Separate what happened from why it happened. Analytics is good at the first and mostly
incapable of the second.
- When asked where to spend, say what the data can and cannot justify. Sometimes the honest
recommendation is to instrument first and decide next quarter.
Gotchas
- Bot and internal traffic inflate everything if unfiltered. Check before analyzing.
- "Unique visitors" is platform-specific and often wrong. Cookie-based counts fragment one person
across devices and browsers. Do not treat the number as a person count.
- Attribution windows silently determine the answer. Last-click will credit the channel that
closed; first-click will credit the one that introduced. Neither is true; both are conventions. Say
which one produced the number.
- An analysis that only covers part of the funnel cannot rank channels end-to-end. If you have
visits and purchases but nothing between, you cannot say where people dropped.
- The industry-average benchmark is a trap. "Our 5% conversion rate matches the industry average"
compares your business to an aggregate of businesses that are not yours. It justifies nothing.
References
./references/sources.md — provenance by section: the SparkToro dark-social experiment and its
numbers, the zero-click figures and why they carry a vendor caveat, and the analytics channel
definitions. Read it before quoting any percentage.
.agents/skills/ref-sp-web-seo-ai/SKILL.md — how AI answer surfaces distort search metrics.
.agents/skills/ref-sp-web-social-media/SKILL.md — organic discovery and reach on social/video
platforms; the strategy counterpart to this measurement skill.
.agents/skills/ref-sp-web-seo/SKILL.md — the claim-tiering rule this skill also applies.
Validation
Before delivering a marketing analysis:
- The size of Direct is reported as unknown-origin, never as brand strength.
- The conversion count (not the visitor count) is stated, and any sparsity is flagged.
- Seasonality and window length are addressed explicitly.
- Every recommendation names the evidence that supports it and the uncertainty that remains.
- Anything the data cannot answer is listed as such, with what it would take to answer it.
1---2name: ref-sp-web-marketing3description: Measure web marketing honestly: why 'Direct' is a bucket of lost origins rather than a channel, how dark social destroys referrer data, when a conversion difference is noise rather than signal, and how to recover attribution you cannot track. Use when: reading a traffic, channel, or conversion report; asked which channel is working or where to spend budget; asked why Direct traffic is so high; interpreting a conversion-rate change, a campaign result, or a traffic spike; setting up UTM tags or self-reported attribution; analyzing analytics from Google Analytics, Wix, Shopify, or similar; or judging whether a marketing claim is supported by the data behind it.4license: MIT5---67# Web Marketing Measurement89## Purpose1011Read marketing and conversion data without lying to yourself. Most bad marketing decisions are not12failures of strategy — they are confident conclusions drawn from data that could not support them.13This skill is about knowing which conclusions the data can actually carry.1415## When to use this skill1617- Reading a traffic, channel, or conversion report.18- Asked "which channel is working" or "where should we spend."19- Interpreting a conversion-rate change, a campaign result, or a traffic spike.20- Analyzing analytics exports from Google Analytics, Wix, Shopify, or similar.21- Sanity-checking a marketing claim, a dashboard, or an agency's report.2223## "Direct" is not a channel2425Analytics shows a row called Direct. It is not a traffic source — it is the bucket for every visit26whose origin was **lost**. A visit lands there when the referrer is missing, which happens when a link27is shared in a messenger or DM ("dark social"), opened from a native app, an email client, or a PDF,28pasted into a note or a ticket, stripped by a privacy setting — or, sometimes, genuinely typed from29memory.3031**This is measured, not assumed.** A SparkToro controlled experiment (16 tracking URLs, 11 networks,32~100 participants, 1,113 visits) found how much referrer data each network destroys:3334| Source | Visits arriving with no referrer, logged as Direct |35| --- | --- |36| TikTok, Slack, Discord, Mastodon, WhatsApp | **100%** |37| Facebook Messenger | 75% |38| Instagram DMs | 30% |39| LinkedIn public posts | 14% |40| Pinterest | 12% |4142A link shared on TikTok or WhatsApp arrives *indistinguishable from someone typing your URL from43memory.* That is the whole problem in one sentence.4445**But do not over-claim in the other direction either.** That study measures what each *network*46loses. It does **not** tell you what share of *your* Direct is dark social — nobody has measured that47for your site. So the defensible statement is "traffic from these networks is systematically misfiled48as Direct," never "N% of your Direct is dark social." See `./references/sources.md`.4950**The invalid inference to refuse, out loud:** *"Direct is our biggest channel, so we have strong51brand recognition."* Direct conflates people who typed your URL from memory (real brand strength)52with people who clicked a link a friend sent them (someone else's referral, invisible to you). Those53are opposite conclusions about the business, and analytics cannot distinguish them. Anyone reasoning54from the size of Direct is reasoning from a bucket labelled "unknown."5556The corollaries:5758- **Never rank channels by volume when Direct is one of the rows.** It is not like-for-like.59- **A Direct spike is an unexplained event, not an achievement.** Something happened somewhere you60 cannot see. Go find out what; do not book it as a win.61- **Under-crediting is systematic, not random.** Word-of-mouth and social sharing are the channels62 most likely to be misfiled as Direct, so they are the channels most likely to be underfunded by a63 team that trusts its dashboard.6465## Recovering attribution you cannot track6667Since the data cannot be repaired after the fact, collect it at the point of conversion.6869- **Self-reported attribution is the primary tool.** A "How did you hear about us?" field on the70 checkout, signup, or lead form. It is crude, it is biased by recall, and it is *still* the most71 reliable signal you have about the channels analytics cannot see. Use a short list of options plus72 a free-text box.73- **Use UTM parameters on every link you control** so at least your own campaigns are not misfiled.74 You cannot tag a link someone else shares, which is exactly the point.75- **Triangulate rather than attribute.** Compare self-reported answers against the analytics channel76 mix. Where they disagree, the disagreement is the finding.77- **State the uncertainty in the report.** "We cannot attribute roughly N% of conversions" is a78 finding, not a failure. Hiding it to produce a clean pie chart is the failure.7980## Is it signal, or is it noise?8182The most common analytical error in small-business marketing data is drawing conclusions from too83few events. Apply these checks before recommending an action.8485- **Count the conversions, not the visitors.** A report can have thousands of sessions and still be86 built on a few hundred conversions. The conversions are the sample.87- **Watch for zero-inflation.** If most days have zero conversions, day-of-week and hour-of-day88 patterns are almost certainly noise. "Tuesdays convert best" drawn from a few hundred conversions89 across six months, where three quarters of days had none, is an artefact.90- **A handful of months cannot separate a trend from seasonality.** A declining conversion rate over91 six months that includes a holiday period is not evidence of decline.92- **Rate changes hide their denominators.** Conversion rate can fall while conversions rise, simply93 because top-of-funnel traffic grew and brought in browsers rather than buyers. That is often94 *success*, misread as failure. Always look at numerator and denominator separately.95- **A spike aligned with a post is correlation.** It is worth investigating, and it is not proof —96 especially with one observation per campaign.9798**The rule:** before recommending an action based on a difference, ask what else would have to be99true for the difference to be chance. If you cannot rule chance out, say the data is not yet100conclusive and state what would make it so — usually more time or more events.101102## Zero-click and platform reality103104Platforms suppress outbound links to keep users on-platform, and answer surfaces increasingly satisfy105the need without a visit. SparkToro reports that roughly **60% of Google searches end without a106click**, with a further ~30% of clicks going to Google-owned properties, and that **a third to a half107of users run an ad blocker** that prevents tracking outright. Cite those as *"SparkToro reports"* —108they come from an interested party (see `./references/sources.md`), unlike the dark-social experiment109above, which is a controlled study.110111Two consequences worth stating to a stakeholder:112113- **Click-through is a shrinking and biased measure of reach.** Impressions and engagement on the114 platform may be doing work that never appears in your analytics.115- **That is not permission to stop measuring.** It is a reason to measure differently — self-reported116 attribution, branded-search volume, and direct business outcomes — rather than to accept117 unfalsifiable claims about "brand awareness."118119For how AI answer surfaces specifically distort search metrics, use120`.agents/skills/ref-sp-web-seo-ai/SKILL.md`. For whether the link suppression is real and whether a121brand should be on a platform at all — the strategy side, kept separate from this measurement side —122use `.agents/skills/ref-sp-web-social-media/SKILL.md`.123124## Defaults125126- **Report the limits with the result, in the same breath.** A finding whose caveats are in an127 appendix will be quoted without them.128- **Prefer a boring true statement to an interesting false one.** "Direct is 40% and we do not know129 what it is" beats a confident channel attribution.130- **Separate what happened from why it happened.** Analytics is good at the first and mostly131 incapable of the second.132- **When asked where to spend, say what the data can and cannot justify.** Sometimes the honest133 recommendation is to instrument first and decide next quarter.134135## Gotchas136137- **Bot and internal traffic inflate everything** if unfiltered. Check before analyzing.138- **"Unique visitors" is platform-specific and often wrong.** Cookie-based counts fragment one person139 across devices and browsers. Do not treat the number as a person count.140- **Attribution windows silently determine the answer.** Last-click will credit the channel that141 closed; first-click will credit the one that introduced. Neither is true; both are conventions. Say142 which one produced the number.143- **An analysis that only covers part of the funnel cannot rank channels end-to-end.** If you have144 visits and purchases but nothing between, you cannot say where people dropped.145- **The industry-average benchmark is a trap.** "Our 5% conversion rate matches the industry average"146 compares your business to an aggregate of businesses that are not yours. It justifies nothing.147148## References149150- `./references/sources.md` — provenance by section: the SparkToro dark-social experiment and its151 numbers, the zero-click figures and why they carry a vendor caveat, and the analytics channel152 definitions. Read it before quoting any percentage.153- `.agents/skills/ref-sp-web-seo-ai/SKILL.md` — how AI answer surfaces distort search metrics.154- `.agents/skills/ref-sp-web-social-media/SKILL.md` — organic discovery and reach on social/video155 platforms; the strategy counterpart to this measurement skill.156- `.agents/skills/ref-sp-web-seo/SKILL.md` — the claim-tiering rule this skill also applies.157158## Validation159160Before delivering a marketing analysis:161162- The size of Direct is reported as unknown-origin, never as brand strength.163- The conversion count (not the visitor count) is stated, and any sparsity is flagged.164- Seasonality and window length are addressed explicitly.165- Every recommendation names the evidence that supports it and the uncertainty that remains.166- Anything the data cannot answer is listed as such, with what it would take to answer it.