Attribution on HighLevel
Updated 2026-09-19
HighLevel records where a contact came from when the source is captured at the point of entry, through a tagged form, a tracked link, or a connected ad account. It cannot recover a source you did not capture. Expect its counts to differ from your ad platform's and from your previous email tool's, and decide up front which one you will treat as the record.
What HighLevel captures
As at September 2026, HighLevel's attribution reads UTM parameters (utm_source, utm_medium, utm_campaign, utm_content), ad click identifiers (Google's gclid, wbraid and gbraid, and Microsoft's msclkid), the referring domain, and activity within a browsing session (source: help.gohighlevel.com, checked September 2026). It sorts a contact into a source category, paid search, paid social, organic search, referral, direct or a manual entry, using a set of rules that check the URL and referrer in a fixed order.
First attribution and latest attribution
HighLevel stores two attribution values on every contact. First attribution is set on the contact's first recorded interaction and does not change afterward. Latest attribution updates with the most recent interaction. Both stay on the record permanently (source: help.gohighlevel.com, checked September 2026). For judging which channel produced a customer, first attribution is usually the more useful of the two; latest attribution is more useful for understanding what brought someone back.
Why two tools will never agree
An ad platform counts a click the moment it happens on its own server. HighLevel counts a contact once a form is submitted, a link is followed with its tag intact, or a workflow records the event. A visitor who clicks an ad, closes the tab, and books a call from a text message two days later can appear as a paid click in one system and a direct or referral contact in the other. In businesses we have advised, an owner's email tool and HighLevel reported different click counts from the same send. Neither number was wrong; the two tools were counting different things. The lesson was to stop comparing totals across systems and instead watch the trend inside one.
The rule
Pick a system of record before you need the number for a decision. If HighLevel is the record, tag every entry point, forms, ad connections and links, before the campaign runs, not after. If your ad platform is the record, use HighLevel for pipeline and follow-up and leave attribution reporting to the platform that ran the ad. Compare a campaign's trend within that one system, week over week, rather than its total against a second system's total.
Setting it up
Connect your ad platform's reporting inside HighLevel where a native connection exists (see integrations), and add a source or tag field on every form and link that a lead could arrive through. A form with no source field, or a link with the tag stripped, produces a contact HighLevel correctly records as direct, even if the true source was an ad. That gap is not a HighLevel fault; it is a form nobody finished setting up.
Questions people ask
Does HighLevel track where leads come from?
Yes, when the source is captured at entry through a tagged form, a tracked link, or a connected ad account. It cannot back-fill a source that was never captured.
Why do its numbers differ from Facebook or Google?
The platforms count a click on their own server the instant it happens. HighLevel counts a contact once a form, link or workflow records the event, which can be minutes, hours or days later, and through a different device.
Can it show me which ads produced customers?
It can show which contacts arrived tagged to a given campaign, if the tag survived to the point of entry. Whether that contact became a customer is then a pipeline question, answered in sales pipeline.
How do I set up attribution?
Add UTM parameters to ad links, connect the ad platforms HighLevel supports natively, and put a source field on every form. Do this before the campaign starts.
Which report should I trust?
The one you decided on before the campaign ran. Judge a campaign by its trend inside that one report, not by matching its total against a second tool.