Define the metric before collecting data

A click, unique visitor, conversion, QR scan, and page view are different events. Each metric needs a stable definition so a dashboard does not change meaning when implementation details evolve.

Store event time and ingest time, document duplicate suppression, and show when aggregates were last updated.

Collect the minimum useful signal

Campaign analysis often needs source, device class, broad geography, and a conversion outcome. It rarely needs an indefinite record of raw IP addresses or every available browser detail.

Use truncation or pseudonymization where appropriate, keep raw retention short, and separate customer-visible metrics from internal abuse signals.

Make eventual consistency visible

Analytics pipelines are usually asynchronous so redirect performance does not depend on an event database. The interface should communicate that small delay rather than presenting an estimate as instant certainty.

Retention and deletion need to propagate to both raw events and derived aggregates. Rebuildable reports should not become a hidden copy that outlives the customer policy.