AAds for B2B SaaS Meet with an expert
Topic · B2B SaaS paid media

Conversion tracking and attribution for B2B SaaS ads

By tracking what happens in the CRM, not only what happens on the website. A B2B SaaS company should store an identifier with every lead and send qualified stages, such as sales-qualified lead (SQL), back to the ad platform. Without that loop, bidding optimizes for form fills. In a 2026 audit of 104 Google Ads accounts, 78% of form fills never became an SQL, and 91% of accounts had no click ID reaching the CRM.

The short answer

Store an identifier with each lead, then send qualified CRM stages back to the ad platform daily.

Key number

91% of audited Google Ads accounts had no click ID reaching the CRM before they were fixed.

Watch out for

Import windows. Google accepts a conversion up to 90 days after the click, or 63 with contact data.

First step

Submit a test lead from a real ad click and check that the CRM record carries the click ID.

How should a B2B SaaS company track ad conversions?

As a loop with four steps. An identifier comes in with the lead, sales qualifies it, the stage goes back out, and bidding learns from it.

Step What happens Where it lives
1. Capture The click ID or the lead's email is stored with the lead Website form and CRM
2. Qualify Sales marks the lead as qualified, an opportunity, or closed-won CRM
3. Send back The stage change is sent to the ad platform with the identifier Integration or upload
4. Learn Bidding favors clicks that look like the ones that qualified Ad platform

Google Ads Help puts the purpose this way: "By importing offline conversions, you can measure what happens in the offline world after your ad results in a click or call to your business." The method is called offline conversion tracking, because the sale happens off the website, in a system the ad platform cannot see.

Why is a form fill the wrong conversion?

Because most form fills are not buyers, and bidding cannot tell the difference. An account that counts every form fill as a conversion is paying its bidding system to find more of the same.

The 2026 audit shows the cost in three figures.

  • 78% of form fills never became an SQL. A conversion count built on form fills is mostly noise.
  • Smart Bidding trained on form fills caused 9% of all wasted spend. The strategy did its job on the wrong signal.
  • Performance Max cost $2,140 per SQL in accounts without offline conversions and $620 in accounts with them. Those are two groups of accounts, not a before and after.

The same audit ranks seven causes of waste, and five are measurement failures. They are set out on the wasted ad spend page.

What are the import limits on each ad platform?

Each platform sets its own identifier and its own deadline. The table collects the documented rules.

Platform Identifier Time limit Other documented rule
Google Ads, click ID import Google click ID (GCLID) 90 days after the click "Upload conversions at least daily"
Google Ads, enhanced conversions for leads Hashed email or phone 63 days after the click Google's recommended method
LinkedIn Ads Hashed email, with a click or lead ID where available Events from the last 90 days Sent through the Conversions API
Microsoft Ads Microsoft Click ID (MSCLKID) 90 days after the last click Wait two hours after creating a goal
Meta Ads 15 to 17 digit Meta Lead ID Stage within 28 days of the lead At least 200 leads a month for the Conversion Leads goal
ChatGPT ads ChatGPT click ID None stated in the pages read HubSpot's connection is marked beta

The LinkedIn limit is as described in HubSpot's documentation. One technical note for teams with custom Google uploads: Google Ads Help says that from June 15, 2026, these uploads move to the Data Manager API and are blocked in the Google Ads API.

The channel pages cover the rest of each setup: Google Ads, LinkedIn Ads, Microsoft Ads and Meta Ads.

Which CRM stages should be sent back?

Each stage as its own conversion action, with bidding pointed at one of them. Google's guidance is direct: "It's best practice to create a separate conversion action for each stage of the funnel," and "usually, you would only want to bid to one stage of the lead funnel."

A common B2B SaaS setup looks like this.

CRM stage Role in the ad platform Why
Form fill Secondary, for reporting Volume signal only
Marketing-qualified lead Primary in low-volume accounts Reaches bidding thresholds sooner
Sales-qualified lead Primary once volume allows Closest stage that still arrives in time
Opportunity Secondary, with a value Shows pipeline by campaign
Closed-won Secondary, with deal value Shows revenue by campaign

The stage to bid on is the deepest one that still has enough volume. Google's lead generation guidance for Performance Max asks for at least 15 conversions in the last 30 days at the chosen stage. Google uses primary conversion actions for bidding and treats secondary ones as observation only.

