The HubSpot to Google Ads connection

HubSpot Google Ads offline conversions in 2026: the three routes

By Matt StrydomLast checked 6 min read

There are three ways to set up HubSpot Google Ads offline conversions, so that a lifecycle stage your sales team sets in HubSpot reaches Google Ads as a conversion: HubSpot's own ad conversion events, the HubSpot connection in Google Ads Data Manager, and Zapier. Each works. The trouble starts when a portal uses two of them for the same stage, or when nobody remembers which one is live. This post sets out what each route needs, where it falls short, and how to pick one route per stage.

Route 1: HubSpot's ad conversion events

Where: in HubSpot, Marketing > Ads > Create > Conversion event. The trigger is either a lifecycle stage change or a HubSpot form submission (HubSpot KB: create and sync ad conversion events, last updated 12 Oct 2026, last checked 17 Oct 2026).

What the KB says you get and need:

  • Lifecycle stage changes sync to Google Ads as conversion actions using Google's Enhanced Conversions.
  • Only stage changes after you create the event count. Nothing is backfilled.
  • A contact syncs if it has a "Google Ad click id" value or contact data (email, phone or address) shared with Google. HubSpot hashes shared data with SHA-256 before sending it.
  • The value is fixed per event. "Use the Deal amount" is no longer available; HubSpot suggests a representative amount such as your average deal size.
  • "Included in account-level goals" must be Yes for each event, and there is a checkbox to set the event as Primary in Google Ads.
  • Event limits: up to five on Marketing Hub Starter, 50 on Professional, 100 on Enterprise.
  • With a Google Ads manager account (MCC), form submission and conversion events can't sync through Enhanced Conversions.
  • Broken events show in a Needs Attention section on the Events tab. Deleting an event in HubSpot leaves the Google Ads action in place.

Good for: most HubSpot portals that connect an individual Google Ads account and are happy with a fixed value per stage.

Watch for: the MCC limit, the fixed value, and events created months ago with settings nobody has reviewed since.

Route 2: the HubSpot connection in Google Ads Data Manager

Where: in Google Ads, Goals > Summary > New conversion action, then add a conversion action and choose HubSpot as the data source. You sign in to HubSpot, accept the customer data policy, pick a conversion category and add conditions (Google Ads Help: HubSpot, last checked 17 Oct 2026).

What Google's pages say:

  • For HubSpot connections, all conditions must use the Lifecycle Stage field, unless combined with another condition using AND (same page).
  • Required fields are mapped from HubSpot automatically, with the option to edit.
  • Google calls offline conversion import a legacy feature and recommends enhanced conversions for leads through Data Manager (same page).
  • For HubSpot, Data Manager imports the last 14 days of data on the first successful run, then all changes since the last successful run on each run after that (Google Ads Help: set up offline conversions using GCLID, last checked 17 Oct 2026).
  • Existing connections are listed under Tools > Data manager (Google Ads Help: HubSpot).

Good for: teams who manage conversions from the Google Ads side, or who want Data Manager's diagnostics in one place.

Watch for: it is set up in Google Ads, so a HubSpot admin may not know it exists. That is how stages end up sent twice.

Route 3: Zapier

Google lists Zapier as a third-party import method for offline conversions and enhanced conversions for leads (Google Ads Help: upgrade offline conversion import, last checked 17 Oct 2026).

Zapier's own HubSpot walkthrough (Zapier blog: track offline conversions in Google Ads, last checked 17 Oct 2026) uses:

  1. A HubSpot trigger, "New Contact Property Change", on Lifecycle Stage, also pulling the click ID property and the property that records when the conversion happened.
  2. A Filter step for the exact stage value, plus a check that the Google Click ID exists.
  3. A Delay step of 24 hours if the conversion can happen within 24 hours of the click.
  4. A Google Ads "Send Offline Conversion" action.

Good for: triggers HubSpot's events can't do, such as a deal property, or a value you calculate.

Watch for: the filter. If it doesn't match the stage exactly, the zap fires on other property changes. Zapier's tutorial says to enter the text exactly as it appears in your CRM.

Pick one route per stage

Google deduplicates an offline conversion only when the GCLID, conversion name and conversion time combination is already in its system (Google Ads Help: offline conversion imports FAQs, last checked 17 Oct 2026). Two routes sending "SQL" usually write to two different conversion actions, or with different times, so that rule doesn't catch them and both can count. We cover how to spot this in a later post on duplicate conversions.

Our rule of thumb:

SituationRoute we'd start with
Individual Google Ads account, fixed value per stage is fineHubSpot's ad conversion events
Conversions managed from the Google Ads side, or you want Data Manager diagnosticsData Manager HubSpot connection
Trigger or value HubSpot's events can't handleZapier, or a custom build through Google's Data Manager API
Manager account setupNot HubSpot's Enhanced Conversions events, per the HubSpot KB limit; review the account structure first

Whatever you choose, write it down: stage, route, Google Ads conversion action, Primary or Secondary.

Find out what is live today

  1. HubSpot: Marketing > Ads > Events. List each event, its stage and its status.
  2. Google Ads: Tools > Data manager. Note any HubSpot connection and the conversion actions under Usage.
  3. Zapier: search your zaps for the Google Ads "Send Offline Conversion" action.
  4. Google Ads: Goals > Conversions > Summary. Match every imported action to one of the routes above. An action you can't match is either a leftover or a route someone forgot.
  5. Bidding: check each action's Primary or Secondary status and goal. See Google Ads primary vs secondary conversions.

What we check

For the routes into Google Ads, we:

  1. List every route in use: HubSpot events, Data Manager connections, Zapier zaps and any custom uploads.
  2. Map each lifecycle stage to exactly one route and one conversion action.
  3. Flag any stage sent through more than one route.
  4. Check each HubSpot event's value, consent property, data sharing and sync status.
  5. Look for legacy imports and manager account setups HubSpot can't connect.

We change only what you approve and log how to reverse each change. The sample report shows how this is written up.

Not sure which routes you have?

Book a 20-minute fit call and we'll talk through what's connected and whether a check is worth it: https://cal.com/closedlogic/20min-fit

Sources

All last checked 17 Oct 2026.