CORNERSTONE · 9 min read

The Attribution Gap: Why You Can’t Tell Which Marketing Actually Drives Revenue

A field guide for $5M–$40M B2B companies — the five places attribution data dies, and how to build the system that connects a first click to closed revenue.

Here is a question almost no owner of a $5M–$40M business can answer without checking: which marketing channel is behind your last five closed deals? Not your last five leads. Your last five deals that turned into revenue, and the ad or referral or search or conference conversation that started each one.

Most companies can’t answer it, and it isn’t because they’re careless. It’s a specific, invisible break in how their systems pass information along, and we call it the attribution gap. The data that would answer the question exists. It rides along on every click. It just gets thrown away at a predictable set of points before it ever reaches the deal.

— data lost —
first clickformCRMpipelineclosed-won
The thread snaps at the form — everything downstream flies blind.

Why the gap is expensive

When you can’t connect marketing to revenue, three things go wrong at once. You keep funding channels that generate leads but not deals, and you starve the channels that produce your best customers, because leads are visible and revenue-by-channel is not. Your sales team works every lead as if it arrived from nowhere. Your marketing team optimizes toward form fills, the only outcome it can see, instead of toward closed revenue.

A session can be perfectly attributed to a campaign in Google Analytics while the CRM record for that exact same lead shows zero channel information. That is not a reporting problem. It is a handoff problem. The data exists and is simply never carried forward.

The clearest way to see it: the channel producing the most leads is usually not the channel producing the most revenue. Hover each channel below.

What you see today: Leads
What actually pays: Revenue
The channel making the most leads often makes the least revenue. Hover a channel to see its two ranks.

The five places attribution data dies

1. The CRM has nowhere to put it

The lead and contact records simply have no fields for source information. There’s nowhere for the channel data to land, so even when a form captures it, it evaporates on the way in.

2. The landing page or form strips it

Source information travels in the URL as query-string parameters. Many landing-page builders and redirect services drop those parameters as the visitor moves between pages, so the form has nothing left to capture.

3. The opportunity doesn’t inherit from the lead

This is the most commonly broken step, and the most damaging, because it breaks late. Even when the lead captures the source, that data doesn’t automatically travel to the deal. In HubSpot the fields have to be surfaced on the deal deliberately. In Salesforce, lead-conversion mapping has to be configured for each field or the data is lost at conversion.

4. There’s no first-touch vs. last-touch distinction

First touch tells you which channels build pipeline. Last touch tells you which ones close it. They’re frequently different channels, and you need both. Capture only one and you can’t tell what starts relationships from what finishes them.

5. Nothing captures the invisible channels

Word of mouth, a podcast mention, a peer recommendation: no script can see any of these, and they’re often behind your best deals. Without a deliberate way to capture them, they show up as “direct” or blank.

Two layers of tracking, and why you need both

GCLID, for paid-search optimization

A Google Click ID lets Google optimize bidding toward clicks that become revenue. But GCLIDs expire after 90 days, so for any sales cycle longer than three months, the link breaks before the deal closes. Excellent for paid search, insufficient on its own.

Source/medium, for the full funnel

Five channel-level fields captured as CRM data never expire. Stored on the contact and carried to the deal, they persist from first touch to closed-won regardless of cycle length, and they cover every channel rather than paid search alone: utm_source, utm_medium, utm_campaign, utm_content, and utm_term, each captured at both first and last touch.

What “fixed” actually looks like

The end state is a closed-deal attribution table. Every won opportunity shows its originating channel, its first- and last-touch source and medium, and, for paid deals, the campaign and keyword. A CFO can finally see which channels generate revenue rather than leads.

A realistic expectation: with the full architecture in place, roughly 65–80% of CRM leads carry source data, and you can expect to trace 25–40% of closed revenue to a specific channel. For most businesses, that is a jump from starting at almost nothing.

Frequently asked questions

Isn’t this what Google Analytics is for?
Google Analytics attributes website sessions, and it lives separately from your CRM. It tells you about traffic; only the CRM can tell you about revenue. The break is in the handoff between the two.
We have a CRM — doesn’t it do this automatically?
Almost never out of the box. The fields, form mapping, lead-to-opportunity inheritance, and first/last-touch logic all have to be built deliberately.
Our sales cycle is long. Does that change things?
It makes the source/medium layer essential and GCLID insufficient on its own, because GCLIDs expire at 90 days while CRM-field attribution persists for any cycle length.

See where your revenue is leaking

The Rapid Alignment Audit maps exactly where your marketing-to-sales handoff breaks — and hands you a prioritized fix you keep either way.

Book the Audit →