Skip to content

Guides

How to send offline conversions to Google Ads from your CRM.

By Santi ·

Which route should I pick?

There are three routes in 2026: HubSpot’s built-in Google Ads events, Google’s HubSpot connector in Google Ads Data Manager, and a workflow step or custom code that calls Google’s Data Manager API. Pick the third when you want a deal stage to send the deal’s own amount.

Route Sends on Value Networks
HubSpot’s built-in Google Ads events A lifecycle stage change or a form submission One fixed value on lifecycle events Google Ads
Google’s HubSpot connector (Data Manager) Conditions on the Lifecycle Stage field Not tested yet: check its field mapping Google Ads
A workflow step or custom code calling the Data Manager API A contact or deal workflow’s trigger, including a deal stage The deal’s own amount What you build or install

What is an offline conversion?

An offline conversion is a result that happens after the ad click and away from your website, like a qualified lead or a closed deal, that you send to Google Ads afterwards so Google can tie it to the click.

It isn’t HubSpot’s “Offline sources”. That’s one of the values of HubSpot’s Original and Latest Traffic Source properties, which describe how a contact interacted with you. HubSpot now suggests its Record Source property for how records were created. Neither sends anything to Google.

What do I need before the first upload?

  • Auto-tagging on in Google Ads. Google lists it first: “You’ve enabled auto-tagging. This lets you import offline conversions.”
  • The GCLID on the contact. HubSpot’s Google ad click ID property, or a hidden form field you fill yourself. The GCLID is case-sensitive. Capture the GCLID on every form fill.
  • An “Import from clicks” conversion action (Goals → Summary → + Create conversion action → Conversions offline), in the category Qualified lead or Converted lead, which Google calls the best practice.
  • Enhanced conversions turned on (Goals → Settings → Customer data use → Turn on enhanced conversions), so Google can also match on hashed email and phone.
  • Four to six hours. Google: “After creating a new conversion action, wait 4-6 hours before uploading conversions for that conversion action. If you upload conversions during the first 4-6 hours, it might take 2 days for those conversions to appear on your reports.”

Route 1: HubSpot’s built-in Google Ads events

In HubSpot’s ads tool, an event fires on a lifecycle stage change or a HubSpot form submission. Per HubSpot’s help page (updated October 12, 2026):

  • Lifecycle stage events “use a fixed value. The Use the Deal amount option is no longer available.”
  • Only stage changes after you create the event count.
  • A contact syncs when it has a Google ad click ID, or contact data such as email or phone that you choose to share.
  • Marketing Hub Starter allows 5 events, Professional 50 and Enterprise 100.
  • With a Google Ads manager account (MCC), form submission and conversion events “can’t sync using Google’s Enhanced Conversions”.

It’s enough when you’re on Marketing Hub Starter, or your deals are about the same size. How to send each deal’s real amount.

Route 2: Google’s HubSpot connector in Data Manager

Google Ads Data Manager has its own HubSpot connection. You set it up in Google Ads: create a conversion action, pick HubSpot as the data source and sign in to HubSpot. For HubSpot connections, “all conditions must use the Lifecycle Stage field, unless combined with another condition using an ‘AND’ logical operator”, and the required fields are mapped from HubSpot automatically.

On timing, Google says Data Manager “imports the last 14 days of data in the first successful run” for HubSpot, and after that every change since the last successful run. It sends to Google Ads only. I haven’t tested which value it sends, so check its field mapping before you bid on it.

Route 3: A workflow step and the Data Manager API

This is the route for deal stages and real amounts. Since June 15, 2026, Google’s Ads API has turned away offline conversion uploads from integrations that weren’t already using it, so a new setup uploads through the Data Manager API. What the Data Manager API changes.

You can build it or install it:

  • Build it: a deal workflow with a custom code or Send a webhook action (HubSpot lists both as Data Hub Professional and Enterprise only), a Google Cloud project with the Data Manager API, and your own hashing, retries and logs. What building it involves.
  • Install a workflow action from an app. 0CodeTools’ Send Google Ads Conversion uploads to Google Ads, “matched by the GCLID on the record”. Ledion, which I build, sends to Google Ads, Meta, Microsoft Ads and Reddit from one step, matching on the click ID plus hashed email and phone (how it sends to Google Ads, and its setup guide).

A workflow step runs inside a contact or deal workflow, so it sends on that workflow’s trigger: a deal stage, a lifecycle stage, a property change.

How old can the click be?

Google’s FAQ: “You can upload any conversion with GCLID so long as it’s no longer than 90 days. You can upload any conversion with personally identifiable information for enhanced conversions so long as it’s no longer than 63 days.” Its guidelines count both from “the associated last click”.

If your sales cycle is longer than that, send an earlier stage too, like SQL or opportunity, to its own conversion action. It happens inside the window even when Closed won doesn’t.

How do I avoid counting a conversion twice?

Give every sender its own conversion action. If HubSpot’s event and a second tool both send “Closed won” to the same action, Google counts both. Its FAQ says it removes a duplicate when the GCLID, the conversion name and the conversion time all match, and two senders rarely send the same time. Separate actions both count too when both are primary, so keep only one of them primary for each stage.

Start the new action as Secondary. Google: secondary actions “are for observation only. They are used for reporting in the ‘All conversions’ column in your reports, but not for bidding”. Compare the two for 2 to 3 weeks, then make the one you trust primary. Google also notes that Smart Bidding needs “a standard 7-14 day learning phase” after changes like that.

Checklist

  • Auto-tagging and enhanced conversions are on.
  • Paid-search contacts carry a GCLID (check your coverage).
  • One “Import from clicks” action per stage you send, each Qualified lead or Converted lead.
  • New actions waited 4 to 6 hours before the first upload, and start as Secondary.
  • Each stage you send happens within 90 days of the click (63 on email or phone alone).
  • Each sender has its own action.
  • After a day, the action shows conversions in the “All conv. (by conv. time)” column.

I'm Santi. I build Ledion, a Send conversion step for HubSpot workflows. Something wrong or out of date? Email santi@ledion.io.

Questions

Does HubSpot integrate with Google Ads?

Yes. HubSpot’s ads tool connects to Google Ads and syncs conversion events when a contact’s lifecycle stage changes or a HubSpot form is submitted. It comes with Marketing Hub Starter, Professional and Enterprise, with up to 5, 50 and 100 events. HubSpot’s help page, updated October 12, 2026, says lifecycle stage events use a fixed value and that the Use the Deal amount option is no longer available.

How do I import offline conversions into Google Ads?

Create an Import from clicks conversion action, then send conversions to it. Google’s FAQ lists the ways: automatically through Data Manager or the API, through its Zapier or Salesforce integrations, from files over SFTP, or by uploading a five-column spreadsheet by hand. For HubSpot, the routes are the three in this guide.

When should I use offline conversions?

When the result you care about happens after the form: a qualified lead, a meeting that took place, a closed deal. Google recommends a separate conversion action for each stage, and bidding on one of them.

Sources: 11 pages, checked

Send each deal's real amount to your ad platforms.

Ledion adds a Send conversion step to HubSpot contact and deal workflows. It sends the record's real amount to Google Ads, Meta, Microsoft Ads and Reddit, and each network's result comes back to the workflow. Works with HubSpot Professional and Enterprise plans that include workflows.

I'm onboarding the first companies one at a time. You get a direct install link and a 20-minute setup call if you want one. First 10 companies: Pro free, with no card, until Ledion is listed on the HubSpot App Marketplace, then $79 a month instead of $129 for as long as you stay.