NewHubSpot workflow action

Stop training Google Ads
on form fills.

Send Google Ads Conversion is a 0CodeTools workflow action that uploads an offline conversion, matched by the GCLID on the HubSpot record, when a lead qualifies or a deal closes. With the real value. So your bidding learns from pipeline, not form fills.

Free plan · 1 credit per uploaded conversion · No developer token
Closed-won revenue to Google AdsLive example
Trigger · enrolls deals
When this happens
Deal stage is any of Closed Won (Sales Pipeline)
Action 1
Send Google Ads Conversion
Send a conversion to Google Ads account 123-456-7890
Hide configuration
Conversion Action ID987654321
GCLID (Google Click ID)Google Click ID (Contact: Most recently updated)
Conversion ValueAmount (Enrolled deal)
Currency CodeUSD
Action 2
Branch
Route on Result of step 1
= UPLOADED= FAILEDNone met
End
Three things that matter

Google Ads optimizes toward whatever you tell it counts.

Google recommends feeding offline conversions, with values, so Smart Bidding can aim at deeper funnel stages. Your deeper funnel lives in HubSpot. This action connects the two, as one workflow step in 0CodeTools.

01

Form fills are a weak signal

If Google Ads only hears about form submissions, it finds you more people who fill in forms. The conversions you care about, qualified leads and signed deals, happen days or weeks later in HubSpot.

02

Any moment, any value

Send a conversion at any point a workflow can detect: lifecycle stage, lead status, a booked meeting, a deal stage, a custom object. Use a fixed number or a token like the deal amount.

03

A result you can branch on

The action returns Result = UPLOADED when Google's API takes the upload, or FAILED. Records with no GCLID come back FAILED, so you can flag them instead of guessing.

How it works

From ad click to closed deal, and back.

Click through the loop. The click ID travels with the lead into HubSpot; when the real outcome happens, the workflow sends it home.

Ad click. With auto-tagging on, Google adds a gclid parameter to the landing page URL for every ad click.
The real action

Eight fields, straight from the workflow editor.

This is the action as it appears in HubSpot. Click the step to open it, and hover the info icons for the in-product help. This example sends a conversion when a contact becomes a Sales Qualified Lead.

  • Customer ID and Conversion Action ID come from Google Ads
  • GCLID maps to HubSpot's Google Click ID property
  • Conversion Value takes a number or a token like deal Amount
  • Order ID: re-sending the same one updates that conversion instead of adding another
Connect Google Ads in 0CodeTools
Trigger enrollment for contacts
Only enroll contacts that meet these conditions
Group 1
Lifecycle stage is any of Sales Qualified Lead
Re-enroll offDetails
+
1. Send Google Ads Conversion

Send a conversion to Google Ads account 123-456-7890

Click to see configuration
+
2. Branch

Check branches in order: = UPLOADED, = FAILED, and None met.

3 branches - click to see paths
+
End

Click the steps to expand them. Sample data.

Use case 01 · Qualified leads

Count the leads sales actually accepted

When a contact becomes a Sales Qualified Lead, send a conversion with a fixed value that reflects what an SQL is worth to you. Google recommends a separate conversion action for each funnel stage, so give SQLs their own.

  • Contact workflow on Lifecycle stage
  • Static value, for example 500
  • Record ID as Order ID, so a re-enrolled contact updates the same conversion
SQL conversionEnrolls contacts
Trigger · enrolls contacts
When this happens
Lifecycle stage is any of Sales Qualified Lead
Action 1
Send Google Ads Conversion
Send a conversion to Google Ads account 123-456-7890
Click to see configuration
Conversion Action ID111222333
GCLID (Google Click ID)Google Click ID (Enrolled contact)
Conversion Value500
Currency CodeUSD
Order ID (optional)Record ID (Enrolled contact)
End
Use case 02 · Closed-won revenue

Send the deal amount, not a guess

A deal-based workflow fires when the deal closes. It pulls the Google Click ID from the deal's contact and sends the actual deal amount as the value. Real, varied values are what Google's value-based bidding needs to learn which campaigns bring revenue.

  • Deal-based workflow, GCLID from the associated contact
  • Conversion Value = the deal's Amount
  • Deal record ID as Order ID
Closed-won revenue to Google AdsEnrolls deals
Trigger · enrolls deals
When this happens
Deal stage is any of Closed Won (Sales Pipeline)
Action 1
Send Google Ads Conversion
Send a conversion to Google Ads account 123-456-7890
Click to see configuration
Target recordEnrolled deal
GCLID (Google Click ID)Google Click ID (Contact: Most recently updated)
Conversion ValueAmount (Enrolled deal)
Currency CodeUSD
Order ID (optional)Record ID (Enrolled deal)
End
Use case 03 · A value for every stage

