Protecting Multiple Client Ad Accounts as an Agency
The nightmare scenario for a solo operator is one disabled account. For an agency, it's worse: you're managing 30 accounts across 12 clients, and they don't all fail on the same day. They fail on a Tuesday when you're heads-down in a campaign audit for someone else. You find out when a client emails. Sometimes when they call, angry.
I ran a small agency before building Advino. Our Business Manager held accounts for eight clients at the time. When one account got flagged for a policy violation, Meta's review system didn't stay neatly contained. The ripple hit our payment method, froze another client's campaigns for 72 hours, and cost us that client. One incident on one account. That's the risk most agency owners underestimate until it happens to them.
Why one ban becomes everyone's problem
Most agencies structure their Meta access the way Meta makes it easiest to structure it: one Business Manager, all client ad accounts living inside it, one payment method on file, shared pixels and catalogs where possible. It's operationally convenient. It's also a single point of failure.
When Meta flags an account for suspicious activity, it looks at the surrounding neighborhood. Accounts that share a Business Manager, a payment method, or an admin user inherit some of that scrutiny. This isn't documented cleanly in the Meta Business Help Center, but it's consistent enough that most agency operators who've been through it describe the same pattern: one account gets restricted, then a review starts on a second, then the payment method gets flagged. It spreads.
There's also the client relationship angle. A client doesn't care that a different client's account caused the problem. They care that their campaigns are paused and you didn't warn them. The contractual exposure is real, and the reputational exposure is worse. Agencies run on referrals. One bad incident becomes a story.
If you want to understand exactly why Meta disables accounts and what triggers the initial flags, the full breakdown is here.
Why manual checking doesn't scale
Early on, I had a morning routine: open Ads Manager, tab through each account, check for red banners or delivery warnings. It took about 40 minutes and gave me the illusion of control. The problems with it are obvious in retrospect.
First, 40 minutes is optimistic for 8 accounts. At 30 accounts, you're looking at over two hours of just tab-switching, assuming nothing needs a closer look. Nobody actually does this every day. Which means days get skipped. Which means a restriction that shows up Monday afternoon doesn't get caught until Wednesday morning.
Second, you're checking for problems that are already visible. Meta doesn't email you when an account starts accumulating policy violations below the threshold for restriction. By the time there's a red banner, the account is already in trouble. Manual checking is reactive, not preventive.
Third, you're the bottleneck. If you're on a call, at a client meeting, or just away for a long weekend, nothing gets checked. The accounts don't pause their activity just because you're not watching.
The math is straightforward. N accounts x daily checks x human attention span = something that breaks down at scale. Most agencies hit the wall somewhere between 15 and 25 accounts. After that, you find out about problems when the client emails you. That's too late.
What a monitoring system actually needs
Not all monitoring is the same. A system that fires an alert every time a campaign underspends by 5% will train you to ignore alerts. One that only catches hard restrictions is checking too late. What actually works is something closer to how an on-call engineer would think about it: severity tiers, routing rules, and enough context in the alert to act without having to log in first.
Per-account rules matter more than people expect. A DTC brand spending $3,000 per month has different acceptable thresholds than an e-commerce client at $80,000 per month. A 20% drop in delivery means something different for each. One-size-fits-all thresholds produce either too many false positives or too many misses. You need to set rules per account, or at least per tier of account.
Severity routing means your team only gets paged for things that require immediate action. A Warning that delivery is slightly off can go to a morning digest. A Critical that an account is restricted or a payment method has failed should go to Slack right now, or to whoever is on rotation.
Deduplication is underrated. If the same account fires 14 alerts in an hour because a campaign is in a bad state, you'll stop reading them. Alerts need to consolidate so the signal stays meaningful.
- Critical · SPEND_SPIKE on Atlas Apparel12m ago
- Creative scoring run completed · 247 ads47m ago
- Critical · ROAS_COLLAPSE on Penn & Polk1h ago
- Sarah K. acked the Penn & Polk alert1h ago
- Insights sync complete · 6 accounts2h ago
- Warning · CTR_DROP on Hydra Direct3h ago
This is what we built Account Shield to do. Per-account rules, severity tiers (Critical / Warning / Info), delivery to Slack or email, dedup logic so you get one alert per incident instead of a flood. The goal is to make the monitoring invisible until something actually needs attention, then make it impossible to miss.
Seeing real performance, not Meta's numbers
Protecting accounts is half the job. The other half is knowing which client is actually profitable so you're defending the right budgets when something goes wrong.
Meta's attribution model over-reports conversions. It counts view-through conversions at a 1-day window by default, it takes credit for purchases that were already in progress before the ad ran, and it doesn't deduplicate across channels. An account that looks like it's generating a 4x ROAS in Ads Manager might be running at 1.8x when you measure orders that actually came from Meta traffic. I've seen this gap in almost every account I've audited. Sometimes it's modest. Sometimes it completely changes the conversation about which campaigns to scale.
This matters for account protection because it affects your decisions under pressure. When an account gets restricted and you're scrambling to restore it, you're making judgment calls: how hard do you fight for this account? What budget should you move to a backup? If you're working from inflated numbers, you might fight hard for an account that isn't actually performing, and deprioritize one that is.
True ROAS pulls in real order data and reconciles it against Meta's reported conversions so you see the actual gap per account. That changes which accounts you scale, which you cut, and which you defend when the pressure is on.
A practical playbook for an agency portfolio
The specifics will vary by agency size, but the sequence holds regardless of whether you're managing 8 accounts or 80.
- Inventory every account and Business Manager you have access to. Write it down. Not just the active ones. Dormant accounts in a shared BM can still create exposure if they were used for anything questionable by a previous team member or client. Know what's in your neighborhood.
- Isolate high-risk clients where possible. If you have a client in a sensitive vertical (supplements, crypto-adjacent, anything with aggressive claims), consider a separate Business Manager so a restriction there doesn't touch your other accounts. Yes, it's more overhead. It's less overhead than losing two other clients because of contamination.
- Set per-account thresholds, not global ones. Define what "normal" looks like for each account: typical delivery range, spend pacing, CPM band. Alerts are only useful if you've calibrated them against baseline.
- Route by severity. Critical alerts (account restricted, payment failed, ad account disabled) go to Slack immediately, to whoever is on rotation. Warnings (delivery down more than 30%, unusual CPM spike) go to a morning review. Info-level things can aggregate into a weekly summary.
- Define your incident response before you need it. Who acts when an account gets restricted? What's the first thing they do? Who contacts the client? What's the SLA for client communication? Writing this down when everything is calm means you're not improvising at 6pm on a Friday when someone's campaigns are paused.
- Know the warning signs before restrictions happen. Accounts rarely get disabled out of nowhere. There are usually signals: policy warnings, unusual rejection rates, sudden drops in ad approval speed. The warning signs guide covers what to watch for, account by account.
- Have the appeal process ready. If an account does get disabled, response time matters. Meta's review queues are slow; getting your submission in quickly means you're higher in the queue. The appeal playbook walks through what actually works and what wastes time.
- Review weekly, not just when something breaks. A 30-minute weekly pass across all accounts, looking at trend lines rather than snapshots, will catch things that daily alerts miss. Gradual degradation is harder to spot than a sudden event. Build it into a recurring meeting or a standing Friday task.
None of this is complicated. Most of it agencies know they should do but haven't systematized because there's always something more urgent. The problem is that "something more urgent" is usually a fire that a system like this would have caught before it started.
If you want to see what this looks like in practice across a real portfolio, start a trial and connect your first few accounts. The monitoring is free to explore and takes about ten minutes to set up.