How to Send GoHighLevel Pipeline Stages to Meta and Google Ads as Conversions
On this page
How do I send GoHighLevel pipeline stages back to Meta and Google Ads as conversions?
Map each pipeline stage that matters (booked, showed, won) to a conversion event, and send it with the click or lead ID stored on the contact.
GoHighLevel’s own workflows send stage changes to Meta, but only for leads from Meta lead forms. For website leads and for Google Ads, you need the click ID on the contact and a sender that reads every stage change.
Why go to the trouble? Your pipeline knows which leads became customers. Meta and Google Ads don’t, unless you tell them. Send the stages, and their bidding learns from the deals your team closes instead of the forms people fill in.
What GoHighLevel Can Send by Itself
GoHighLevel has two workflow actions for ad platforms. Here’s what each one covers, according to GoHighLevel’s help center (checked October 27, 2026).
| Native route | Triggers it accepts | Pipeline stages |
|---|---|---|
| Meta Conversion API action, Lead Event | Facebook Lead Form Submission, Pipeline Stage Change | ✓ For contacts from a Facebook lead form only |
| Meta Conversion API action, Funnel Event | Form Submitted, Survey Submitted, Customer Booked Appointment, Order Form Submission | ✗ No stage changes |
| Add To Google Ads action | Form Submission, Order Purchase, Number Pool Calling, Survey Submission, Chat Widget | ⚠ Not on the documented list |
Sources: Meta Conversion API action, Add To Google Ads action, Pipeline Stage Changed trigger.
Three details matter when you build the Meta workflow:
- Stage Name. Insert the pipeline and stage custom values, so Meta sees the stage you moved the lead to.
- Value. The Value and Currency fields appear only when the Stage Name is Purchase. GoHighLevel ignores value on every other stage.
- Click IDs. The Google Ads action needs a GCLID, GBRAID, or WBRAID on the contact. GBRAID and WBRAID work only with “Many Per Click” conversions.
How AnyTrack Sends Every Pipeline Stage
AnyTrack’s GoHighLevel integration reads your contacts, appointments, opportunities, orders, and invoices, and sends the events you map to Meta and Google Ads. You build no workflow per stage.
- Create a Property and paste the AnyTrack Tracking Tag into your funnel’s Head Tracking Code field.
- Install the GoHighLevel integration from the Integration Catalog, authenticate, and select the sub-account.
- Add the
_atidfield to every lead form. In the form builder, open ADDITIONAL INFO, drag the_atidfield onto the form, confirm the Query Key is_atid, and set it to Hidden. AnyTrack creates this field when it connects, so don’t create it by hand. - Map the stages you care about. AnyTrack creates one mapping entry for each pipeline stage. Every entry starts unmapped.
- Connect Facebook Ads and Google Ads, turn on the Conversion API, and map each AnyTrack event to a platform conversion.
- Retire the old sender after a test. On Starter or above, confirm that each stage reaches Meta and Google Ads, as shown in How to Verify Each Stage. Then switch off any workflow that sends the same stage.
Each mapped stage reaches the platform with the opportunity’s monetary value as the conversion value, plus the contact’s email, phone, name, city, and country for matching. Setup guide: GoHighLevel integration.
Plans: you can connect GoHighLevel on the Free plan, but sending conversions to Meta and Google Ads starts on Starter (plan comparison). On Free, keep your GoHighLevel workflows on.
The GoHighLevel Mapping Table
These are the defaults AnyTrack applies, from the GoHighLevel events reference. Change any row in the integration settings.
| GoHighLevel event | AnyTrack event by default | Typical use |
|---|---|---|
| Contact created | Lead | ✓ Raw lead |
| Appointment created | Schedule | ✓ Booked call |
| Opportunity created | DealNew | Custom event |
| Opportunity status: won | DealWon | Custom event, closed deal |
| Order created | Purchase | ✓ Sale |
| Invoice fully paid | Purchase | ✓ Paid invoice |
| Each pipeline stage | Unmapped | ⚠ Map the stages you bid on |
| Invoice sent, partially paid, opportunity open | Unmapped | Usually left off |
Which Stages to Send
A typical sales pipeline needs three or four events, not one per stage. Use this as a starting point.
| Pipeline stage | Map to | Send to | Bid on it? |
|---|---|---|---|
| New lead (contact created) | Lead, by default | Meta and Google Ads | Early on, or for low volume |
| Call booked (appointment created) | Schedule, by default | Meta and Google Ads | When booked calls predict sales |
| Showed or qualified | CompleteRegistration or a custom event | Meta and Google Ads | When closed deals are too few |
| Proposal sent | Leave unmapped | None | ✗ |
| Won | Purchase, with the deal value | Meta and Google Ads | When you close enough deals each month |
Bid on the deepest stage that still gives the platform enough volume. Google recommends a single funnel stage with at least 15 conversions a month (Google). Meta’s learning phase usually ends after about 50 results in a week (Meta).
One Sender per Stage
If a GoHighLevel workflow already sends a stage through the Meta Conversion API action, and AnyTrack sends the same stage, Meta receives it twice.
Each tool creates its own event ID, so Meta can’t merge the copies. Meta deduplicates only when the event ID and event name match within 48 hours (Meta).
Running GoHighLevel for Clients
Most GoHighLevel accounts run as agency sub-accounts. Keep each client separate:
- One Property per client. Connect each client’s sub-account to that client’s Property. Starter includes 1 Property, Personal 3, and Advance 10.
- Check the sub-account. If events don’t arrive, confirm you connected the right sub-account (GoHighLevel troubleshooting).
- Give clients read-only access. Add the client as an Account Member limited to their Property (team management).
How to Verify Each Stage
Move one test opportunity through the pipeline and watch each event arrive.
- Tracking Tag live on the funnel pages, with
PageViewin the Conversions Report. -
_atidfilled. Submit a test lead from an ad click, then check that the contact’s_atidfield holds a value. - Event reaches AnyTrack. The GoHighLevel integration’s Events Log shows each stage with status OK.
- Event reaches Meta. Use Conversion API test mode and allow 10 to 20 minutes.
- Event reaches Google Ads. Check the conversion action after a few hours: up to 3 hours for last-click, 15 hours for other models (attribution delays).
- One count per stage. After you switch off the old workflow, each stage shows once in Meta and Google Ads.
Want the full play, with campaigns built on these events? Read the playbook Send GoHighLevel phone closes to Facebook Ads, or see how AnyTrack connects GoHighLevel and Google Ads.
Frequently Asked Questions
Can GoHighLevel send pipeline stages to Meta without another tool?
Yes, for leads from Meta lead forms. The Meta Conversion API action with the Lead Event type accepts the Pipeline Stage Change trigger for contacts that came from a Facebook lead form. For website-form leads, GoHighLevel's documentation is not consistent, so test it or use another sender.
Can GoHighLevel send pipeline stages to Google Ads?
GoHighLevel's Add To Google Ads action lists form submission, order purchase, number pool calling, survey submission, and chat widget triggers. Pipeline stage changes are not on that list. AnyTrack sends mapped stages to Google Ads with the Google click ID and hashed contact data.
Why do my GoHighLevel conversions have no value in Meta?
GoHighLevel's Meta Conversion API action sends value only when the Stage Name is Purchase, and ignores it on other stages. AnyTrack sends the opportunity's monetary value as the conversion value for every mapped stage.
Do I need the _atid field if the Tracking Tag is on my funnel?
Yes. The Tracking Tag records the visit, but it cannot add a field to the form. Without the _atid field, the Click ID never reaches the contact, and later events fall back to matching on email or IP address.
Will AnyTrack double count with my GoHighLevel workflows?
It will if both send the same stage. Keep one sender per stage. On Starter or above, confirm that AnyTrack delivers the stage, then switch off the workflow action. Or leave the stage unmapped in AnyTrack and keep the workflow. On Free, keep your workflows on, because Free sends no conversions to ad platforms.
Which GoHighLevel stage should I optimize for?
The deepest stage that still gives the platform enough volume. Google recommends at least 15 conversions a month on the stage you bid on, and Meta's learning phase usually needs about 50 results a week. If closed deals fall short, bid on the showed or qualified stage.
Laurent Malka is the Co-Founder of Anytrack. He was born and raised in Switzerland, and now lives and works in Israel. He is a serial entrepreneur with over 15 years of experience in marketing and business development. Laurent has been a panelist and speaker at numerous digital marketing events including SEMrush and IG Affiliates. He prides himself on his ability to connect the dots across disciplines, industries, and technologies to solve unique challenges.