Google Ads Tips & Strategy

How to Import HubSpot Deals into Google Ads as Offline Conversions

Send closed-won revenue back to Google Ads so bidding optimizes for deals instead of form fills. The setup, the GCLID requirement, and what breaks.

Michael Hoskins

How to Import HubSpot Deals into Google Ads as Offline Conversions

Smart Bidding buys what you tell it to buy. Tell it a form submission is the goal, and it will find you people who submit forms. Some of them will be students doing research, competitors checking pricing, and a person who clicked by accident.

The platform has no idea which of your leads were any good, because you never told it. Offline conversion import is how you tell it.

This is the single highest-leverage tracking project available to a B2B advertiser, and most accounts never do it. Here is the whole thing.

What you are actually building

When someone clicks your ad, Google appends a unique click identifier called a GCLID to your landing page URL. That string identifies the exact click.

The job is to capture that GCLID when the lead submits your form, store it on the contact in HubSpot, carry it through to the deal, and send it back to Google Ads when the deal closes, along with what the deal was worth.

Google matches the GCLID to the original click and now knows that this specific click, from this specific keyword, ad, and audience, produced $40,000 of revenue eleven weeks later. Multiply that across a few hundred deals and Smart Bidding starts making decisions on revenue instead of form volume.

Prerequisites

Auto-tagging must be on in Google Ads. Without it, there is no GCLID and none of this works. Check Admin, then Account settings, then Auto-tagging.

Your landing pages must preserve the URL parameter. Any redirect that strips query strings breaks the chain silently.

You need enough volume. Smart Bidding needs a meaningful number of conversions per month to learn. If you close four deals a year, import them for reporting, but do not expect the bidding algorithm to do much with it.

The setup, step by step

1. Create a GCLID property in HubSpot.

Make a single-line text contact property called something like gclid. This is where the click identifier lives.

2. Capture the GCLID on your form.

Add a hidden field to your HubSpot form mapped to that property. HubSpot's tracking code will populate it from the URL when the visitor lands with a GCLID present.

Watch for two failure modes. If the visitor lands on your home page and navigates to the contact page, the parameter is gone from the URL by the time they see the form unless your tracking persists it. And if the form sits inside an iframe embed, confirm the value is actually reaching the property rather than trusting that it should.

Submit a test lead with a fake GCLID in the URL and confirm the property populates. Do not skip this.

3. Carry the GCLID to the deal.

Conversions are uploaded against deals, but the GCLID lives on the contact. Either copy it to a deal property with a workflow when the deal is created, or export it by joining deals to their associated contact.

Both work. The workflow is less error-prone.

4. Create the conversion action in Google Ads.

Goals, then Conversions, then New conversion action, then Import, then Manual import using clicks and conversions.

Name it for the CRM stage it represents, for example "HubSpot Closed Won." Set the category to Purchase or Qualified lead. Set value to "Use different values for each conversion" so you can send real deal amounts.

5. Upload.

Export closed-won deals with four columns: Google Click ID, Conversion Name, Conversion Time, and Conversion Value. Conversion Time must be later than the click and formatted with a time zone that matches what you declare in the file.

Upload at Goals, then Conversions, then Uploads. Start with a manual CSV to prove the format works, then automate with a scheduled Google Sheets import so it runs weekly without you.

6. Wait before judging it.

Uploaded conversions take up to a few hours to appear and Smart Bidding needs weeks of them before its behavior changes. Do not rewrite your bidding strategy on the first week of data.

The native HubSpot integration, and its limits

HubSpot's ads tools can connect to Google Ads and sync certain conversion events without CSV work. If it fits your pipeline, use it. It removes a fragile manual step.

Read the fine print on which stages it can sync and whether it passes deal value. The reason people still build the manual path is control: you decide exactly which stage counts as a conversion and exactly what value rides along with it. The native integration decides some of that for you.

Check what the integration currently supports before choosing, because both products change this regularly.

What breaks, in order of likelihood

The GCLID never got captured. Most common by a distance. Your upload returns match failures for every row. Diagnose by checking whether the property is populated on recent contacts. If it is empty, the problem is upstream at the form, not in the upload.

You missed the click window. Google will not accept a conversion for a click older than your conversion window, up to a maximum of 90 days. If your sales cycle runs six months, the deal closes after the GCLID is no longer eligible. This is a hard limit, and it is the reason long-cycle businesses should import an earlier stage, like Sales Qualified, rather than only Closed Won.

Time zone mismatch. The conversion time in your file is interpreted against the time zone you declare. Get it wrong and conversions land on the wrong day, or get rejected for appearing to happen before the click.

Re-submissions overwrote the GCLID. A returning lead who clicks a different ad and submits again overwrites the original value. Decide whether you want first touch or last touch and configure the property to match, rather than letting it happen by accident.

Deals with no associated contact. They have no GCLID to inherit. They will silently drop out of your export.

Which stage should count?

Import the earliest stage that reliably predicts revenue.

Closed Won is the truest signal and often lands outside the click window. Sales Qualified Lead usually arrives inside the window and correlates well enough to steer bidding. Many accounts import both, one for optimization and one for reporting.

The wrong answer is importing nothing because Closed Won is too slow.

Worth doing?

If your average deal is worth more than a few hundred dollars and your sales cycle is longer than a day, yes. It changes what Google Ads buys on your behalf, which is a different order of impact from making a report more accurate.

It also depends entirely on the tracking underneath it being sound. An account that is double counting form submissions will feed Google a corrupted picture of which clicks were good, and offline import will confidently scale the wrong thing.

Want the foundation checked first?

The Conversion Tracking Audit covers GCLID capture, auto-tagging, your conversion actions and their settings, the form-to-CRM handoff, and whether your account is ready for offline import at all. You get a written list of what needs fixing, in priority order.

$599, fixed fee, findings are yours either way.

Get the Conversion Tracking Audit

Want this handled for you?

We run Google, Bing, Meta, and LinkedIn for in-house teams on a monthly retainer, inside accounts you own.

KEEP READING

Ready to Hand Off Execution?

Tell us what needs to ship and we will tell you whether a retainer fits. No pitch deck.

info@demandmojo.com(949) 838-7076