Attribution
How SmileLine records where every lead came from, and where to see it.
By the end of this page you'll know what SmileLine records about a lead's origin, how the channel is worked out, and where that information surfaces in the app.
Touches: the capture record
Every time a lead arrives through a capture hook, SmileLine records a touch: a snapshot of where that contact came from at that moment. A touch stores:
- When it was captured and how it arrived (form, webhook, Zapier, lead ad, WhatsApp, SMS, call, chat, manual, import)
- The derived channel (see below) and the source name
- The UTM set: source, medium, campaign, term, content
- The landing URL and referrer domain
- Which capture form (hook) received it, and the affiliate label if the hook carries one
A patient can accumulate several touches — an enquiry from a Google ad in March and another from Instagram in June are both kept. The first touch is treated as the origin; the newest one shows as Last touch when it differs.
Technical match data recorded alongside a touch (IP address, device details, approximate geolocation, cookie snapshots, consent flags) stays server-side. It is never shown in the app or returned by list APIs.
Channels on journeys
Each journey also carries a single channel — the origin bucket used to group boards, reports and the dashboard lead flow. Captured leads get it derived from their touch; manually created leads inherit the channel of their Lead source (each entry in Settings → Lead sources belongs to a channel — see Vocabularies).
The channel buckets are: paid search, paid social, organic search, social, referral (website / friend / practice), existing patient, email, chat, direct, phone, walk-in, print, AI, other and unknown.
How the channel is derived
For captured leads the channel is worked out automatically, in order of confidence:
- Ad click ids — a
gclidmeans paid search, anfbclidmeans paid social, and so on for the other platforms' click ids. utm_medium— explicit mediums likecpc,paid-socialoremailwin over guesses.- Referrer — a social network referrer becomes social, a search engine becomes organic search, an AI assistant becomes AI.
- Otherwise the lead counts as direct or falls back to the hook's lead source.
You don't configure any of this — just make sure your website forwards its query parameters to the capture endpoint (see Embedding forms).
Where you see attribution
On the lead
Open a lead from the Today page: the Source group on the lead panel shows Channel, Source, Campaign, Medium, Term, Referrer, Capture form, Affiliate and Captured, plus a Last touch row when a newer touch exists. Leads created by hand show Manual / untracked with their lead source.

In reports
Attribution feeds several reports (see Reports):
- Lead sources — channel mix, top sources and how each converts
- Attribution (UTM) — touches by UTM source and campaign, with the journeys, wins and revenue credited to each first touch
- Lead volume and the Conversion funnel — split and stacked by channel
- The dashboard's lead flow graph traces journeys from channel to outcome

Every report accepts a Channel filter, so any number in the app can be narrowed to, say, paid social only.
Keep attribution clean
- Give every capture hook a sensible Lead source — it's the fallback when a submission arrives with no marketing parameters.
- Keep the Lead sources vocabulary tidy and each source on the right channel, since manual leads depend on it entirely.
- Use consistent
utm_campaignnames in your ads — the Attribution report groups by the exact string.