Managing multiple Facebook ad accounts: how to keep client A's settings out of client B's ads
The expensive mistake in agency media buying is not a slow launch. It is client A's pixel on client B's ad, discovered after a week of spend. Isolation is a setup problem, and setups can be fixed.
The five things that leak
When one person launches for several brands, the same five settings cause almost every cross-account incident:
| Setting | How it leaks | What it costs |
|---|---|---|
| Pixel and conversion event | New ad set inherits the last pixel you used, or a duplicated ad set carries the old one | A week of spend optimised toward the wrong site's events |
| Facebook Page and Instagram identity | Wrong Page selected in the identity dropdown, especially with similar names | Ads running under another client's brand; usually caught fast, always embarrassing |
| Default copy and destination URL | Copy pasted from a template doc, URL left from the previous ad | Wrong landing page, wrong offer, sometimes a competitor's client |
| Naming pattern and UTMs | One convention typed from memory across accounts | Reporting rows that mix clients or cannot be split |
| EU advertiser identity (DSA beneficiary and payer) | Filled from memory or left as the last legal entity used | Delivery blocked in the EU, or the wrong company named as beneficiary |
None of these show in the campaign list. You find them by opening the ad, or in the report.
Why it happens
Ads Manager stores structure, not defaults. It knows which pixels an account may use; it does not know which one this client's ads should use by default. Every new ad set starts from either Meta's defaults or from whatever you duplicated, and at 22:00 with six tabs open, "whatever you duplicated" is the last thing you touched, in whichever account that was.
The fix is therefore not more attention. It is moving the defaults out of your head and into something scoped per account.
The per-account setup
Do this once per ad account, in a shared document if you have no tool, in the tool if you have one:
- Identity: the exact Facebook Page and Instagram account for this client. Write the IDs, not just the names.
- Pixel and default conversion event.
- Default copy: primary text, headline, description, call to action. The version that is approved, not the draft.
- Destination URL and UTM template. See UTM parameters for Meta ads.
- Naming pattern for campaigns, ad sets and ads, including the client code as the first field. See the naming convention guide.
- Advantage+ enhancement toggles per creative type, since a brand-strict client and a performance-only client want different defaults. See how to turn off enhancements.
- DSA beneficiary and payer for any account whose ads can show in the EU. See EU DSA fields on Meta ads.
Then two working rules:
- One account per session. Close the other tabs. If your tool has an account switcher, switch, do not multitask.
- Every batch lands paused and gets the sample check. The QA checklist exists for exactly the five leaks above; checks 1, 2, 4, 5 and 9 catch them.
What this looks like in Adlio
Adlio stores all seven items per ad account. When you switch accounts in the app, every default switches with it, and a launch only ever reads the settings of the account you are launching into. There is no global default that could bleed across, and there is no "remember last used" between accounts. Add to that ads that always land paused, and a wrong-account launch becomes a batch you delete before spend instead of an invoice conversation.
It is also why the free tier is counted in ads, not accounts: connect all your clients' accounts, set each one up, and use the first 15 ads to check that the isolation holds on your own setup. Most tools in this category count accounts instead; the AdManage comparison shows what that costs at 1, 5 and 10 accounts. See how bulk upload works and pricing.
Frequently asked questions
What is the most common cross-account mistake?+
Launching into the wrong ad account because several were open in tabs, closely followed by a copied default (pixel, Page, or UTM template) from the last account you worked in. Both are invisible in the ad list; you only see them by opening the ad, or in the report a week later.
Does Meta Business Manager prevent settings from leaking between accounts?+
It scopes assets (which pixels and Pages an account may use) but it does not stop you from choosing the wrong one of the allowed options, and it does not store per-account defaults for copy, naming or UTMs. Those live in your process or in your tooling.
How does Adlio isolate accounts?+
Every default is stored per ad account: Facebook Page and Instagram account, pixel, default copy, destination and UTM template, naming pattern, Advantage+ enhancement toggles and EU DSA beneficiary and payer. Switching accounts switches all of them, and nothing from one account is ever read when launching into another. We treat any cross-account leak as a bug of the highest severity.
Adlio team
Built by media buyers who launch Meta ads in volume. Questions or corrections: support@adlio.ai.
Topic cluster
Launch hygiene and QA
Naming, UTMs, identity, DSA and the paused review that makes a bulk batch safe to set live.
- Meta ads naming convention: a template you can copy, and how to apply it to every ad
- UTM parameters for Meta ads: set them once per account, apply them to every ad
- The pixel and conversion event per ad account: set once, verify on every launch
- Instagram account not showing in Ads Manager: the causes, and when you do not actually need it
- Adding ads to an existing ad set: what it does to the learning phase, budget and delivery
- Facebook ad review when you publish in bulk: timing, re-review triggers, and the paused-ads advantage
- Rolling back a bulk launch: pause many ads at once without resetting learning
- Managing multiple Facebook ad accounts: how to keep client A's settings out of client B's ads
- Meta ads in the EU: the DSA beneficiary and payer fields, and how to stop them blocking your launches