Tracking migration checklist
Almost every failed tracking migration fails the same way: the new setup goes live and the old one keeps running, so the account double-counts from the day it was supposed to improve. The sequence that avoids it is unglamorous — measure first, run both in parallel with deduplication verified, then retire the legacy paths one at a time with a reconciliation between each. Retiring them individually is what makes a regression attributable instead of a mystery.
Free30 minutesNo obligation
Migration checklist · what breaks
Where teams get this wrong — Migration checklist
- 01
Switching over in one step
Then a regression could be any of six changes and nobody can tell which.
- 02
Leaving legacy paths running
The new container doesn't switch anything off. Both send.
- 03
No baseline before starting
Then there's nothing to prove the migration improved anything.
Migration checklist · the fix
What a correct implementation looks like — Migration checklist
A baseline reconciliation before anything changes
So improvement is demonstrable.
Parallel running with deduplication verified
Both live, counted once.
Legacy paths retired one at a time
With a reconciliation between each.
A rollback plan
Written down before you need it.
Migration checklist · architecture
The sequence — Migration checklist
Six steps in this order. The order is the whole method — every step exists because skipping it produces a specific, common failure.
- 1
Baseline
Reconcile your own records against every platform before any change. This is what improvement gets measured against.
- 2
Inventory
Every system currently sending. Container, apps, native integrations, the previous agency's tags. Usually more than expected.
- 3
Build alongside
The new setup live in parallel with the old, not replacing it.
- 4
Verify deduplication
Both paths sending, counted once. Confirm before removing anything.
- 5
Retire one at a time
With a reconciliation between each removal, so a regression is attributable to a specific change.
- 6
Re-baseline
Reconcile again after the last removal, and once more thirty days later.
Migration checklist · diagnose
Common mistakes and how to validate each — Migration checklist
Ordered by how often we find them. Each one has a specific check rather than a general instruction to be careful.
- 01
No baseline
Ask what the numbers were before. If nobody knows, capture one now even mid-migration.
- 02
Paths missed in the inventory
Count the systems that could be sending, then check for the ones nobody mentioned.
- 03
Everything switched at once
If something regresses you'll have six candidate causes and no way to isolate them.
- 04
Deduplication assumed
Verify it during the parallel run, with the indicator where the destination exposes one.
- 05
No re-check after thirty days
Migrations that hold at handover and drift a month later are common.
Migration checklist · prove
How to prove your implementation is right — Migration checklist
Against your own records and a live payload, not against a preview screen.
Source of truth
your own order or CRM records, reconciled before and after
- A baseline reconciliation captured before any change.
- A complete firing-path inventory.
- Deduplication verified during parallel running.
- A reconciliation between each legacy path removal.
- A final reconciliation, repeated thirty days later.
- Checked on a live conversion, not in preview mode.
- Reconciled over a fully closed window, matched per record.
- Re-checked 30 days later.
Migration checklist · free audit
What we check in the free audit
- No baseline
- Paths missed in the inventory
- Everything switched at once
- Deduplication assumed
- No re-check after thirty days
Checked against
your own order or CRM records, reconciled before and after
Free30 minutesNo obligation
Migration checklist · when not to buy
What this reference deliberately leaves out — Migration checklist
Stated openly, because a reference that's silent about its own gaps is the dangerous kind.
- Platform-specific migration steps — Shopify's Customer Events cutover, for instance — have their own pages.
- Historical data migration between analytics platforms is a different problem and generally isn't possible.
- Ad account and conversion action restructuring is adjacent and should be sequenced separately, not bundled in.
- Vendor documentation is the authority, not this page. Where the two disagree, the vendor is right and we'd like to know so we can correct it.
- Parameter names and behaviour change. Anything here is accurate as we last verified it; verify against the current documentation before you rely on it for a build.
Migration checklist · what we deliver
The checklist
Baseline reconciliation captured
Before any change.
Every existing firing path inventoried
All of them survive the migration unless removed.
Deduplication verified during parallel running
Before anything is switched off.
Legacy paths retired individually
Reconciling between each.
Rollback documented
And tested if the stakes justify it.
Pricing
Pick the package that fits your ad spend
Browser-side starter
$400One-time fee · lifetime ownership
Repairs and verifies your existing browser-side setup against this reference, on a live conversion.
- Implementation checked against the spec
- Verified on a live conversion
- Reconciled against your own records
- Written handover
1st-party server-side
Recommended$800One-time fee · most popular
Money events sent from your own records through a first-party container on your subdomain, built to this specification.
- First-party server container on your own subdomain
- Events from your records, not the browser
- Deduplicated on a shared event ID at every destination
- First-party cookies beyond Safari's 7-day cap
- 95%+ accuracy and 8+ Meta EMQ, guaranteed in writing
Full 1st-party stack
$1,800One-time fee · lifetime ownership
Every paid channel server-side plus the offline loop, documented to this standard.
- Everything in 1st-party server-side
- Pinterest, Snapchat, Reddit and LinkedIn CAPI
- CRM and offline conversion loop
- Refunds and cancellations corrected wherever each platform allows it
- Monitoring so the next break surfaces in days
FAQ
Migration checklist questions, answered
You should. Parallel running with deduplication verified is what makes a safe migration possible. Just don't leave it that way.
So that if something regresses, you know which removal caused it. Switching everything at once leaves you with six candidates.
Legacy paths left running. The new container doesn't switch anything off, and the account double-counts from day one.
The build is days. The parallel run and staged retirement add a couple of weeks if done properly, and that's the part worth not rushing.
