Managing Many Meta Ads Accounts with AI, Across Business Managers

How I handle Meta ad accounts spread across several Business Managers from Claude, ChatGPT and Meta Muse: creative fatigue, cost per lead, lead exports and budget changes I can read.

Meta accounts are messier than Google ones for an agency. They sit in different Business Managers, some clients add you as a partner and some add your personal profile, and the numbers I care about most (frequency, cost per lead, whether the leads actually arrived) are spread across several screens. This is how I run my Meta accounts from Claude, ChatGPT and Meta Muse. It is part of a series; start with how I manage 20 ad accounts for the overview.

Key takeaways
  • Connect each Meta login that has access to client accounts; meta_ads_list_ad_accounts then lists every ad account across all of them.
  • Frequency rising while CTR falls is the signal I act on, and meta_ads_frequency_watcher flags campaigns above a threshold (3.0 by default).
  • Meta budgets are stored in the currency's smallest unit, so always say the amount in plain currency and ask for the change to be shown before it is made.

Several Business Managers, several logins

My Meta accounts live in at least three kinds of places: my own Business Manager, clients' Business Managers where my agency is a partner, and a couple where a client added my personal profile to the ad account. Through MCP Ads I connect each Meta login once. meta_ads_list_ad_accounts then lists every ad account across all of them, and each change goes through the login that owns the account. Account names in Meta are often useless ("Ad Account 2"), so I ask for the list with the status, currency and last spend, and then refer to clients by name from that point on.

Prompt
List all my Meta ad accounts with their account ID, status, currency, time zone and spend in the last 7 days. Mark any account that is not active.

Performance and cost per lead

Most of my Meta clients are lead generation, so the number I look at first is cost per lead by campaign. meta_ads_campaign_performance returns spend, frequency, CTR, actions such as leads, and cost per action for every campaign in an account, with optional breakdowns by age, placement or device. I compare the last completed week to the week before, and I ask for the number of leads, not just the cost. A cost per lead that halved on three leads is noise; on thirty it is worth a look.

Prompt
For the dental client's Meta ad account, show spend, leads and cost per lead by campaign for last Monday to Sunday, next to the week before. Then break the best campaign down by placement. Keep it to a short table and two sentences on what changed.

Manage all your ad platforms in one place with MCP Ads

  • Google Ads
  • Meta Ads
  • GA4
  • Search Console
  • Tag Manager
  • Merchant Center
  • TikTok Ads
  • LinkedIn Ads
  • Microsoft Ads
  • Snapchat Ads
  • X Ads
  • ChatGPT Ads
  • WordPress
  • Instagram
  • Threads
  • Bing Webmaster
  • + more
Start your 7-day free trial

Creative fatigue

On small local audiences, ads wear out fast. The pattern is always the same: frequency climbs, CTR drops, cost per lead follows a week later. I want to catch it at the first two. meta_ads_frequency_watcher flags campaigns above a frequency threshold, 3.0 by default, with a suggestion for each: refresh the creative, reduce the budget or pause. I treat those as prompts for my own judgement, not instructions. A retargeting campaign at frequency 4 may be fine; a cold prospecting one usually is not.

  • Which campaigns across all my Meta accounts have frequency above 3 over the last 14 days?
  • For those, show CTR by week for the last four weeks so I can see whether it is falling.
  • Which ads in those ad sets have been running the longest?

One minute of Claude reading a live Google Ads account through MCP Ads, asking before it changes anything.

Lead export

Leads from Meta lead forms do not always reach the client's CRM, and "we got no leads this week" is a message I want to be able to answer with a file. meta_ads_lead_export reads every lead from a Page's lead forms for a date range and returns one CSV per form. I use it for two things: to send the client the week's leads when their own integration broke, and to check the platform count against what the client says they received. A gap between the two is usually a tracking or CRM problem, not an ads problem.

Prompt
Export all leads from the gym client's Facebook Page lead forms from last Monday to Sunday, one CSV per form. Then tell me how many leads each form collected and compare that with the leads Ads Manager reports for the same week.

Budget changes in plain currency

Meta stores budgets in the currency's smallest unit, so a daily budget of 50 in the account currency is sent as 5000. An AI that gets that wrong by a factor of 100 is the kind of mistake that ends a client relationship. meta_ads_update_budget and meta_ads_update_adset_budget both work in that unit, which is exactly why I never give the raw number.

My rule: I say the amount in plain currency, name the campaign or ad set, and ask for the old and new budget to be shown side by side before anything is sent. I also say whether the budget sits at campaign level or ad set level, because the two behave differently.

Prompt
In the dental client's Meta account, raise the daily budget of the "Implants - Leads" campaign from its current amount to, for example, 60 in the account currency. Before you change anything, show me the current daily budget, the new one, and the exact value you will send, then wait for my OK.

New campaigns and approvals

meta_ads_create_campaign, meta_ads_create_adset and meta_ads_create_ad all create paused by default, so nothing spends until I turn it on. I build in Claude, check the result in Ads Manager, and enable it there or ask for it to be enabled once I am happy. Changes happen only when I ask. On top of that I keep two habits: I always name the client and account in a prompt that writes, and I ask for a summary of proposed changes before any batch of them runs. For team members who only report, the viewer role on the workspace means they cannot change anything at all.

Meta Muse for the checks on the go

Muse is Meta's own agent, and I use it on my phone for the mid-week Meta checks: is anything not delivering, did leads come in, is a campaign over frequency. It connects to MCP Ads with one message, and it sees the same accounts Claude and ChatGPT do. The Meta Muse setup page has the message to paste.

Frequently asked questions

Can I manage Meta ad accounts from different Business Managers in one place?

Yes. Connect each Meta login that has access, and every ad account across those Business Managers can be used from Claude, ChatGPT or Meta Muse. Each change goes through the login that owns the account.

Why does the AI show a Meta budget as 5000 when I said 50?

Meta stores budgets in the currency's smallest unit, like cents. 5000 in that unit is 50 in the account currency. Always state the amount in plain currency and ask to see the value being sent before you approve the change.

How do I spot creative fatigue across many Meta accounts?

Ask for campaigns with frequency above a threshold, such as 3, over the last 14 days, and then look at weekly CTR for those. Rising frequency with falling CTR is the signal to refresh creative.

Can I export Meta lead form leads from ChatGPT or Claude?

Yes. MCP Ads exports leads from a Page's lead forms for a date range as one CSV per form, which you can then compare with what the client's CRM received.

Ready to connect your marketing stack?

Connect Google Ads, Meta Ads, GA4, and Search Console. Ask Claude anything about your accounts.