AnyTrack

PLAYBOOK

Send GoHighLevel Phone Closes to Facebook Ads

Your deals close on the phone, days after the click, and Facebook Ads never finds out. This playbook connects your GoHighLevel funnel and pipeline to the Facebook Conversion API, so Meta optimizes toward callers who pay instead of leads who ghost.

Facebook Ads
Ad click lands on your GoHighLevel funnel
arrow-down.svg ui
GoHighLevel
Lead, booked call, phone close in the pipeline
arrow-down.svg ui
logo-alt.svg ui
AnyTrack
Matched, enriched, attributed
arrow-down.svg ui
Facebook Conversion API
Deal value sent server-side
↺ Meta learns from closed deals, not just the leads that came in
Playbooks / Send GoHighLevel Phone Closes to Facebook Ads

Your funnel doesn’t close deals. Your reps do, on the phone, three or four days after the click. Facebook Ads never hears about those calls, so its delivery keeps optimizing toward the cheapest leads it can find: the ones who book nothing and buy nothing. You end up paying for volume while your closers work a pipeline full of tire-kickers.

This playbook connects your GoHighLevel funnel and pipeline to the Facebook Conversion API through AnyTrack. Every lead, booked call, and won opportunity is matched to the ad click that started it and sent back to Meta server-side, with the deal value and customer data attached. Meta stops chasing raw leads and starts finding the people who pick up the phone and pay.

Outcomes What This Playbook Unlocks
party-data.svg features
Audience building
Leads, booked calls, and won deals become distinct signals Meta can build custom audiences and lookalikes from.
data-orchestration.svg features
Audience enrichment
Every pipeline event is matched to the original ad click and sent with the deal value and hashed customer data, raising Event Match Quality.
roas-tracking.svg features
ROAS increase
Meta optimizes delivery toward phone closes instead of raw leads, so budget flows to the campaigns that produce revenue.
How it works

The Journey of a Tracked Conversion

Follow one lead from the ad click, through the booked call, to a phone close sent back to Facebook Ads days later. Every stage stays attached to the click that started it.

Ad Click
Click ID (fbclid) collected
Campaign, ad set & creative in the UTMs
logo-alt.svg ui
Session Started
First-party data collected
Click ID stored on the visitor
Lead Tracked
Funnel form submitted, contact created
Recorded server-side as a Lead
Click ID stored on the contact
Call Booked
Appointment created in your calendar
Recorded as a Schedule event
Mid-funnel signal ready for Meta
Deal Closed on the Phone
Rep marks the opportunity won
Recorded as DealWon with the deal value
Contact email & phone attached
Sent to
logo-alt.svg ui
AnyTrack
logo-alt.svg ui
Conversion Tracked
Event data processed
Matched to session & Facebook click ID
Customer data hashed & normalized
Event deduplicated & enriched
Sent to Facebook
Conversion API
Conversion data + first-party data
In Events Manager within 15-20 minutes
Conversion attributed in Ads Manager

Steps marked with the AnyTrack node run automatically. No extra code, no manual tagging.

Example Scenario

You run Facebook Ads for a home-services business. Leads land on a GoHighLevel funnel page, submit a form, book a call on your calendar, and a rep closes them over the phone, sometimes days later. For Meta to learn from any of that, three things need to happen:

  • Every lead needs its click. The contact created in GoHighLevel must carry the click ID from the ad session, or the close can never be attributed.
  • Every stage needs to be an event. Contact created, appointment booked, and opportunity won each become a conversion event AnyTrack tracks.
  • Every close needs to reach Meta. The won deal, with its value, is sent server-side to the Facebook Conversion API and mapped to an event Meta can optimize for.
Prerequisites Before You Begin
  • An AnyTrack account on Starter or above (the Facebook Conversion API requires a paid plan)
  • Admin access to your GoHighLevel account and the sub-account you want to connect
  • Facebook Business Manager access with permission to manage your ad account
  • Leads collected on GoHighLevel funnel pages or native forms (external forms and Zapier imports need an extra step, covered below)
  • A GoHighLevel pipeline where your reps mark opportunities won