Why are the time limits a problem for long sales cycles?

Because many deals close after the import window has shut. The waste audit cites a median B2B SaaS sales cycle of 84 days. A median means half of deals take longer than that. A deal that closes more than 90 days after the click, or 63 days where contact data is the match key, cannot be imported at all.

That is the practical reason to send the SQL stage and not only revenue. An SQL is marked far sooner than a deal closes, so it has a much better chance of landing inside both windows. Closed-won still belongs in the import for reporting, for the deals that make it in time.

Uploads also need to be regular. Google asks for daily uploads and suggests waiting one or two conversion cycles before a new action is used for bidding. Conversions sent in monthly batches reach bidding too late to be useful.

How should revenue be attributed to ads?

By campaign, on cost per SQL first and revenue second. Cost per SQL is the metric that tracks pipeline most closely. In The Paid Ads Pipeline Disconnect in B2B SaaS (GrowthSpree, June 2026), a study of 1,412 ad variants, it correlated with pipeline at 0.71, against 0.23 for cost per lead and 0.09 for click-through rate.

Three platform facts shape the reporting.

  • Google Ads uses data-driven attribution by default, with last click as the alternative. Its default click-through conversion window is 30 days and can be set as long as 90.
  • LinkedIn's Revenue Attribution Report connects HubSpot, Salesforce or Microsoft Dynamics. LinkedIn describes it as an any-touch model, which counts a deal if the company was reached at all.
  • HubSpot's ads return figures need deals that are closed-won, associated with a contact and carrying a close date.

Once the loop is live, revenue can be traced. In the 2026 audit, the share of closed-won deals attributed to a campaign went from 0% to 67% across the accounts after the 90-day fix. The case for cost per SQL is in does CTR predict pipeline in B2B SaaS ads.

What are the common setup mistakes?

Five mistakes are worth checking for in any setup.

  1. The click ID is lost on the way. A redirect, a form tool or a cookie banner strips it before the form is submitted. Test with a real ad click and check the CRM record.
  2. Only one stage is sent. Sending closed-won alone gives too few conversions, too late.
  3. Bidding points at several stages at once. The same lead is counted two or three times and the targets stop meaning anything.
  4. Stages are sent with no values. Value-based bidding cannot tell an SQL from a closed deal.
  5. Uploads are irregular. Google asks for daily uploads.

The order of the wider repair is in how to reduce wasted ad spend in B2B SaaS Google Ads.

Frequently asked questions

Is offline conversion tracking the same as enhanced conversions?

Not quite. Offline conversion import is the general method of sending CRM outcomes to Google Ads. Enhanced conversions for leads is the newer version of it, which matches on hashed email or phone as well as the click ID. Google recommends the enhanced version for new setups.

What is a GCLID?

A GCLID is the Google click ID, a unique code that Google Ads adds to the landing page URL when someone clicks an ad. Stored with the lead in the CRM, it lets a later sale be matched to the exact click, keyword and campaign that produced it.

How many conversions does bidding need from the CRM?

Google's lead generation guidance for Performance Max asks for a conversion goal with at least 15 conversions in the last 30 days. Accounts below that level can bid on an earlier qualified stage, such as a marketing-qualified lead, and keep the later stages for reporting until volume grows.

Does offline conversion tracking need a developer?

Often not. HubSpot has built-in ad conversion events for Google, LinkedIn, Meta, Microsoft and ChatGPT. A developer helps when the website form does not pass the click ID through, or when the CRM is custom. The test is whether a real lead record shows the click ID.

Can small B2B SaaS accounts benefit from conversion tracking?

Yes, mainly for reporting at first. A small account may not reach bidding thresholds on SQLs, but it can still see cost per SQL by campaign and keyword. That alone shows where budget is producing pipeline and where it is producing form fills only.

How many conversion events can HubSpot send to ad platforms?

HubSpot's documentation sets a limit by plan: 5 ad conversion events on Marketing Hub Starter, 50 on Professional and 100 on Enterprise. Only stage changes that happen after an event is created are counted, so the events should be set up before a campaign launches.

Figures on this page come from published studies and platform documentation. Where the numbers come from

Talk your ad account through with a paid media expert

A free consultation. Bring your questions on spend, targeting or tracking and brainstorm the next step.

Meet with an expert →