August 24, 2026Analytics

Lead Attribution: Connecting Closed Deals to Campaigns

Two weeks ago I finished an audit for a B2B industrial-equipment company spending EUR 14,000 per month across Google Ads and LinkedIn. Their CRM showed 27 closed-won deals in the first half of 2026, worth EUR 623,000 total. Google Ads reported four conversions. LinkedIn reported zero. The marketing director was under pressure to cut paid spend entirely because the numbers said it was not working. It was working. The attribution was not.

The problem was structural, not technical. They tracked form submissions as conversions. Nothing else. No click IDs stored in the CRM, no lifecycle events sent back to ad platforms, no connection between the campaign that generated the lead and the deal that closed four months later. Twenty-three deals -- over EUR 500,000 in revenue -- were orphaned from the campaigns that sourced them.

This is what broken lead source tracking looks like in practice. Not a missing pixel. Not a wrong tag. A complete disconnect between the front of the funnel and the back.

What Lead Attribution Actually Means

Lead attribution is the process of connecting a closed deal (or a qualified pipeline stage) back to the marketing touchpoint that created the lead in the first place. It sounds simple. In B2B, it almost never is.

The core challenge: the conversion that matters -- a signed contract, a closed-won deal -- happens weeks or months after the marketing interaction, inside a CRM, on a phone call, or in a meeting room. The ad platform that generated the click has no visibility into any of that unless you deliberately build the bridge.

What most companies call "lead attribution" is actually lead capture attribution -- they know which channel produced the form fill. What they do not know is which channel produced the revenue. Those are very different questions, and conflating them leads to budget decisions that kill profitable campaigns.

Why Most Attribution Models Break in B2B

The gap between a lead and a closed deal is where attribution models fall apart. Here is why.

The time gap

B2B sales cycles routinely stretch to 60, 90, or 180 days. Google Ads accepts offline conversion uploads within 90 days of the click. If your cycle is longer, closed-won events fall outside that window entirely. I cover this constraint in detail in Marketing Measurement for Long B2B Sales Cycles.

The identity gap

A prospect clicks your ad on their phone, downloads a whitepaper on their laptop, and gets handed off to a colleague who books the demo on a work desktop. Without a shared identifier -- a GCLID stored in the CRM, a hashed email sent back to the ad platform -- those touchpoints belong to three different "users" in your analytics. Lead source attribution becomes guesswork.

Safari's Intelligent Tracking Prevention caps first-party JavaScript cookies at seven days. A prospect who clicks your ad on Monday and returns the following Wednesday on Safari may already look like a new visitor. The click ID is gone.

The system gap

Marketing lives in Google Ads, Meta, and GA4. Sales lives in Salesforce, HubSpot, or Pipedrive. These systems do not talk to each other by default. When they are "connected," the integration is often incomplete -- a GCLID field that exists on the Lead object but is not mapped to the Opportunity, a lifecycle sync that fires without attaching a deal value, a connector authenticated by an employee who left six months ago. I see these failures constantly in Salesforce and HubSpot integrations alike.

Building a Revenue Attribution Model That Reaches Closed Deals

A working closed-loop attribution model connects three things: the click, the lead, and the closed deal. Here is the architecture.

Step 1: Capture and store click identifiers

Every ad platform assigns a unique click ID -- Google uses the GCLID, Meta uses the fbclid. This identifier is the key that links everything downstream. You need to:

  1. Parse the click ID from the landing page URL on arrival.
  2. Store it in a first-party cookie (to survive page navigations and multi-step forms).
  3. Pass it into a hidden form field on submission.
  4. Map it to a custom field in your CRM contact or lead record.

If you skip any of these, the chain breaks at step one. Most broken lead generation attribution setups I audit fail right here -- the click ID either never reaches the CRM, or reaches it but is not preserved through lifecycle changes. I walk through the full mechanics in Google Ads Offline Conversion Tracking: Import CRM Deals.

Step 2: Preserve the identifier through the sales process

In CRMs with object-based data models -- Salesforce is the canonical example -- the click ID must survive Lead-to-Contact conversion and flow forward to the Opportunity record. This requires explicit field mapping. Salesforce does not carry custom fields forward automatically.

In HubSpot, the contact record persists through lifecycle stages, so the GCLID is less likely to vanish. But it still requires that the field was populated correctly at capture and that deal records are associated with the right contact.

Step 3: Send conversion events back to ad platforms

When a lead reaches a meaningful pipeline stage -- MQL, SQL, opportunity created, closed-won -- send that event back to the ad platform with the original click ID and a revenue value.

Pipeline StageWhen to SendSuggested ValueGoogle Ads Action Type
MQLLead qualifies10-15% of avg dealSecondary
SQLSales accepts25% of avg dealSecondary
OpportunityDeal in pipeline50% of avg dealPrimary
Closed-WonDeal signedActual deal valuePrimary

Sending only closed-won deals is not enough. If your cycle exceeds 30 days, the algorithm needs earlier signals to learn. Mark downstream stages (opportunity and closed-won) as Primary for Smart Bidding. Keep early stages as Secondary for reporting without confusing the bidding algorithm. This is the same principle behind value-based bidding -- give the algorithm value variance so it can separate the clicks that produce EUR 8,000 deals from those that produce EUR 120,000 deals.

Step 4: Layer enhanced conversions as a backup

