Skip to content

GoHighLevel Troubleshooting

Fix GoHighLevel tracking problems in AnyTrack. Find out why leads show as Unknown, pass the Click ID from an external form, stop recurring IP-match errors in the Events Log, and stop the GoHighLevel OrderFormPurchase event in Meta.

Use this page to fix GoHighLevel tracking problems in AnyTrack. Find your symptom in the table, then follow the fix in its section. To set up the integration, see GoHighLevel Integration. For the list of events and their default mapping, see GoHighLevel Events.

SymptomCauseFix
Leads show as Unknown or Direct in the Campaign ReportThe contact has no Click IDLeads Show as Unknown
Leads from Typeform, Jotform, Zapier, or Make show as UnknownThe Click ID does not reach the _atid fieldPass the Click ID from an External Form
Recurring Can't find match for IP errors in the Events LogEvents arrive without the Click IDRecurring IP-Match Errors
Meta shows OrderFormPurchase with no valueGoHighLevel sends the event from its own Meta Pixel fieldStop the OrderFormPurchase Event
Pipeline stage events do not reach Facebook AdsThe stage or the custom event is unmappedPipeline and Opportunity Tracking

Leads Show as Unknown in the Campaign Report

Section titled “Leads Show as Unknown in the Campaign Report”

Your GoHighLevel leads land under Unknown (or Direct) in the Campaign Report, but the contacts have UTM values in GoHighLevel. The most common cause is the way the contact enters GoHighLevel.

AnyTrack attributes a lead by matching it back to the browser session where the ad click happened. That session stores the click ID (_atid) and UTM data as first-party data. If an app creates the contact server-to-server (for example, Zapier or Make), the contact never had that tracked session. AnyTrack has no session to match the contact to, so AnyTrack reports the contact as Unknown. The Unknown source is the expected result, not a tracking error.

The diagram shows one lead on two paths. When the click ID travels with the form submission, AnyTrack attributes the lead. When the click ID is lost, the lead lands under Unknown.

The Click ID Fork: One Lead, Two Outcomes

When a GoHighLevel lead comes from an external form, the AnyTrack click ID decides if the lead becomes an attributed conversion or lands under Unknown.

Shared start:

  1. Visitor lands from Facebook. Tools: Facebook Ads. Tracking Tag fires. AnyTrack starts a session, collects the click ID and UTM parameters, and stores them as first-party data on the visitor. Data: click ID collected (present), utm parameters (present), first-party session (present).
  2. Visitor fills an external form. Tools: Typeform, Jotform. The form sends the email and the answers. It sends the click ID only if the form collects it: at_click_id in Typeform, a hidden field in Jotform.

The path splits here: is the click ID attached?

Path 1, working path: Click ID attached.

  1. Form submits with the click ID. The click ID leaves with the email and the answers. Data: email + data (present), click ID (present).
  2. Zapier → GoHighLevel. Tools: Zapier, GoHighLevel. Zapier maps the click ID into the _atid custom field of the GoHighLevel contact. Data: click ID → _atid (present).
  3. GHL "Contact created" → AnyTrack. Tools: GoHighLevel, AnyTrack. The Lead event arrives with the click ID. Data: _atid (present).

Path 2, broken path: Click ID dropped.

  1. Form submits without the click ID. Only the email and the answers leave. Data: email + data (present), click ID (missing). Break point: The form does not collect the click ID, so the click ID is lost here. The connection to the next step breaks here.
  2. Zapier → GoHighLevel. Tools: Zapier, GoHighLevel. Zapier creates the contact server-to-server, with no browser session and no click ID. Data: sessionSource: "Third Party", medium: "zapier".
  3. GHL "Contact created" → AnyTrack. Tools: GoHighLevel, AnyTrack. The Lead event arrives with no click ID to match. Data: _atid (missing).

Both paths return to AnyTrack

Path 1 result: Attributed conversion. AnyTrack matches the click ID to the Facebook ad click, credits the campaign, and sends the conversion to your ad platform through the Conversion API.

Path 2 result: Unknown. AnyTrack records the lead but has no click ID to match. The lead lands under Unknown with no campaign credit, even when the contact has UTM values in GoHighLevel.

One field makes the difference. AnyTrack attributes the lead with the click ID, not with the UTM values on the GoHighLevel contact. Collect the click ID on the form and map it through Zapier into the _atid custom field: the same lead then becomes an attributed conversion.

To confirm the cause, open the attribution source of the contact in GoHighLevel. A contact that a third-party tool created shows values such as sessionSource: "Third Party", medium: "zapier", and an empty _atid.

To fix it, make sure that the click ID travels with the lead:

  1. Best: collect the lead on a native GoHighLevel funnel form. Add the _atid field to that form (see Step 4: Add the Click ID Field to Your Forms). The Tracking Tag supplies the Click ID value, and GoHighLevel stores it on the contact.
  2. If an automation must create the contact: pass the original click ID through the automation into the _atid custom field of the contact. See Pass the Click ID from an External Form.

