Skip to main content
Adrià García
Menu

Local and private review

Measurement and tracking review

Six decisions that test whether data collection answers real questions and can change without losing quality.

Choose the closest description of the current state. You will not get a score: you will see three priorities and the baseline worth preserving.

The review runs entirely in this browser. It does not send, store, or share your answers.

01 Questions and consumers Which question or decision justifies each collected data point?
02 Event contract Do web, apps, and backend describe the same fact with the same meaning?
03 Identity and context Do identifiers and session context travel under consistent rules?
04 Release and governance How does a tracking change move from request to production?
05 Quality and observability How is broken collection or changed meaning detected?
06 Delivery and consumers Which transformations occur before data reaches each destination?
Every decision, and what to do with each answer

Questions and consumers

Why it matters: Without a question and a consumer, tracking accumulates variables whose cost remains after their usefulness disappears.

  • The implementation collects what the tools allow and decides how to use it later.

    Next check: Choose one critical report and trace which decisions it supports and which fields it actually uses.

  • A tracking plan exists, but it mixes current requirements with inherited fields.

    Next check: Tag every field with its consumer, purpose, and last-use date before extending the plan.

  • Events and variables answer documented questions and have known consumers.

    Next check: Check that every new request declares the decision, consumer, and acceptance criterion.

  • Collection is reviewed and retired when questions, products, or consumers change.

    Next check: Maintain a periodic usage review and retire contracts with no consumer before adding new ones.

Read the related pattern: Reuse the data foundation across channels

Event contract

Why it matters: When names, types, or send times diverge, each consumer reconstructs a different version of the same behavior.

  • Each surface sends events according to the needs of its primary tool.

    Next check: Compare one shared journey across web, app, and backend and record differences in name, type, and timing.

  • A shared taxonomy exists, but exceptions are neither versioned nor retired.

    Next check: Inventory active exceptions and decide which enter the contract, remain isolated, or are removed.

  • Events have a defined schema, meaning, examples, and owners.

    Next check: Validate contracts during development and ingestion, not only through later manual review.

  • Contracts are versioned, validated automatically, and maintain known compatibility.

    Next check: Test incompatible changes in a controlled environment and document affected consumers before release.

Read the related pattern: Identity is a source contract

Identity and context

Why it matters: Technically correct measurement can still create false journeys when identity changes across surfaces or session states.

  • Each tool decides which identifier to use and when to persist it.

    Next check: Map the identifier journey before and after login and locate where values are replaced or duplicated.

  • Identity rules exist, but do not cover every session, device, or consent transition.

    Next check: Test login, logout, rejection, and device transitions with reproducible cases.

  • Each identifier has a documented source, persistence rule, and use for every surface.

    Next check: Add tests that detect unexpected identity changes before releasing new versions.

  • Identity transitions are tested and their effects are observed in downstream consumers.

    Next check: Maintain alerts for fragmentation, duplication, and context loss in critical journeys.

Read the related pattern: Identity is a source contract

Release and governance

Why it matters: Without a shared release flow, documentation, code, and configuration stop describing the same implementation.

  • Changes are published directly in each tool and documented afterwards.

    Next check: Choose the latest change and reconstruct who approved, tested, published, and documented it.

  • Environments and approvals exist, but urgent exceptions bypass the process.

    Next check: Review recent urgent changes and add a mandatory closure step that updates tests and documentation.

  • Request, specification, testing, and release form one traceable flow.

    Next check: Check that rollback, retirement, and ownership also form part of every change.

  • Changes are contract-tested and can be retired without depending on their author.

    Next check: Periodically run a controlled rollback or retirement to validate the complete procedure.

Read the related pattern: Handover is architecture

Quality and observability

Why it matters: A tag can keep sending requests while losing fields, duplicating events, or changing data meaning.

  • Failures are discovered when a report or campaign no longer reconciles.

    Next check: Select three critical events and define expected volume, required fields, and a duplication signal.

  • Manual checks run before release, but there is little monitoring after the change.

    Next check: Add a post-release check for volume, schema, and affected consumers.

  • Critical events have tests, thresholds, and investigation owners.

    Next check: Simulate loss, duplication, and type changes to confirm alerts are actionable.

  • Quality is observed from collection through to relevant reports and activations.

    Next check: Periodically review false positives, coverage, and alert detection times.

Read the related pattern: Handover is architecture

Delivery and consumers

Why it matters: Client-side and server-side routes can apply different filters, names, and deduplication without making the difference visible downstream.

  • Each destination receives its own variant and transformations live inside connectors.

    Next check: Compare one event at source, in the server-side layer, and in two destinations to locate implicit transformations.

  • Primary routes are documented, but deduplication and errors do not follow a shared rule.

    Next check: Define deduplication keys, retry policy, and an owner for every critical route.

  • Transformations, filters, consent, and deduplication are visible and testable by destination.

    Next check: Add contract tests that confirm what leaves, what is dropped, and what is retried.

  • Each route has traceability, alerts, and reconciliation with the final consumer.

    Next check: Test partial failures and confirm retries and deduplication do not alter final metrics.

Read the related pattern: Reuse the data foundation across channels