How to Capture GCLID in HubSpot and Send Conversions Back

HubSpot can close the loop with Google Ads properly. Here is the field setup, the form wiring, and the upload that makes it work.

By the end of this post your HubSpot portal will capture the Google click ID on every form, carry it through to the deal, and send closed won revenue back to Google Ads so bidding optimises toward customers instead of form fills.

HubSpot is genuinely good at this once it is set up. Most portals are only missing two or three specific pieces.

When this fits

  • You use HubSpot as your CRM and run Google Ads.

  • Your deals close days or weeks after the form fill.

  • Lead quality varies enough that counting form fills is misleading.

If you close everything inside a single website session, you do not need this.

What you will build

  1. Custom properties on Contact and Deal to hold the click ID and UTM data.

  2. Form wiring that populates them.

  3. A workflow that copies the values to the Deal when one is created.

  4. An export or integration that sends closed deals to Google Ads.

Let’s implement it

Step 1: create the properties

In HubSpot settings, open Properties and create these on the Contact object:

  • Google Click ID, single line text

  • gbraid and wbraid, single line text

  • First touch and last touch source, medium and campaign

  • Original landing page

Make them single line text, not dropdowns. Set field level permissions so users cannot edit them.

Then create matching properties on the Deal object. You need them in both places, and this is the step most portals skip.

Step 2: add hidden fields to your forms

In the form editor, add each property as a hidden field.

Then populate them. The reliable way with HubSpot embedded forms is the onFormReady callback, which runs after the form exists in the DOM. Read your cookie inside it and set each field’s value.

Setting values before the form renders is the most common reason fields arrive empty.

Step 3: copy Contact values to the Deal

Create a workflow that triggers on deal creation and copies the click ID and attribution properties from the associated contact to the deal.

Without this your deals have no click ID and your export has nothing to match on. It is the single most common gap in HubSpot setups.

Step 4: decide what counts as a conversion

Pick one or two stages that represent real progress. A workable set:

  • Qualified, sent when someone confirms the lead is real and in market

  • Closed won, sent with the actual deal value

Bid toward Qualified, report on Closed won. The reasoning is here: sending CRM deal stages to Google Ads.

Step 5: send it back

Three routes, in increasing order of effort:

Before you finish

  • Click a real ad, submit a real form, and confirm the click ID lands on the contact.

  • Convert that contact to a deal and confirm the click ID copied across.

  • Check the property is not truncated.

  • Run one upload and read the match rate. Below about 70 percent usually means the workflow in step 3 is missing.

  • Confirm your deal close dates fall inside the 90 day window from the click.

FAQ

Does HubSpot’s native Google Ads integration do this already?

It connects ad spend reporting and can report conversions, and it is not a substitute for uploading your own qualified and closed won stages with values. Most accounts want both.

What if a contact has several deals?

Copy the click ID to the deal at creation and use the deal’s copy for uploads. Otherwise a second deal a year later claims the first deal’s ad click.

My sales cycle is longer than 90 days. What now?

Upload an earlier stage that falls inside the window, and keep closed won for your own reporting. Google Ads cannot attribute a conversion older than its window no matter how you send it.

I am on the free tier with limited properties. Any options?

If HubSpot’s limits are in your way, I wrote a full walkthrough of that for Stape using nothing but a spreadsheet: Google Ads offline conversion tracking without a CRM. Click to read it here.

Need this built properly?

HubSpot does this well once the deal level copy exists. I set up and repair tracking for ecommerce stores and lead generation businesses, so the numbers in your ad accounts match the money in your bank account.

Have a look at what I do, or book a call and we can go through your setup together.

Need accurate tracking?

Its Free

500+ Happy Clients ⭐️

Keep Reading

See exactly where you’re wasting ad spend and how better tracking can double your sales.

See exactly where you’re wasting ad spend and how better tracking can double your sales.

Tracking in 3 Hours

Tracking in 3 Hours

I Manage Everything

I Manage Everything

24/7 Expert Support

24/7 Expert Support

TESTIMONIALS

Trusted by 500+ satisfied clients

Discover how we’ve driven growth and innovation.

500+ Tracking

500+ Tracking

Adélaïde De Vos

3,922 followers

I had the pleasure to work with Abdul and I can say that he exceeded my expectations. He was professional, patient, and clear in his explanations and committed to client satisfaction. If you're looking for someone who is not only highly skilled but also reliable and committed to client satisfaction, I highly recommend Kayium!

Dean Watson

1,030 followers

Kayium setup our tracking for Google Ads and Meta Ads, which helped us get 20%+ more conversions on the same ad spend. He didn’t just handle the technical setup,he also took the time to explain why it works and how it improves results. If you’re looking for someone skilled, reliable, and committed to delivering real results, I highly recommend him!

David Friend

CEO: Profitable Sites

Kayium set up accurate tracking that helped us scale ads fast and boost conversions by over 25%. He gave us clear insight into which ads drive revenue.

Lalita Sundari

7,924 followers

I've worked with Kayium; his strategic mindset and expertise in GTM, GA4, Pixel & Server Side Tracking, are invaluable! I highly recommend Kayium!