HubSpot and Google Ads offline conversions

How HubSpot sends lifecycle stages to Google Ads: the click ID, what syncs, why counts differ from Google Ads, deal amounts and a checklist.

The short answer: HubSpot can send lifecycle stage changes to Google Ads through enhanced conversions. Each contact needs a Google ad click ID or shared contact details, and the counts will not match Google Ads exactly. To report real deal amounts you need a custom set-up, because the native option now sends a fixed value.

This page covers what is specific to HubSpot. The general method is in Google Ads offline conversions from your CRM. Details were checked against HubSpot's and Google's help pages on 23 October 2026; both change, so check them when you build.

How the sync works

  • Connect Google Ads to HubSpot, and turn on auto-tagging in Google Ads so every ad click carries a GCLID.
  • HubSpot stores the click ID. According to HubSpot, its Google ad click id contact property is set automatically from the GCLID that Google Ads provides. That works when the visitor lands on a page with HubSpot's tracking code. If leads come in through forms or tools outside HubSpot, you have to pass the click ID in yourself.
  • Create an ad conversion event in HubSpot for a lifecycle stage, such as Marketing Qualified Lead or Customer. HubSpot sends it to Google using Google's enhanced conversions, and hashes contact data with SHA-256 before sending it.
  • Matching: a contact needs a value in the Google ad click id property, or contact details such as email, phone or address shared with Google.
  • Event limits on Marketing Hub, as HubSpot lists them: Starter up to 5 events, Professional up to 50, Enterprise up to 100. Check your own plan.

What counts and what does not

  • Only lifecycle stage changes that happen after you create the event are counted. Past changes are not back-filled.
  • Each tracked stage is its own event. A contact that passes through two tracked stages creates two events.
  • Each event needs "Included in account-level goals" set to Yes to sync.
  • If you use a Google Ads manager (MCC) account for form submissions and conversion events, HubSpot says you cannot sync form data through enhanced conversions.
  • Synced events appear in the All conversions column only if the conversion can be attributed to a Google Ads campaign.
  • For form submission events, HubSpot notes Google expects the enhancement within 24 hours of the original conversion.

Why the counts differ from Google Ads

HubSpot's own help page says the All conversions total in Google Ads may not match HubSpot's data, because Google calculates metrics differently. The usual reasons:

  • Not every contact can sync. Contacts with no click ID and no shared contact details have nothing to send.
  • The MCC limit above, for form data.
  • Only new changes count, so a recent set-up shows fewer conversions than HubSpot's history.
  • Attribution. A synced event counts in All conversions only if Google can attribute it to a campaign.
  • Dates and delay. Google's help page says Google Ads reports conversions against the ad date, allows 24 to 48 hours for processing between Google Analytics and Google Ads, and says conversions can be reported up to 90 days after the click. A weekly comparison will rarely line up.
  • Counting method and attribution model settings in Google Ads change the totals.

A small, steady gap is normal. A large gap, or one that grows, usually points to missing click IDs. See also GA4 vs Google Ads conversions.

Check how many leads keep their click ID

Before debugging anything else, count how many of your Google Ads leads have a click ID. Export contacts with their create date, their original source and the Google ad click id property, then drop the file into the GCLID coverage checker. It shows the share by month, and the file never leaves your browser. HubSpot does not show this number for you.

  • A low or falling number usually means a change broke capture: a new form, a redesigned landing page, a tag change or a consent banner change.
  • Forms embedded from other tools, and multi-step forms, are the usual places a hidden field drops its value. Test each with a real submission.
  • Copy the click ID exactly. Do not trim, change the case or truncate it.

Deal amounts

HubSpot says the Use the Deal amount option is no longer available for these events, so you set a fixed value, such as your average deal size. To send actual deal amounts, HubSpot says a developer can build a custom set-up with workflows and Google's offline conversions upload. Google is moving that upload to its Data Manager API from 15 June 2026, so a new build should use the Data Manager API. Check Google's current rules before you start.

Also note that HubSpot's native events are lifecycle stages. If your pipeline works on deal stages, you may need the custom route.

A checklist

  • Auto-tagging is on in Google Ads, and Google Ads is connected in HubSpot.
  • The Google ad click id property is filling for new Google Ads leads. Check a few real ones.
  • Every form, including embedded and multi-step forms, has been tested with a real submission.
  • Lifecycle stages are defined and used the same way by marketing and sales; see MQL vs SQL.
  • Events are created, included in account-level goals, and within your plan's limit.
  • You know which conversions are primary in Google Ads, so bidding is not trained on the wrong signal.
  • Click ID coverage is measured each month.

We set this up and monitor it as part of our HubSpot implementation and Google Ads work. Read the versions for Salesforce, Zoho CRM and GoHighLevel.

Questions people ask

Does HubSpot have a native Google Ads integration?

Yes. After you connect Google Ads, you can create ad conversion events that send lifecycle stage changes to Google using enhanced conversions. Event limits depend on your Marketing Hub plan.

Does HubSpot capture the GCLID automatically?

HubSpot says its Google ad click id contact property is set automatically from the GCLID provided by Google Ads, when the visitor arrives on a page with HubSpot's tracking code. If leads come through forms outside HubSpot, you need to pass the click ID in yourself.

Why does Google Ads show fewer conversions than HubSpot?

Common reasons are contacts with no click ID or shared contact details, only counting stage changes made after the event was created, conversions that Google cannot attribute to a campaign, and differences in dates and attribution. HubSpot itself says the totals may not match.

Can HubSpot send deal amounts to Google Ads?

Not through the native lifecycle events, which use a fixed value you set. To send actual deal amounts you need a custom set-up using workflows and Google's offline conversions upload.

Does this work with a Google Ads manager (MCC) account?

HubSpot says that if you use an MCC for form submission and conversion events, you cannot sync form data using enhanced conversions. Check the current help page for your set-up.

Find out what your leads carry into HubSpot.

The audit checks whether the click ID and source reach HubSpot, and where they get lost.

Get the free audit