Attribution

What creates revenue, shown only where the evidence can carry it.

Most attribution fills the gaps with a model. Signal records the raw evidence at each step, joins steps only when identifiers match, and says Unknown for everything else. Fewer numbers, every one of them defensible.

  • Google AnalyticsLive
  • Google Ads readsLive
  • Click and source evidence capturePlanned
  • CRM, booking and sales connectionsPlanned
  • Payment and revenue truthPlanned

The chain

What is recorded at each step

Field names only. These are the identifiers that make a deterministic join possible.

  1. Landingrecords: site host, page URL, landing page, initial referrer
  2. Campaign tagsrecords: utm source, medium, campaign, term, content
  3. Click identifiersrecords: gclid, gbraid, wbraid, fbclid and other supported ids
  4. Sessionrecords: session and client identifiers
  5. Enquiryrecords: lead id, booking-intent id, channel
  6. Canonical booking or salerecords: the booking or sales system's own id
  7. Delivered outcomerecords: service or product id, delivered date
  8. Paymentrecords: payment, refund and collected value from the accounting source

Collected revenue feeds the next spend decision

Where this stands today

Channel and campaign evidence is read from Google Analytics and Google Ads now. Capturing click identifiers and referrers on your own site, and joining them to your booking and payment records, is designed and not yet built. Until it is, no Signal page claims revenue by click.

The rules

Ten rules every join obeys

Raw touch evidence is append-only. Normalised labels never overwrite raw values.
Unknown remains Unknown until deterministic evidence changes it.
Direct is a real classification, never the default for missing attribution.
Later visits do not rewrite the first-known origin.
Ambiguous phone or email matches remain unresolved.
A form submission is not a confirmed booking or sale. Confirmation needs the canonical source.
Revenue comes only from the payment or accounting source. Refunds and outstanding balances stay separate.
Google-reported conversions and Signal-verified outcomes stay in separate columns.
Every conclusion shows evidence timestamp, freshness, coverage, join method and confidence.
Client data and credentials are isolated per client. Cross-client learning uses only authorised, anonymised aggregates.

Status today

The capabilities behind this page

Google Analytics

Live

Sessions, users, channels, engagement and key events read nightly.

Google Ads reads

Live

Campaigns, ad groups, keywords, negatives, search terms, conversion actions and change history read into evidence tables. Nothing is written back.

Click and source evidence capture

Planned

Capturing campaign tags, click identifiers and the first referrer on the client's own site is designed and not yet built.

CRM, booking and sales connections

Planned

Enquiry, booking and sale records are not yet connected. Until they are, no page claims a booking from a form or revenue from a click.

Payment and revenue truth

Planned

Collected revenue, refunds and outstanding balances will come only from the payment or accounting source when it is connected.

Change and verification record

Partial

Website fixes are recorded with who selected them, when they were deployed and a re-scan verdict. An approval step and an observation window are not yet recorded.

Find out what your data can already prove

Tell us which systems you use. We reply with what can be joined deterministically today, what needs capture first, and what will stay Unknown.