Step 1: Install the Tracking Tag on Your Funnel

Create a property in your AnyTrack dashboard with your funnel’s URL, and copy the AnyTrack Tracking Tag. Then, in GoHighLevel:

  1. Open the funnel you want to connect
  2. Open the funnel settings and locate the Head Tracking Code section
  3. Paste the AnyTrack Tracking Tag and save

The Tag starts a first-party session on every visit, collecting the Facebook click ID (fbclid) and UTM parameters the moment the ad click lands. If you share GoHighLevel calendar links outside your funnel, paste the Tag into each calendar’s Customization → Custom Code field too, so booked calls from those links stay attributed.

Confirm the Tag is live

Install the AnyTrack Pixel Helper Chrome extension to watch client-side events in real time.

Step 2: Connect the GoHighLevel App

In the AnyTrack Integration Catalog:

  1. Search for “GoHighLevel” and click Install Integration
  2. Select your property and click Next
  3. Authenticate with your GoHighLevel account
  4. Select the sub-account to connect and save

The app configures all the necessary webhooks automatically; no manual automations needed. From this point, GoHighLevel sends contact, appointment, order, and opportunity events to AnyTrack server-side. Full details in the GoHighLevel integration guide.

External forms land under Unknown

External forms and Zapier-pushed contacts arrive with no session. Pass the click ID into the contact’s _atid field (how-to).

Step 3: Map Your Pipeline to Conversion Events

Out of the box, the integration tracks the stages a phone-sales funnel cares about:

  • Contact created is recorded as Lead
  • Appointment created is recorded as Schedule
  • Opportunity won is recorded as DealWon, carrying the deal amount, the contact’s email, phone, and name

AnyTrack also fetches your pipelines and their stages, so you can map individual stage changes (say, “Qualified” or “Proposal Sent”) to their own events in the integration settings if your sales cycle is longer. Lead and Schedule are standard events and map to ad platforms automatically; DealWon and any pipeline stage events are custom events, which you’ll map to Meta by hand in Step 4.

Step 4: Connect Facebook Ads and Turn On the Conversion API

In AnyTrack, open Tracking Pixels, add a new pixel, and click Connect Facebook Pixel:

  1. Authenticate with your Business Manager and choose your Pixel ID
  2. Toggle Server-to-Server Tracking on and connect your ad account
  3. Save your changes

AnyTrack now loads your Meta Pixel for PageView and sends every conversion server-side through the Facebook Conversion API, out of reach of ad blockers and browser restrictions. Then map your pipeline events: in the Meta integration’s event mapping, map DealWon to Purchase so the deal value drives Meta’s optimization, or to a custom event if you prefer to keep purchases separate.

Unmapped events never reach Meta

Map DealWon (and any pipeline stage events you enabled) before you expect them in Events Manager.

Step 5: Add the UTM Template and Verify Your Ads

The UTM Tracking Template is how AnyTrack ties each session to the exact campaign, ad set, and ad:

  1. In Tracking Pixels, select your connected Meta Pixel and open the Ads Integrations tab
  2. Copy the UTM Tracking Template
  3. In Meta Ads Manager, paste it into the URL parameters at the campaign level
  4. Back in AnyTrack, click Verify Ads Settings and confirm a green mark next to your campaigns

A red mark means the template wasn’t found; a yellow mark means it’s there but has errors. Click the mark to see the cause. Full walkthrough in the Facebook UTM guide.

Not seeing a campaign?

Verify Ads Settings only lists campaigns with conversion event objectives; awareness and traffic campaigns won’t appear.

Step 6: Remove Duplicate Tracking and Test

AnyTrack deduplicates everything before it reaches Meta, but only if it’s the one doing the sending. In GoHighLevel, disable any direct connections to your ad platforms:

  1. Disable Facebook pixel tracking on your GoHighLevel forms and workflows
  2. Remove any ad platform conversion tags from form submission automations
  3. If you previously wired AnyTrack through manual webhooks, disable those automations; the app handles them now

