Customer service representative with headset working at office desk. Professional workspace environment.
Photo by Antoni Shkraba on Pexels

Measurement

Part of Lead network measurement that preserves the state ledger

Eight fixtures to test lead network attribution methods before reporting

Eight authorised fixtures that test a lead network attribution rule before any report, with the expected result recorded first and a pause rule.

A lead network attribution rule is trustworthy only once it has produced a known answer on cases built to break it. Eight authorised fixtures do that, each forcing one decision the rule must make. Record the expected assignment first, then run the report and compare the two.

What to take away

  • Test attribution methods on authorised fixtures, not on live records.
  • Record the expected assignment before the run, then compare.
  • A mismatch pauses the report until identity, window and deduplication logic are corrected.
  • A passing test shows the rule runs as written, not that the network caused the outcome.

What a fixture test shows, and what it does not

A fixture test checks that a rule behaves as written. It cannot show that the network caused an outcome. An attribution total can reconcile to recorded outcomes and still overstate causal contribution, because other media, seasonality, price or customer intent may have produced the result.

Keep the two layers apart in the report. Attribution accounts for recorded touchpoints under a named rule. Causal evaluation asks what would have happened without the network, and it needs its own design. Choose rule-based attribution for accounting, and causal evaluation only when an incremental decision justifies it.

Attribution or Incrementality?

Does the decision concern accounting for recorded touchpoints?

Yes

use rule-based attribution

No

does an incremental decision justify causal design?

The HM Treasury Magenta Book is central government guidance on evaluation, and its Annex A gives detailed guidance on the range of evaluation methods. A private buyer should choose a proportionate design with a qualified evaluator rather than copy a method label. That is separate work from fixture testing.

Write the rule before the fixtures run

Name the eligible source event, outcome event, identity key, attribution window and time zone before any fixture runs. A fixture can only fail against a rule that was written down first. Say whether a credit, cancellation or refund revises an earlier assignment.

Also write how retries, duplicate enquiries, cross-device activity, offline contact and multiple recipients are treated. Freeze the query and rule version for the reporting period, so a later result can be traced to the rule that produced it.

Specify the Assignment Rule

  • Name eligible source event and outcome event
  • Name identity key, window and time zone
  • Explain retries, duplicates, cross-device, offline contact
  • Preserve all nine record states in reporting
  • Run data-loss checks before publishing
  • Freeze query and rule version per period

The eight fixtures

Each fixture isolates one decision the rule must make. Build them from authorised test data, and write the expected assignment next to each before the run.

FixtureWhat it containsDecision it forces
1. One sourceA single source event and one outcomeThe baseline: every method should agree
2. Repeated source eventsThe same source arriving several timesWhether a retry or duplicate enquiry earns a second credit
3. Two channelsTwo sources before one outcomeFirst-source, last-source or fractional split
4. Two devicesOne person on two devicesWhether the identity key joins them
5. Late offline outcomeAn outcome recorded after the window closesWindow, time zone and late arrivals
6. RejectionA record rejected after assignmentWhether it stays visible in operational reporting
7. CreditA credit issued after the outcomeWhether earlier assignment is revised
8. CancellationA cancelled outcomeWhether earlier assignment is revised

Rejected and quarantined fixtures must still show in operational reporting. That is what the state ledger is for: assigning a fulfilled service to a source does not let the others vanish.

Run each fixture through each method

Run the same eight fixtures through first-source, last-source and fractional multi-touch assignment, then compare every result with the expected one. The methods answer different questions and fail in different ways, so the rule must be named before any share is compared.

Attribution Approaches Compared

first eligible source

Question answered
which recorded source began journey
Principal limitation
later influences ignored

last eligible source

Question answered
which qualifying source preceded outcome
Principal limitation
earlier activity disappears

fractional assignment

Question answered
how credit divided by rule
Principal limitation
weights are assumptions

causal evaluation

Question answered
what changed vs counterfactual
Principal limitation
design assumptions may fail

First-source and last-source reports usually count assigned outcomes, so the denominator must state which outcomes were eligible for assignment. A fractional report needs weights that sum under a reproducible rule. Never compare shares if one method excludes unmatched outcomes and another retains them.

Run the fixtures as a path audit before choosing a rule, not after the first report has gone out.

When a fixture fails

A mismatch pauses the report until identity, window and deduplication logic are corrected. Do not publish a figure from a rule that failed a fixture, and do not edit the expected result to match the output.

Run data-loss checks before publishing. Report missing source events, unmatched outcomes, late arrivals and cross-channel exposure that the system cannot see. Preserve the submitted, quarantined, validated, matched, disclosed, accepted, rejected, credited, contacted and fulfilled states throughout.

Keep fixtures inside the data boundary

Fixtures should carry the minimum personal data the test needs. Under the UK GDPR, personal data must be adequate, relevant and limited to what is necessary for the purposes for which it is processed.

Identity stitching and longer windows can increase apparent coverage while increasing privacy and security risk. Purpose, minimisation, UK GDPR role and PECR channel decisions remain separate from analytical convenience. Use aggregate outputs where possible and restrict case-level joins to authorised users.

Protect the Data Boundary

  • Keep purpose and minimisation separate from convenience
  • Confirm UK GDPR role and PECR channel decisions
  • Use aggregate outputs where possible
  • Restrict case-level joins to authorised users
  • Report both layers under their real names

Before you act

  • Write the rule elements down before any fixture runs.
  • Record the expected assignment for all eight fixtures first.
  • Run every fixture through each method under comparison.
  • Pause the report on any mismatch until the logic is corrected.
  • Keep case-level joins to authorised users.
  • Do not relabel attribution as incrementality.

Common questions

Why record the expected assignment first?

Otherwise the output can be argued into the expected result. Written first, a mismatch is a finding, and it pauses the report until identity, window and deduplication logic are corrected.

Does a passing fixture test prove the network works?

No. It shows the rule runs as written. An attribution total can reconcile to recorded outcomes and still overstate causal contribution, so a causal claim needs a separate design.

What data should the fixtures contain?

Authorised test records holding the minimum personal data the test needs, with aggregate outputs where possible. Case-level joins stay restricted to authorised users.

More in Measurement