The Meta Account Hygiene Checklist We Run Before Spending a Single Dollar

Somewhere between a quarter and a third of the conversions a misconfigured account should be reporting just never show up. The sale happened. The money cleared. Meta simply never heard about it, so the algorithm learned from a blurry, half-missing picture of who actually buys.

That's the number that should stop you before you ever press publish. Not your creative. Not your targeting. The plumbing underneath both.

Here's the thing nobody tells you when you're excited to launch. The most expensive mistakes in a Meta account aren't made in the ad. They're made in the setup you skipped because it was boring. I've taken over accounts spending real money where the pixel was double-firing, the domain was never verified, and half the purchase events were landing in a void. The ads weren't the problem. The foundation was.

So before we spend a single dollar on a new client account, we run the same pre-launch checklist every time. It isn't glamorous. It's the difference between teaching the algorithm with clean data and lighting budget on fire while it guesses.

Here's the facebook ads setup checklist we actually run, and the failure story behind each item so you know why it's there.

1. Verify your domain (the one only you can do)

This is first because Meta won't let you fully control your own ads without it, and because it's the one step an agency literally cannot do for you. The domain is yours, not ours.

The failure story: a brand comes to us already running ads, decent creative, and their event setup keeps breaking in ways nobody can explain. Turns out the domain was never verified. Without it, when iOS privacy changes hit, you lose the ability to decide which conversion events take priority, and you're capped at a handful of events that Meta picks for you rather than the ones that matter to your funnel.

The fix takes about five minutes. In Business Manager, go to Brand Safety, then Domains, add your domain, and you'll see it sitting there marked "not verified" with a little red status. For a Shopify store the simplest route is the meta-tag method: copy the snippet Meta gives you, paste it into the head section of your theme.liquid, save, and hit verify. Give it a few seconds, refresh, and the status flips to green.

One thing I'll always do after pasting any code into a theme: reload the live storefront and click around to confirm I didn't break anything. Live edits to a theme can go wrong, and it's better to catch it in thirty seconds than after you've launched.

2. Install the pixel and the Conversions API, not just one

A lot of accounts are running on the browser pixel alone, the way it was set up in 2019. That's half a tracking setup in a world that started blocking the browser half years ago.

The failure story here is quiet, which is what makes it dangerous. A pixel-only account doesn't throw an error. It just under-reports. Ad blockers, browser privacy settings, and iOS all chip away at what the pixel can see, and you slowly lose visibility on the buyers you most want to find. The account looks like it's working. It's just working with one eye closed.

The fix is to run both: the browser pixel and the Conversions API together. The pixel sends events from the customer's browser. The Conversions API sends them server-side, straight from your platform, where the privacy blocking can't reach. On Shopify this is largely handled through the native integration, which is the path I'd point most brands to rather than building something custom you'll have to babysit.

With both feeding Meta, the algorithm gets a far more complete record of who bought. And complete data is the entire job here, because everything the optimisation does downstream is only as good as the signal you feed it.

3. Set up event deduplication (or your numbers lie twice)

Here's the trap people fall into the moment they hear "run the pixel and the Conversions API together." If both are sending events and you haven't deduplicated, every purchase gets counted twice.

The failure story: a founder proudly tells me their ROAS doubled overnight after they added server-side tracking. It hadn't. They'd just started double-counting every sale, browser and server both claiming the same purchase. The reported numbers looked fantastic and the bank account didn't move a cent. Worse, they were about to scale spend on a metric that was pure fiction.

Deduplication is what stops that. It's a way of telling Meta that the browser event and the server event are the same sale, usually by passing a matching event ID on both, so Meta knows to count it once. The Shopify native setup handles this for you, which is another reason I lean on it.

I believe this is the single most under-checked thing in ecommerce accounts, because it doesn't look like a problem. Inflated numbers feel good. But you cannot make good decisions on a number that's lying to you, and a doubled conversion count is a lie that flatters you right off a cliff.

4. Build a clean, deliberate account structure

Once the data is honest, the structure has to not get in its own way. This is where I see the most "we've always done it this way" damage.

The failure story is almost always the same shape. A brand has a sprawl of overlapping ad sets, all chasing the same audience, all bidding against each other. They've been duplicating campaigns for months because someone read that's how you scale. The result is the brand competing with itself, frequency climbing, and costs creeping up for no reason anyone can name.

What I'd run instead at launch is deliberately simple:

  • One country per campaign. Get a single market working before you bolt on more. Mixing geographies early just muddies which one is actually carrying the result.
  • Broad targeting, and let the data exclude. Modern Meta does the finding. The targeting lever I actually pull is the exclusion: carve out anyone who purchased in the last 30 days so you're not paying prospecting prices to reach existing customers.
  • One clean prospecting campaign to start, with budget at the campaign level. Resist the urge to launch fifteen ad sets on day one. You want spend concentrated enough to actually learn from, not smeared so thin nothing reaches statistical meaning.

A messy structure can quietly tax everything above it. Clean it up and the same creative, the same budget, suddenly has room to breathe.

5. Choose the campaign type on purpose

This last one isn't a config error, it's a strategic default people accept without thinking, and it costs them.

The failure story: a brand launches everything on the fully automated campaign type because it's the path of least resistance, then can't work out why performance is strong for two weeks and then fades. The automated setup leans hard toward middle and bottom of funnel, the people closest to buying. Brilliant for a short sprint. But it burns through that warm audience fast, and when it's gone, you're left wondering where the performance went.

Here's my take. For a one-off push, a sale, a launch weekend, the automated type is genuinely useful and I'll use it. But for the long-term engine of the account, I want the manual campaign with the original audience setting, because it doesn't over-prioritise the easy bottom-funnel impressions and it gives you a structure you can actually steer for months instead of one you keep tearing down and rebuilding.

Pick the type to match the job. Sprint versus marathon. Getting that one decision right at setup saves you from the frustrating relaunch cycle that catches so many accounts.

Run it yourself before your next launch

None of this is exciting, and that's exactly why most accounts skip it and most accounts bleed budget they never see leave.

So before your next campaign goes live, walk your own account through these five. Is the domain verified. Are the pixel and the Conversions API both firing. Are those events deduplicated so your numbers aren't doubled. Is the structure clean and deliberate. Is the campaign type matched to whether you're sprinting or building. Each one takes minutes to check and any single one of them, left broken, can quietly waste a meaningful slice of everything you spend after it.

Run the list. If even one item makes you pause, you've just found money you were about to lose, and that's a better place to start than any new creative ever was.

Ethan To
CEO @ Pigeon Digital