Teach bidding the whole funnel

One workflow, one branch, one conversion action per stage. Booked appointments, sent contracts and closed deals each report into their own conversion action with their own value, so you can bid on the stage that matters and still see the rest in reporting.

  • Branch on Deal stage, with re-enrollment on
  • One Send Google Ads Conversion step in each path, each with its own Conversion Action ID
  • Appointment Scheduled: value 200 · Contract Sent: 1000 · Closed Won: the deal Amount
Stage-by-stage conversionsEnrolls deals
Trigger · enrolls deals
When this happens
Deal stage is any of Appointment Scheduled, Contract Sent, Closed Won
Action 1
Branch
Check branches in order on Deal stage
Appointment ScheduledContract SentClosed WonNone met
Action 2
Send Google Ads Conversion
One in each branch path. The Closed Won path:
Click to see configuration
Conversion Action ID333444555
GCLID (Google Click ID)Google Click ID (Contact: Most recently updated)
Conversion ValueAmount (Enrolled deal)
Currency CodeUSD
End
Use case 04 · Find the gaps

See which wins never had a click ID

Some customers came from Google Ads without their click ID reaching HubSpot: a different device, a phone call, a form that didn't pass the parameter. The FAILED path creates a task or sets a property, so marketing can see how much revenue Google never heard about.

  • Branch on Result of the conversion step
  • Flag records whose upload returns FAILED, such as those with no GCLID
  • Report on the gap in HubSpot
Flag deals Google never sawEnrolls deals
Trigger · enrolls deals
When this happens
Deal stage is any of Closed Won (Sales Pipeline)
Action 1
Send Google Ads Conversion
Send a conversion to Google Ads account 123-456-7890
Action 2
Branch
Route on Result of step 1
= UPLOADED= FAILED → Edit recordNone met
End
Setup

Three places. Set it up once.

Most of the work is on the Google Ads side, once. After that, every new conversion is just another workflow step. The full walkthrough is in our launch post.

01

