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 website form, a tracked call or a capture endpoint, SmileLine records a touch: a snapshot of where that contact came from at that moment. A tracked call carries the caller's web session — the UTMs and click IDs their browser held when the number was assigned — so a phone enquiry attributes like a form one. 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 — a visit with no campaign parameters and no external referrer.
You don't configure any of this. With the tracking script installed, the visitor's marketing parameters travel with every captured submission automatically. If you post to a capture endpoint from your own code instead, make sure your form forwards the page's query parameters (see Post leads from your own code).
How the lead source is chosen
A new patient created from a website form or a tracked call also gets a Lead source from Settings → Lead sources, chosen from the same signals — you no longer pick one per tracking pool. In order:
- Name match — the
utm_source(or the ad platform behind a click id such asgclidorfbclid) is matched by name against your Lead sources list, within the channel the medium or click id implies:utm_source=googlewithutm_medium=cpcpicks Google Ads, a paidtiktokpicks TikTok Ads, a paidfacebook,instagramormetapicks Facebook / Instagram Ads. A bareutm_sourcewith no medium matches across every channel. - Create — a paid-search or paid-social source that matches nothing is added to the list under its own name (a
bingclick becomes Bing); a bareutm_sourcethat matches nothing (sayutm_source=leaflet) becomes a new source on the Other channel. Creation stops at 50 active lead sources; referring websites never create sources. - Channel anchor — organic search, social, email, AI assistants, referring websites and phone calls use your first lead source on that channel (Organic search, Social media, Email, AI assistants, Phone call, …). Paid channels never anchor, so an unmatched Bing click is not booked as Google Ads.
- Fallback — anything else (a direct visit with no tags, a submission with no attribution) uses the form's Lead source if the submission has no attribution. A plain direct visit with no form fallback gets Website; a submission with no attribution and no fallback gets none.
A tracked call from a visitor with a web session follows the same rules as a form; a caller with no web session gets Phone call. Sources SmileLine creates appear in Settings → Lead sources like any other; they are not logged in the activity log as a user action.
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
- Set each form's Lead source if the submission has no attribution — it's used only when a submission arrives with no marketing parameters, since tagged submissions pick their source from the campaign data.
- 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.