Then run an end-to-end test. Submit a form on your funnel, book a test call, and mark a test opportunity won. Each event should appear in the AnyTrack Event Log within seconds. On the Meta side, the Test Events tab in Events Manager validates events within about 30 seconds, event parameters appear within about 20 minutes, and modeled conversion attribution in Ads Manager can take up to 3 days. Test mode setup is covered in Meta CAPI Test Mode.

Running Lead Ads or Google too?

Meta Lead Ads pair with Meta CAPI for CRM; on Google, the offline lead status playbook closes the same loop.

Step 7: Launch the Campaign Stack

Every stage of your pipeline now reaches Meta. Two campaigns turn that into cheaper closes.

Prospecting: optimize toward phone closes

Your main campaign, retargeted at the metric that pays: won deals.

  • Destination: your GoHighLevel funnel page, with the UTM tracking template from Step 5 at the campaign level and a green mark in Verify Ads Settings.
  • Budget: hold your current lead-gen budget while Meta accumulates DealWon signals (deals close days after the click, so give it two to three weeks before judging), then scale in steps of about 20% while cost per close holds.
  • Audience: broad, and let delivery learn from the closes. Exclude a custom audience built from your won deals so you stop paying to re-acquire customers.
  • Event tracking: optimizes on the event DealWon maps to, arriving with deal values and hashed contact data; every click generates the Lead and Schedule events that feed the retargeting below.
  • Conversion objective: Sales, optimized for the Purchase event your DealWon mapping points to. If closes are too sparse for delivery to learn from, optimize for the Schedule event first (it maps automatically), then switch once won deals accumulate.

Retargeting: chase the booking, not the lead

Converts the leads who submitted the form but never picked a time.

  • Destination: your calendar booking page, same UTM tracking template.
  • Budget: 10 to 15% of prospecting. The audience is small by design; let its size, not the budget, set the ceiling.
  • Audience: a custom audience of Lead without Schedule, 7-day window, so it only ever contains leads who haven’t booked yet.
  • Event tracking: fed by the Lead events from your funnel; generates the Schedule events that pull each lead out of this audience the moment they book.
  • Conversion objective: Leads, optimized for the Schedule event.

The Optimization Loop

Every deal your reps mark won now does double duty. As soon as an opportunity hits the won stage, AnyTrack sends it server-side to Meta with the deal value attached, and two things happen without you: the new customer joins your exclusion audience so prospecting stops paying for them, and the value gives Meta’s algorithm one more portrait of a caller who pays, nudging delivery toward people like them. Meta rolls those signals into delivery on its own timeline (modeled attribution in Ads Manager can take up to 3 days), so read trends, not single days. Your reps keep working the pipeline; the targeting quietly sharpens behind them.

Once a week, check what the phone calls taught the ads:

  1. Measure. In the Campaign Report, read cost per DealWon and revenue per campaign next to the raw lead counts Meta shows you. Then confirm in Events Manager that Event Match Quality holds while contact emails and phone numbers travel with each close.
  2. Improve. Back the campaigns that produce closes even when their cost per lead looks worse: a $40 lead that closes beats a $12 lead that ghosts. And if your reps work stages the tracking doesn’t see yet, extend the pipeline mapping to cover them.
  3. Expand. Once the won-deals audience is big enough to seed from, build a 1% Lookalike Audience on it and launch a second prospecting campaign against it, same task-card fields as above. A seed of closers beats a seed of leads every time.

Closes teach Meta; Meta finds more closers. Your weekly pass just keeps the money pointed at the campaigns that make the phone ring with buyers.

Wrapping Up

Here’s what you shipped:

  • A GoHighLevel funnel where every visit, form submission, and booked call is tracked against the Facebook click that started it.
  • A pipeline whose won opportunities flow back to the Facebook Conversion API server-side, with deal values and hashed customer data attached.
  • A prospecting and retargeting stack optimized toward phone closes, plus a weekly loop that keeps budget on the campaigns that close.

Your reps already know which leads were worth calling. Now Meta does too.

Ready to Feed Your Ad Platforms Better Data?

One Tracking Tag. Every conversion signal, sent server-side to every platform you run. Set up this playbook in under an hour.

14-day free trial · No credit card required