In Google Ads

  1. Turn on auto-tagging, so every ad click carries a GCLID.
  2. In Goals, create a conversion action that imports offline conversions from clicks (Google's help calls the option Conversions offline).
  3. Set its click-through window to cover your sales cycle (default 30 days, up to 90). Open it and copy the number after ctId= in the address bar: that is your Conversion Action ID. Wait 4-6 hours before the first upload.
02

In HubSpot

  1. Good practice: keep the HubSpot tracking code on your landing pages and capture leads with HubSpot forms, which HubSpot's ad attribution relies on.
  2. Check that contacts from ads have a value in Google Click ID, HubSpot's default property for the GCLID.
  3. Pick the moment of conversion: a lifecycle stage, a meeting, a deal stage.
03

In 0CodeTools

  1. Go to Integrations → Google Ads and connect a Google account with access to the ad account.
  2. Add Send Google Ads Conversion to the workflow and map the fields.
  3. Test on one record first: narrow the enrollment trigger to it, check the Result in the Contacts in action tab, then widen the trigger.
Native events vs the workflow action

Use both. They answer different questions.

HubSpot's ads tool already sends conversion events to Google Ads, and for lifecycle stages it may be all you need. The workflow action covers what those events don't: other triggers, other objects and per-record values.

HubSpot ads conversion events0CodeTools Send Google Ads Conversion
Included withMarketing Hub Starter, Professional, Enterprise (5 / 50 / 100 events)0CodeTools, on any Professional or Enterprise hub (full workflows)
What triggers a conversionLifecycle stage change or HubSpot form submission (documented triggers)Anything a workflow can trigger on: properties, events, deal stages, custom objects
ObjectContactsContacts, companies, deals, tickets, custom objects
Conversion valueA value you set per eventAny number or token, e.g. the deal's Amount
MatchingGCLID or hashed contact data (enhanced conversions for leads)GCLID only
TimingSynced by HubSpotSent the moment the workflow step runs
Result you can branch on

Native details per HubSpot's knowledge base, September 2026. Google Ads can also pull lifecycle-stage conversions from HubSpot through its Data Manager connector, at most once a day. If you use more than one route, send each milestone to its own conversion action so nothing is counted twice.

Capabilities

Built for how B2B funnels actually work.

Configured in the standard HubSpot workflow editor. Uploads go through Google's Data Manager API, the route Google now names for new offline conversion integrations.

Any trigger

Lifecycle stages, lead status, meetings, deal stages, app events, custom properties. If a workflow can react to it, it can become a conversion.

Any object

Run it in contact, company, deal, ticket or custom-object workflows. Pull the GCLID from the enrolled or an associated record.

Real values

Send a fixed number or a token such as the deal Amount, with an ISO 4217 currency code such as USD or EUR.

One action per stage

Each step names its own Conversion Action ID, so SQLs, meetings and revenue report separately.

Agency and MCC access

Reach the ad account through an agency or manager (MCC) account? Add the Manager Account ID. No Google Ads API developer token needed.

Result + Order ID

Branch on UPLOADED or FAILED, and pass an Order ID so a re-upload updates the same conversion instead of counting twice.

Good to know

The honest fine print.

01

GCLID only, for now

The action matches conversions by click ID. Records without one return FAILED. Google recommends enhanced conversions for leads, which match on hashed email, to advertisers starting out with offline imports, and HubSpot's native events support it. This action doesn't use that method today.

02

Recorded when it runs

The conversion time is the moment the workflow step runs. Google only accepts it within the conversion action's click-through window (30 days by default, up to 90), and not within 6 hours of the click. Trigger it when the milestone happens.

03

Not instant in reports

The upload happens right away and UPLOADED means Google accepted it. Google still validates it, and imported conversions can take several hours to appear in reports.

FAQ

Questions about Google Ads conversions from HubSpot.

What teams ask before connecting their ad account. Moving more automations out of Zapier? Read how to replace Zapier with HubSpot workflows. Also new in 0CodeTools: Send email with Gmail.

What does the Send Google Ads Conversion action do?
It uploads an offline conversion to your Google Ads account from a HubSpot workflow step. The conversion is matched to the original ad click by the GCLID stored on the HubSpot record, recorded against the conversion action you choose, with the value and currency you set. The action returns Result = UPLOADED or FAILED.
Doesn't HubSpot already sync conversions to Google Ads?
Yes. HubSpot's ads tool can send conversion events to Google Ads on Marketing Hub Starter and up, and HubSpot documents two triggers for them: a lifecycle stage change or a HubSpot form submission, with a value you set per event. Use the workflow action when you need other triggers, deal or custom-object milestones, or per-record values like the deal amount.
Where does the GCLID come from?
Google adds a gclid parameter to your landing page URL when auto-tagging is on. HubSpot sets its default Google Click ID contact property automatically, based on the GCLID from Google Ads; check that your ad leads have a value in it. Some teams also capture it with a hidden form field. Map that property into the action's GCLID field.
What happens if a record has no GCLID?
There's nothing to match the conversion to, so the action can't upload it and returns Result = FAILED. Branch on that result to flag the record, create a task, or simply end the workflow. Failed uploads don't use credits.
How fast do conversions show up in Google Ads?
The action sends the conversion when the workflow step runs, and Result = UPLOADED means Google accepted it. Google then processes it, which can take several hours before it shows in reports, and longer if the conversion action was created in the last 4-6 hours. Google also rejects a conversion whose click happened less than 6 hours before the upload, so for triggers that fire right after an ad click, such as a form submission, add a Delay of at least 6 hours before the action.
Is there a time limit?
Yes. Google doesn't import GCLID conversions uploaded more than 90 days after the click, or outside the conversion action's click-through window, which is 30 days by default. Set the window to cover your sales cycle (up to 90 days), and trigger the action when the milestone happens rather than in a batch months later.
Do I need a Google Ads developer token or manager account?
No. You connect the Google account that has access to your Google Ads account in 0CodeTools under Integrations → Google Ads. If you reach the ad account through an agency or manager (MCC) account, enter that Manager Account ID in the action.
How much does it cost?
Each uploaded conversion uses one 0CodeTools action credit; failed uploads are free. The free plan includes 100 actions per month, and paid plans start at $49/month.
Install the action

Give Google Ads the conversions that matter.

Install 0CodeTools, connect your Google Ads account, and add Send Google Ads Conversion to the workflow that marks a qualified lead or a closed deal, starting on the free plan. Want the tracking set up end to end? Tell us about your funnel.

  • Install from the HubSpot Marketplace
  • Connect Google Ads in 0CodeTools, no developer token
  • Map GCLID, value and conversion action, then turn it on
What are you interested in?
What HubSpot Products do you use?