RORevOps for B2B SaaS Meet with an expert
Guide

How to send CRM stages to ad platforms in B2B SaaS

Key takeaways
  • Store a click ID or email with every lead, create one conversion per CRM stage and bid on one stage only.
  • Google Ads accepts imports up to 90 days after the click with a click ID, or 63 days with contact data alone.
  • In a 2026 audit of 104 Google Ads accounts, 91% had no click ID reaching the CRM before the fix.
  • HubSpot can sync lifecycle stage changes as ad conversion events, but only changes after the event is created count.

In five steps: capture an identifier with every lead, create one conversion action per CRM stage, connect the CRM to each ad platform, send stage changes at least daily, and point bidding at one stage. The identifier is usually the ad click ID, with hashed email as a backup. In a 2026 audit of 104 Google Ads accounts, 91% had no click ID reaching the CRM, so step one is where most setups fail.

The audit figures come from The 2026 B2B SaaS Google Ads Waste Report (GrowthSpree, June 2026). Platform rules come from Google Ads Help, HubSpot's knowledge base, LinkedIn's Marketing API documentation, Microsoft Advertising Help and Meta for Developers, all listed under Sources.

How should a B2B SaaS company send CRM stages to ad platforms?

The process is the same on every platform, with different names for each part.

Step What to do Check that it worked
1. Capture Save the click ID and email on every lead record A test lead from a real ad click shows the click ID in the CRM
2. Define Create one conversion action per stage in each ad platform Each stage appears as its own conversion
3. Connect Link the CRM to the ad platform, through a native integration or upload A test stage change appears in the platform
4. Send Upload stage changes at least daily The platform shows a steady flow, not monthly spikes
5. Bid Set one stage as primary for bidding, keep the rest secondary Only one conversion action is in the bidding column

The rest of this guide covers each step and the rules that differ by platform.

Why send CRM stages at all?

Because the ad platform cannot see what happens after the form. Without CRM data it treats every form fill as a success, and bidding goes looking for more people like the ones who filled in the form.

In the 2026 audit, 78% of form fills never became a sales-qualified lead (SQL). The audit also compared Performance Max campaigns in accounts with and without offline conversions. Cost per SQL was $2,140 without them and $620 with them. Those are two groups of accounts, not one account before and after, but the gap is large.

Step 1: How should the identifier be captured?

With a hidden field on every form that stores the click ID from the landing page URL, plus the email the lead types in. Each platform adds its own click ID to the URL.

Platform Click ID Backup identifier
Google Ads GCLID Hashed email or phone, through enhanced conversions for leads
Microsoft Ads MSCLKID, added by auto-tagging None stated in the pages read
LinkedIn Ads Not detailed in the pages read Hashed email, through the Conversions API
Meta Ads Meta Lead ID, 15 to 17 digits, for Lead Ads None stated in the pages read

The common failure points are redirects, form tools that drop URL parameters and cookie banners that block the script that stores the ID. The only reliable check is a real one: click a live ad, submit the form and look at the CRM record.

Step 2: Which conversion actions should be created?

One per CRM stage, each with a value where possible. Google's guidance says "It's best practice to create a separate conversion action for each stage of the funnel."

CRM stage Conversion role Value
Marketing-qualified lead (MQL) Primary while SQL volume is low A small fixed value
Sales-qualified lead (SQL) Primary once volume allows A larger fixed value
Opportunity Secondary Expected deal value
Closed-won Secondary Actual deal value

Google uses primary conversion actions for bidding and treats secondary ones as observation only. The funnel definitions behind each stage are covered in MQL vs SQL in B2B SaaS.

Step 3: How should the CRM be connected?

Through a native integration if the CRM has one, otherwise through scheduled uploads. HubSpot can create ad conversion events from lifecycle stage changes and sync them to Google, LinkedIn, Meta, Microsoft and ChatGPT ads.

