Skip to content

Why Conversions Show as Unknown or Direct

Conversions land under Unknown or Direct when AnyTrack can't match them to a tracked click. Learn the common causes and how to fix attribution.

In the Campaign Report, a conversion shows under Unknown or Direct when AnyTrack received the conversion but could not match it back to a tracked ad click. The conversion is real — AnyTrack just has no click and no UTM data to attribute it to a specific campaign.

AnyTrack uses click-based attribution: when a visitor lands on a page that has the Tracking Tag, the tag captures the click ID and UTM parameters and stores them as first-party data. When a conversion fires later, AnyTrack matches it to that stored session. No tracked session means no attribution.

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?

1Visitor lands from FacebookFacebook AdTracking Tag fires
AnyTrack starts a session, captures the click ID and UTM parameters, and stores them as first-party data on the visitor.
click ID capturedutm parametersfirst-party session
2Visitor fills an external formTypeform / Jotform
This is the decision point. The form carries the email and answers — but the click ID only rides along if you add it as a hidden field.
⑂ The path splits here — is the click ID attached?
✓ Click ID attached (_atid)
3Form submits with the click ID
A hidden _atid field carries the AnyTrack click ID out with the submission.
email + data_atid
4Zapier → GoHighLevel
Zapier maps the hidden field into the GoHighLevel contact's _atid custom field (created when you installed the AnyTrack app).
_atid → GHL contact
5GHL "Contact created" → AnyTrack
The Lead event arrives carrying the click ID.
_atid present
✕ Click ID dropped
3Form submits without the click ID
No hidden field, so the session identifiers stay behind. Only the email and answers leave.
email + data_atid
4Zapier → GoHighLevel
Server-to-server: no browser, no session. The contact is created with no AnyTrack identifier.
sessionSource: "Third Party"medium: "zapier"
5GHL "Contact created" → AnyTrack
The Lead event arrives, but with no click ID to match on.
_atid
Both paths return to AnyTrack
🟢 Attributed conversion
AnyTrack matches the click ID to the original Facebook click, credits the right campaign, and forwards the conversion to your ad platform via the Conversion API.
🔴 Unknown
The lead is real and still recorded, but with nothing to match it falls under Unknown — no campaign credit, even though the contact has UTM values in GoHighLevel.
💡
The whole difference is one field. Attribution rides on the click ID, not the UTM values stored on the GoHighLevel contact. Capture _atid at the visit and carry it through the form and Zapier, and the same lead that would have been Unknown becomes fully attributed.
Shared tracked start Click ID carried → attributed Click ID dropped → Unknown

This Applies to Any CRM + External Form Setup

Section titled “This Applies to Any CRM + External Form Setup”

This is not specific to GoHighLevel and Zapier. The same break happens in any flow where a contact is created outside a tracked browser session — for example HubSpot, GoHighLevel, or any CRM fed by Typeform, Jotform, an external form builder, or a no-code automation like Zapier or Make.

The native HubSpot and GoHighLevel integrations work because contact creation happens on the platform’s own forms or native integration, where the AnyTrack Tracking Tag is present and the click ID is captured at session time. The moment you move form capture to an external form, or push the contact in through Zapier, that built-in link is gone — you have to recreate it yourself.

Important

If you use an external form or a Zapier-type automation, follow the Form Tracking guidelines: capture the AnyTrack click ID as a hidden field on the form submission, and pass that same click ID through to the contact record in your CRM. Without it, the lead cannot be attributed.

CauseWhat happens
Contact created server-to-serverA lead pushed in by Zapier, Make, or another app never had a tracked session, so there is no click ID to match.
Ad URLs have no UTM templateIf the ad click that started the session carried no UTM (or only fbclid), AnyTrack has no campaign to credit.
Tracking Tag missing on the landing pageIf the page where the click landed has no Tracking Tag, the session is never captured.
External form or CRM without the click IDA HubSpot, GoHighLevel, or other CRM contact created from an external form (Typeform, Jotform) or a Zapier-type automation needs the click ID passed as a hidden field to carry attribution.
Intermediate source overwrote UTMA redirect through PayPal, an email tool, or a checkout can replace the UTM. Use Ignored Sources to protect attribution.
  1. Confirm how the conversion is created. If it comes from an automation (Zapier, Make, a webhook), the click ID must be passed with it. Capture the lead on a Tracking-Tag page instead, or map the original click ID into the contact’s _atid field.
  2. Apply a UTM template to every ad. Each paid campaign URL should include utm_source, utm_medium, utm_campaign, and utm_id. See Facebook UTM Parameters.
  3. Verify the Tracking Tag is on every landing page, including funnel and thank-you pages.
  4. Check the date range. Conversions from before you connected the pixel or added UTM parameters cannot be attributed retroactively — narrow the report to dates after setup.
  5. Allow up to 72 hours. Attribution can lag, so very recent conversions may show as Unknown until processing catches up.

Important

Reapplying a UTM template or running Verify Ads Settings only affects ad-click sessions. Neither will attribute a conversion that was created server-to-server without a click ID.

FAQ & Troubleshooting

FAQ was last reviewed on 2026-06-10

My lead has UTM data in my CRM but still shows as Unknown. Why?
UTM data sitting on the CRM contact is not the same as a tracked AnyTrack session. If the contact was created server-to-server (for example by Zapier), there was no browser session for AnyTrack to match, so it stays Unknown. The click ID must travel with the lead — capture it on a Tracking-Tag page or pass it into the _atid field.
Is an Unknown conversion lost?
No. The conversion is still recorded and still sent to your ad platforms via the Conversion API. It just is not credited to a specific campaign in the AnyTrack Campaign Report.
Will reapplying my UTM template fix existing Unknown conversions?
No. Attribution cannot be applied retroactively. New conversions will attribute correctly once the click ID and UTM are captured at session time, but past Unknown conversions stay as they are.
Why do some conversions show as Direct instead of Unknown?
Direct means the session started with no referrer and no UTM — the visitor arrived without a trackable source. Unknown means AnyTrack could not match the conversion to any session at all. Both point to missing click or UTM data.
Does this only affect GoHighLevel and Zapier?
No. It affects any CRM (HubSpot, GoHighLevel, and others) when the contact is created outside a tracked browser session — for example from an external form like Typeform or Jotform, or through a Zapier or Make automation. The native CRM integrations work because contact creation happens on the platform's own forms where the Tracking Tag runs. For any external form or automation, follow the Form Tracking guidelines and pass the click ID through to the CRM. See the HubSpot and GoHighLevel integration guides for native setup.