Measurement / calculator / Free to use

Tracking Migration Paired Coverage Calculator

Compare old and new tracking using four matched-event counts. Reveal hidden losses, joint omissions and identity disagreement even when headline totals match.

Growthcraft Editorial · 2026-10-06. AI-assisted research and implementation. Examples are synthetic; Akshay's personal review is not claimed.

Enable JavaScript to change inputs in the interactive calculator. The complete formulas, default example and limitations are available below.

Prepare four mutually exclusive counts

Start with one independently defined eligible reference and classify every reference event once: observed in both pipelines, old only, new only or neither. Use the same identity, event window, eligibility rules and arrival cutoff. Do not paste customer identifiers. The calculator works locally and does not consume AI audit credits.

Deduplicate observations for presence only after recording raw duplicate counts. Keep outside-reference events separate. If the reference itself is the union of your old and new exports, you cannot estimate neither and must not present the resulting coverage as complete.

Formulas and units

Let B be both, O old-only, N new-only and Z neither. Reference T = B + O + N + Z. Old observed = B + O; new observed = B + N. Coverage is each observed count divided by T. Coverage change in percentage points is 100 × (N − O) / T. Discordant events = O + N; discordance rate = (O + N) / T.

Shared/union overlap, also called Jaccard overlap, is B / (B + O + N). Missing from new = O + Z. Agreement including joint absences is (B + Z) / T. It is not coverage: two collectors that miss every event agree completely but cover nothing. Zero denominators return undefined rather than fabricated zero or infinity.

Reproduce and challenge the example

With B=80, O=10, N=10, Z=0, T=100. Old and new each observe 90 events: 90% coverage, zero percentage-point change. Yet 20 events disagree and shared/union overlap is 80%. This is why a matching total does not prove migration parity.

Change neither to 900: old/new coverage becomes 9%, while agreement including joint absences rises to 98%. Shared/union overlap remains 80% because joint absences are not in the observed union. All-zero inputs mean no evaluable reference and all rates undefined.

Interpret the result without a false pass mark

This is descriptive accounting, not statistical significance, a confidence interval, a causal effect or a cutover recommendation. A positive net change may contain old-only losses. A perfect presence match can still have wrong values, duplicated rows, consent failures or wrong destinations. Inspect those independently.

Each count accepts whole integers from 0 through 1,000,000. The bounded total is at most 4,000,000, safely within exact JavaScript integer arithmetic. These are implementation bounds, not quality thresholds. Editing any input clears the previous result; reset restores the synthetic reference. Copy/download exports the scope, counts, method version, result and limitations. Free-form inputs are not included in analytics events.

Shopify script-tag migration timeline motivates this review; Google Measurement Protocol validation guidance separates request validation from reporting evidence. This is an original operating method, not a platform-certified migration or legal consent assessment.

Companion resources

Make the measurement change reviewable

Scope the event contract, evidence gaps and implementation owner before changing the reports that guide acquisition and lifecycle decisions.

Explore consumer growth support

Back to strategic resources