GoHighLevel Integration
Set up the GoHighLevel and AnyTrack integration to automatically track conversions from forms, orders, invoices, and pipeline opportunities, then send that data server-side to Google Ads, Facebook Ads, and TikTok Ads.
What is the GoHighLevel Integration?
The AnyTrack integration for GoHighLevel automatically captures conversion data from forms, orders, invoices, and pipeline opportunities, then forwards it server-side to your ad platforms (Google Ads, Facebook Ads, TikTok Ads) for campaign optimization and attribution.
Before you begin
- You have an active AnyTrack account
- You have admin access to your GoHighLevel account
- You can edit your website or funnel settings
- You have admin access to your ad platform accounts
- Your leads are captured on GoHighLevel funnel pages or native forms — if you use external forms or a Zapier-type import, see the note below
What the native GoHighLevel integration means for AnyTrackThe native integration works because contacts are created on GoHighLevel's own funnel pages or native forms, where the AnyTrack Tracking Tag runs and captures the click ID at session time. AnyTrack then matches the server-side conversion back to that visit.
If you instead capture leads on an external form (Typeform, Jotform) or push contacts in through Zapier or Make, that automatic link is broken — the contact is created with no tracked session and lands under Unknown. In that case, follow the Form Tracking guidelines: capture the AnyTrack click ID as a hidden field on the form and pass it into the contact's
_atidcustom field.
Setup Guide
Step 1: Create a New Property
- Navigate to your AnyTrack dashboard
- Create a new property
- Assign a descriptive name to the property
- Enter the main URL for your website or funnel
- Copy the AnyTrack Tracking Tag provided
Step 2: Install the AnyTrack Tracking Tag
- Log into your GoHighLevel account
- Navigate to the funnel you want to connect
- Open the funnel settings
- Locate the "Head Tracking Code" section
- Paste the AnyTrack Tracking Tag in the head tracking code field
- Save your settings
Alternative InstallationYou can also install the Tracking Tag using Google Tag Manager.
Step 3: Install the AnyTrack App in GoHighLevel
- Navigate to the AnyTrack Integration Catalog
- Search for "GoHighLevel" (or "HighLevel")
- Click "Install Integration"
- Select the property
- Click "Next" to proceed
- Authenticate with your GoHighLevel account
- Select the GoHighLevel sub-account to connect
- Save the integration settings
Step 4: Verify Your Setup
- Visit your funnel from a new browser window
- Navigate through the funnel as a potential customer would
- Submit a form or complete a checkout
- Open the AnyTrack dashboard and check the Event Log for recorded events
- Verify that the conversion data and attribution source appear correctly
Pro TipInstall the AnyTrack Pixel Helper Chrome extension to verify the AnyTrack Tracking Tag is working correctly and to see real-time client-side events.
Disconnect Other Integrations
Once the AnyTrack integration is active, you must disconnect any direct tracking integrations between GoHighLevel and your ad platforms to prevent duplicate conversions.
- Disable Facebook pixel tracking on your GoHighLevel forms and workflows
- Remove Google Ads conversion tags from GoHighLevel form submission automations
- Disable any direct TikTok or other ad platform tracking configured in GoHighLevel
AnyTrack handles all conversion data forwarding and deduplication. Keeping other integrations active alongside AnyTrack will result in duplicate conversions being sent to your ad platforms, which inflates your metrics and confuses the ad algorithms.
Important: Legacy AutomationsIf you previously set up AnyTrack with manual webhooks and automations in GoHighLevel, disable those automations. The app handles all webhook management automatically.
Conversion Events
AnyTrack tracks the following events from GoHighLevel. Events are organized into three categories: web tracking events (captured client-side by the Tracking Tag), standard server-side events (captured via the AnyTrack app), and advanced events that can be enabled in the integration settings.
Web Tracking Events
These events are automatically captured by the AnyTrack Tracking Tag installed on your funnel. They cannot be remapped.
| GoHighLevel Event | AnyTrack Event | Description |
|---|---|---|
Form submit | FormSubmit | When a visitor submits a form |
Initiate Checkout | InitiateCheckout | When a checkout page is loaded. For 2-step forms, triggered when the second step button is clicked. |
Server-Side Events
These events are sent from GoHighLevel to AnyTrack via the app integration.
| GoHighLevel Event | AnyTrack Event | Default Status | Description |
|---|---|---|---|
Contact created | Lead | ✅ Enabled | When a new contact is added to GoHighLevel |
Appointment created | Schedule | ✅ Enabled | When a customer books an appointment or meeting |
Order created | Purchase | ✅ Enabled | When an order is completed (excludes upsells) |
Order upsell created | Upsell | ✅ Enabled | When a customer purchases an upsell |
Invoice created | InitiateCheckout | ✅ Enabled | When an invoice is created |
Invoice fully paid | Purchase | ✅ Enabled | When an invoice is fully paid |
Opportunity created | DealNew | ✅ Enabled | When a new opportunity is created in a pipeline |
Opportunity won | DealWon | ✅ Enabled | When an opportunity status is changed to won |
Advanced Events
These events are available in the integration settings but are unmapped by default. Enable them if your workflow requires tracking these actions.
| GoHighLevel Event | Default Status | Description |
|---|---|---|
Invoice sent | ⚙️ Unmapped | When an invoice is sent to the client |
Invoice partially paid | ⚙️ Unmapped | When an invoice is partially paid. The last payment triggers "Invoice fully paid" instead, with the full amount. |
Opportunity status: open | ⚙️ Unmapped | When an opportunity is opened or reopened |
Pipeline stage changes | ⚙️ Unmapped | Individual stage transitions within your pipelines (see Pipeline Tracking below) |
How Event Mapping Works
Event mapping in AnyTrack follows a two-step chain:
Step 1: GoHighLevel → AnyTrack — Each GoHighLevel event maps to an AnyTrack event (standard or custom). Once mapped, the event appears in your AnyTrack dashboard, reports, and becomes available in the ad platform event mapping section.
Step 2: AnyTrack → Ad Platforms . Each AnyTrack event can then be mapped to an ad platform event (standard or custom).
AnyTrack standard events like Purchase, Lead, and Schedule are automatically mapped to the corresponding standard events in your ad platforms. Custom events like DealNew and DealWon appear in the ad platform mapping section but require manual mapping before they flow to ad platforms.
Pipeline and Opportunity Tracking
AnyTrack integrates with GoHighLevel's pipeline and opportunity system to track deal progression as conversion events. This is especially useful for service businesses, agencies, and sales teams where conversions happen through a sales pipeline rather than a checkout page.
How It Works
When you connect the AnyTrack app, it automatically fetches your GoHighLevel pipelines and their stages. For each pipeline stage, AnyTrack creates a mapping entry in your integration settings so you can select which stages trigger conversion events.
For example, if you have a "Sales Pipeline" with stages "New Lead → Qualified → Proposal Sent → Closed Won", AnyTrack creates a mapping entry for each stage. You can then map "Closed Won" to an AnyTrack event like Purchase or a custom event, which then flows to your ad platforms.
Opportunity Data
When an opportunity event fires, AnyTrack captures and forwards:
- Monetary value . the deal amount, passed as the conversion value to ad platforms
- Contact data . email, phone, name, and location for enhanced matching
- Opportunity details . opportunity name and ID for attribution tracking
This data enables your ad platforms to optimize campaigns based on actual deal values rather than just lead counts.
Custom Events Require Manual Ad Platform MappingPipeline stage events and opportunity events default to custom AnyTrack events. After enabling them, go to your ad platform integration settings in AnyTrack to map them to the appropriate ad platform events (standard or custom).
Advanced Configuration
Tracking Embedded Forms on External Websites
If you embed GoHighLevel forms on WordPress, Elementor, Unbounce, or other website builders, you need to add a custom field so AnyTrack can attribute form submissions back to the original traffic source.
- In GoHighLevel, go to CRM > Contacts and add a new custom field named
_atidwith scope set to "contact" - Edit each embedded form and add the
_atidcustom field as a hidden field - Make sure the AnyTrack Tracking Tag is installed in the
headsection of the external website
Leads Showing as "Unknown" in the Campaign Report
If your GoHighLevel leads land under Unknown (or Direct) in the Campaign Report even though the contacts have UTM values in GoHighLevel, the cause is almost always how the contact is created.
AnyTrack attributes a lead by matching it back to the browser session where the ad click happened — that session is what stores the click ID (_atid) and UTM data as first-party data. If a contact is created server-to-server (for example, pushed in by Zapier, Make, or another app), it never had that tracked session, so AnyTrack has nothing to match it to and correctly reports it as Unknown.
The diagram below shows both paths from a single lead: when the click ID travels with the form submission it attributes correctly, and when it is dropped it lands under Unknown.
The Click ID Fork: One Lead, Two Outcomes
Every GoHighLevel lead that comes through an external form (Typeform, Jotform) follows the same start. What decides whether it lands as an attributed conversion or as Unknown is one thing: does the AnyTrack click ID (_atid) travel with it?
_atid)_atid field carries the AnyTrack click ID out with the submission._atid custom field (created when you installed the AnyTrack app).Lead event arrives carrying the click ID.Lead event arrives, but with no click ID to match on._atid at the visit and carry it through the form and Zapier, and the same lead that would have been Unknown becomes fully attributed.You can confirm this in the contact's source. A contact created by a third-party tool shows an attribution source like sessionSource: "Third Party", medium: "zapier" and an empty _atid.
To fix it, make sure the click ID travels with the lead:
- Best: capture the lead directly on a page that has the AnyTrack Tracking Tag (a native GHL funnel form). The click ID is set at session time and stored on the contact automatically.
- If an automation must create the contact: add the
_atidhidden field to your form (see Tracking Embedded Forms above) and map it through your automation into the GoHighLevel contact's_atidcustom field, so the original click ID is preserved.
WarningReapplying the UTM template or running Verify Ads Settings will not fix Unknown leads created server-to-server. Those settings only affect ad-click sessions, not contacts injected by another app.
Tracking Calendar Links
If you share GoHighLevel calendar links via email or outside your website:

Add the Tracking Tag in the custom code section of the calendar settings.
- Navigate to your calendar settings > Customization
- Paste the AnyTrack Tracking Tag in the Custom Code field
- Save the settings
Important: Team CalendarsAdd the Tracking Tag to each team member's calendar settings individually.
FAQ and Troubleshooting
FAQ was last reviewed on 2026-06-02
_atid custom field. See Why Conversions Show as Unknown or Direct.Install Tracking Tag
Step-by-step guide to installing the AnyTrack Tracking Tag on your website.
Facebook Ads Integration
Connect your Facebook Ads account to receive GoHighLevel conversion data.
Google Ads Integration
Send GoHighLevel conversions to Google Ads via the Conversion API.
Event Mapping
Map GoHighLevel events to ad platform events for standard and custom conversions.
Updated 3 days ago