HubSpot's documentation sets three rules for this.

  • Event limits by plan. 5 ad conversion events on Marketing Hub Starter, 50 on Professional and 100 on Enterprise.
  • Only new changes count. Stage changes that happened before the event was created are not sent, so events should be set up before a campaign launches.
  • Google matching. The Google version uses enhanced conversions for leads, so each contact needs a Google click ID value or shared contact data.

Teams with custom uploads to Google should note one change: 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.

Step 4: How often should stages be sent, and how late?

At least daily, inside each platform's window. Google asks advertisers to "upload conversions at least daily." Monthly batches arrive too late for bidding to learn from them.

Platform Import window Other documented rule
Google Ads, click ID 90 days after the click Daily uploads for one to two conversion cycles before using for bidding
Google Ads, contact data 63 days after the click Google's recommended upgrade; keep sending the click ID too
LinkedIn Ads Events from the last 90 days, per HubSpot's documentation Sent through the Conversions API
Microsoft Ads 90 days after the last click Wait two hours after creating a goal
Meta Ads Stage within 28 days of the lead At least 200 leads a month for the Conversion Leads goal

The windows matter for long sales. The waste audit cites a median B2B SaaS sales cycle of 84 days, so many deals close after the window has shut. That is the main reason to send SQLs and opportunities, not closed-won alone.

Step 5: Which stage should bidding use?

The deepest stage that still has enough volume. Google's guidance is that "usually, you would only want to bid to one stage of the lead funnel," and its lead generation guidance for Performance Max asks for a goal with at least 15 conversions in the last 30 days.

Volume decides the move. An account with 40 SQLs a month can bid on SQLs. An account with 8 should bid on MQLs and keep SQLs as a secondary conversion until volume grows. Both are invented examples to show the rule, not figures from a study.

New conversion actions need time. Google suggests running daily uploads for one to two conversion cycles before a new action is used for bidding.

What are the common mistakes?

Five mistakes cover most broken setups.

  1. The click ID never reaches the CRM. In the audit, this was true of 91% of accounts.
  2. Only closed-won is sent. Too few conversions arrive, and many arrive after the window.
  3. Several stages are primary at once. One lead is counted two or three times and targets stop meaning anything.
  4. Stages carry no value. Value-based bidding cannot tell an MQL from a closed deal.
  5. Uploads are irregular. Bidding learns from stale data.

Once the loop works, reporting changes as well. In the audit, the share of closed-won deals attributed to a campaign rose from 0% to 67% after the 90-day fix. How that credit is then split across channels is covered on the attribution page and in HubSpot attribution models compared.

FAQ

Does sending CRM stages to Google Ads need a developer?

Not always. HubSpot and other CRMs have native integrations that send lifecycle stage changes as conversions. A developer is needed when the website form does not store the click ID, when the CRM is custom, or when uploads run through the Google Ads API, which Google says moves to the Data Manager API from June 15, 2026.

What is enhanced conversions for leads?

Enhanced conversions for leads is Google's recommended way to import CRM outcomes. It matches conversions on hashed email or phone as well as the click ID, which helps when the click ID is missing. Google accepts these imports up to 63 days after the click.

Can the same lead be sent as an MQL and an SQL?

Yes, as two separate conversion actions. The MQL and the SQL are different events, so each is sent when it happens. Only one of them should be set as primary for bidding, so the lead is not counted twice in the numbers bidding uses.

What happens if a deal closes after the import window?

The ad platform cannot receive it. Google accepts click ID imports up to 90 days after the click, so a deal that closes later is never sent. Earlier stages, such as SQL or opportunity, still count. The closed deal can be reported in the CRM, outside the ad platform.

How many conversion events can HubSpot sync?

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

Conclusion

Sending CRM stages to ad platforms takes five steps, and most setups fail at the first: the click ID never reaches the CRM. Once it does, each stage becomes its own conversion, uploads run daily inside each platform's window, and bidding points at the deepest stage with enough volume. The result is bidding that learns from SQLs, not form fills, and reports that can tie spend to revenue.

Sources

Talk your funnel through with a RevOps expert

A free consultation. Bring your funnel, CRM or reporting question and brainstorm the next step.

Meet with an expert →