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 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:

  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 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.

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

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

On this page