SmileLineDocs
Lead capture

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:

  1. Ad click ids — a gclid means paid search, an fbclid means paid social, and so on for the other platforms' click ids.
  2. utm_medium — explicit mediums like cpc, paid-social or email win over guesses.
  3. Referrer — a social network referrer becomes social, a search engine becomes organic search, an AI assistant becomes AI.
  4. 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:

  1. Name match — the utm_source (or the ad platform behind a click id such as gclid or fbclid) is matched by name against your Lead sources list, within the channel the medium or click id implies: utm_source=google with utm_medium=cpc picks Google Ads, a paid tiktok picks TikTok Ads, a paid facebook, instagram or meta picks Facebook / Instagram Ads. A bare utm_source with no medium matches across every channel.
  2. Create — a paid-search or paid-social source that matches nothing is added to the list under its own name (a bing click becomes Bing); a bare utm_source that matches nothing (say utm_source=leaflet) becomes a new source on the Other channel. Creation stops at 50 active lead sources; referring websites never create sources.
  3. 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.
  4. 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.

Source group on the lead panel showing channel, campaign and capture form

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

Attribution report with UTM campaign breakdown table

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_campaign names in your ads — the Attribution report groups by the exact string.

On this page