For the same problem on other CRMs, see Why Conversions Show as Unknown or Direct.

AnyTrack joins two records:

  • The session on your funnel or website: UTM parameters, traffic source, and first-party data.
  • The offline events that GoHighLevel reports: contacts, orders, invoices, and opportunities.

The AnyTrack Click ID connects the two records. The Tracking Tag writes the Click ID onto the page URL as the _atid parameter, and GoHighLevel stores it in the _atid custom field of the contact.

The path of the Click ID to the _atid field depends on where the lead fills in the form:

  • Native GoHighLevel form. The Tracking Tag supplies the value when the form carries the _atid field. Add the field to each form (see Step 4).
  • GoHighLevel form embedded on another website. Add the _atid field to the form, and install the Tracking Tag on the page that hosts the form. See Tracking Embedded Forms on External Websites.
  • External form, Zapier, or Make. GoHighLevel has no tracked session for the lead. Map the Click ID from the source platform into the _atid custom field.

Each source platform gives the Click ID under its own parameter:

Source platformClick ID parameterDestination in GoHighLevel
Typeformat_click_id_atid custom field
Unbounceclick_id_atid custom field
Elementorclick_id_atid custom field
Calendlyutm_term or sfid_atid custom field
LeadsHookatclid_atid custom field
Any standard HTML formhidden field, value --CLICK-ID--_atid custom field

For the Elementor integration, see Elementor. If your Elementor forms send leads to GoHighLevel without the Elementor integration, see GoHighLevel and Elementor. For the full pattern across every platform, see Pass the Click ID from External Forms to Your CRM.

Recurring Can’t Find Match for IP Errors

Section titled “Recurring Can’t Find Match for IP Errors”

Recurring Can't find match for IP (No IP Match) errors in the Events Log mean that the conversions from GoHighLevel arrive without the AnyTrack click ID. AnyTrack then falls back to low-accuracy IP matching. AnyTrack does not send events with errors to your ad platforms, so recurring errors also lower your conversion counts in Facebook Ads and Google Ads.

Check these causes in order:

  1. A native form has no _atid field. Without the field, the contact holds no click ID, and every GoHighLevel event drops to IP matching. Add the field to each form (see Step 4).
  2. An embedded or external form does not pass the click ID. Map the original click ID into the _atid custom field of the contact. See Pass the Click ID from an External Form.
  3. A legacy manual-webhook setup sends the events. Old manual webhooks send conversions without the click ID. Install the AnyTrack app from the Integration Catalog, authenticate, and select your GoHighLevel sub-account. Run a test purchase, and verify an OK status in the Events Log. Then disable the old manual webhooks.

Meta Shows a GoHighLevel OrderFormPurchase Event

Section titled “Meta Shows a GoHighLevel OrderFormPurchase Event”

GoHighLevel carries its own Meta Pixel field. When that field holds a Pixel ID, GoHighLevel triggers an OrderFormPurchase event on the order form. The browser sends that event. OrderFormPurchase is a GoHighLevel event. AnyTrack does not send it.

GoHighLevel sends the event without a value and without a currency. Meta then reports data-quality warnings on your dataset, and lists the price-data actions as High priority.

You can confirm the sender in Meta Events Manager. Open the Overview tab and read the Source column. OrderFormPurchase shows the Source Meta Pixel, because the browser sent it. AnyTrack conversions show the Source Conversions API. See Identify Which System Sent an Event.

To stop the event:

  1. Open the funnel settings in GoHighLevel and clear the Meta Pixel ID. GoHighLevel labels the field Facebook Pixel ID.
  2. Open the order form settings and clear the Meta Pixel ID.
  3. Open Settings > Integrations and disconnect the Facebook connection.
  4. Republish the funnel.
  5. Run a test purchase. Confirm that Purchase arrives in Meta Events Manager with the Source Conversions API, a value, and a currency.

If you set up your Facebook Pixel in Tracking Pixels, AnyTrack loads it on your funnel pages. Your browser tracking then continues after you clear the field.

FAQ

FAQ was last reviewed on 2026-10-05

Why does the Events Log show errors after installation?
Check three things. Verify that the AnyTrack Tracking Tag is in the head section of each funnel. Verify that the AnyTrack app is connected. Verify that you selected the correct GoHighLevel sub-account.
Why are my GoHighLevel conversions not appearing in AnyTrack?
Verify that the AnyTrack app is installed on the correct GoHighLevel sub-account. Then verify that the Tracking Tag is on the funnel.
Why does the _atid value change between my funnel pages?
The _atid URL parameter carries the AnyTrack page Click ID. The Tracking Tag generates a new value on each page load. The Property ID and the Client ID stay the same; only the final characters change. AnyTrack identifies the visitor by the Client ID, so a changing value does not affect attribution. On a 2-step order form the page does not reload between the steps, so the value stays the same on both steps. A lead shows as Unknown only when the contact has no click ID at all, not when the value changes from page to page. See AnyTrack Identifiers.