Every buyer has seen it: the ad set that looks like a winner in Ads Manager and a loser in the tracker. Usually the culprit is drift — the sub-ID that was hand-typed, the duplicate that inherited the wrong URL, the rename that broke a lookup table. The fix isn't discipline. It's making the ID a property of the creative file rather than the ad. When the identifier is derived from the content itself, duplicates share it, renames can't touch it, and a relaunch in a new account still resolves to the same row in the tracker. This post walks through the convention we use — `sub1={buyer}__{hash}`, `sub2=adset`, `sub3=campaign`, `sub9=ad` — why the hash is opaque, and how to migrate a live account without breaking history.
Article
Bulk launching without tracking drift
Every buyer has seen it: the ad set that looks like a winner in Ads Manager and a loser in the tracker.