Click IDs expire and cookies get cleared. Enhanced conversions for leads let you send a hashed email address alongside the click ID, giving Google a second matching path. Across the B2B accounts I have audited over the past two years, adding hashed email typically improves the offline conversion match rate by 30 to 60 percent. It is the single most cost-effective improvement to any lead-to-revenue tracking setup.

Choosing the Right Attribution Model

Not every company needs the same approach. The right revenue attribution model depends on your channel mix, sales cycle, and data maturity.

Single-touch (last-touch or first-touch): Credits one touchpoint. Your CRM probably does this by default -- it stores the last UTM parameters from the form submission and calls that "the source." Simple, but misleading when prospects interact with your brand multiple times before converting. I break down when each model makes sense in Marketing Attribution Models Explained.

Multi-touch: Distributes credit across multiple interactions. More accurate for complex B2B journeys, but requires reliable identity stitching across sessions and devices. GA4 offers a data-driven attribution model that uses machine learning to assign credit, but Google recommends a minimum volume of conversions for it to work reliably -- in practice, if your property has fewer than 300 conversions per month, I find the model does not have enough signal to differentiate meaningfully. For accounts with access to Google Ads Data Hub, you can run your own path-analysis queries on the raw click-stream data, but that requires BigQuery expertise and is typically only justified at higher spend levels.

Blended / triangulated: Combines CRM-based lead source attribution with analytics-based multi-touch data and periodic incrementality tests. This is what I recommend for most B2B companies spending EUR 10,000 or more per month on paid media. No single lens gives you the full picture, but three lenses pointing in the same direction give you enough confidence to move budget.

If you are not sure which approach fits your setup, or your current attribution is producing numbers nobody trusts, that is exactly the kind of problem I help teams solve.

The Five Failures I Find Most Often

After auditing lead source tracking setups across dozens of B2B accounts, these are the patterns that repeat.

1. Click IDs not reaching the CRM. The most common and most damaging failure. Without a GCLID or fbclid stored on the lead record, there is no way to close the loop. Check a sample of recent leads sourced from paid campaigns -- if the click ID field is empty, nothing downstream works.

2. UTM parameters inconsistent or missing. UTMs are your fallback for lead source attribution when click IDs fail. But if your naming conventions are inconsistent -- "google-cpc" in one campaign and "google_cpc" in another -- your reports fragment. I cover the fix in Google Analytics UTM Parameters: Naming Conventions.

3. No conversion values sent back. Sending lifecycle events without revenue values means Smart Bidding treats every lead as equal. A EUR 5,000 deal and a EUR 200,000 deal look the same to the algorithm. This is the fastest way to attract volume without quality.

4. Single-stage attribution only. Companies that send only closed-won deals back to Google Ads and nothing else. If your cycle is 90 days, those events arrive at the edge of the upload window -- or beyond it. Earlier signals (MQL, SQL) give the algorithm faster feedback.

5. Phone leads invisible. In many of the B2B accounts I audit, phone leads account for a third to half of qualified pipeline. If you are not using call tracking to connect phone calls to the campaign and keyword that triggered them, you are flying blind on a significant portion of your lead source data.

Validating Your Attribution Pipeline End-to-End

Do not trust the setup until you have tested it with a real interaction.

  1. Click a live ad (or use ad preview mode).
  2. Submit the form on the landing page.
  3. Open the lead record in your CRM. Confirm the GCLID (or fbclid) and UTM parameters are present.
  4. Progress the lead through each pipeline stage you are tracking (MQL, SQL, opportunity, closed-won).
  5. Wait for the sync cycle or trigger the automation.
  6. Check Goals > Conversions > Diagnostics in Google Ads. Confirm the conversions appear, are matched, and carry the correct values.

If any step fails, you have found the break. Fix it before trusting the data. A healthy pipeline matches above 80 percent of uploaded rows. Below 60 percent typically means click IDs are expiring before upload or formatting issues are silently rejecting records.

FAQ

What is lead attribution?

Lead attribution is the process of connecting a closed deal or qualified pipeline stage back to the marketing campaign, channel, or touchpoint that originally generated the lead. It goes beyond tracking form submissions by linking downstream revenue to upstream marketing activity.

How is closed-loop attribution different from standard conversion tracking?

Standard conversion tracking measures actions on your website like form fills or page views. Closed-loop attribution extends that measurement into your CRM, connecting the original ad click to the deal that closed weeks or months later. It requires storing click identifiers in the CRM and sending conversion events back to the ad platform when deals progress.

Which CRMs support revenue attribution with Google Ads?

Salesforce and HubSpot both offer native integrations with Google Ads for offline conversion import. Pipedrive, Zoho, and other CRMs can connect through middleware tools like Zapier or Make, or through direct API uploads. The key requirement is that your CRM stores the GCLID on the lead or contact record.

How long does the GCLID last for offline conversion uploads?

Google Ads accepts offline conversion uploads within 90 days of the original click. If your sales cycle is longer than 90 days, you need to send intermediate pipeline stages like MQL or SQL as conversion events so the data reaches Google before the window closes.

Do I need multi-touch attribution for lead attribution to work?

No. You can start with single-touch lead source tracking by storing the first or last click identifier and UTM parameters in your CRM. Multi-touch attribution adds value when your prospect journeys involve many channels and touchpoints, but the foundational step is simply closing the loop between your CRM and your ad platforms.

Not sure your attribution is connecting deals to the campaigns that created them? Start with a measurement audit or get in touch -- I will trace the data from ad click to closed deal and show you exactly where the chain breaks.

Ready to fix your marketing measurement?

Take assessment →