| Use it for | Don't run your media on it |
|---|---|
| Ad-hoc questions about one account | Watching every account, market and KPI overnight |
| Grouping search terms by intent and drafting negatives for review | Alerts a whole team keeps acting on |
| One-off audits of settings, tracking and conversion actions | Telling a channel problem from a site, checkout or tracking problem |
| Weekly write-ups and client summaries | Moving budget across Meta, Google, TikTok and Amazon under one spend limit |
| Drafting copy and paused campaigns | A setup shared by a team or across agency clients, with a record of who approved what |
Use it for one person's questions
For one person with a clear question, the stack is quick: no export and no SQL. Write the request so it filters the data and changes nothing:
- “Which search terms spent over €150 in the last 30 days with no conversions? Group them by intent and draft negatives. Don't apply anything.”
- “What changed in our Meta account this week, and who changed it?”
- “Turn last week's numbers into a client summary, and list every figure you couldn't verify.”
One person writing on one platform, with that platform's own limits switched on, may need little more on approvals. Of the six limits below, limit 4 grows with a second write platform or a second person; the other five apply to anyone. Prompts and setup for each platform are in the guides to the Meta, Google Ads and GA4 servers.
Six limits that cost a team money or time
1. On a broken day, Google can spend up to twice a daily budget before anyone reads an alert
Google can spend up to twice a campaign's average daily budget in a day, and Meta up to 75% over a daily budget (how each platform overspends). That is normal pacing. When a pixel breaks, the spend continues while bidding gets no conversion signal, until someone looks.
A scheduled check is the DIY answer, and it can pass without doing the work. Claude's cloud scheduled tasks run at most hourly, in the account of whoever set them up, and Anthropic's documentation says a run's status shows “how the session ended, not whether Claude completed the work your prompt describes”.
A threshold check is quick to write, in a prompt, a script or the platforms' own rules. An alert a team keeps acting on needs its own baseline for each market and season, rare false alarms and the most likely cause named. For twelve markets on four platforms, that is at least 48 baselines for every KPI before seasons are counted, each needing an update when campaigns change.
The model adds variance of its own. Atil et al. ran five models ten times on the same tasks at temperature 0 with a fixed seed, and accuracy moved by up to 15% (2024 study). A performance marketer rules out tracking first, then delivery, the auction, creative and demand. A skill can list that order, or bundle a script that runs it, but the model still decides whether to run the script and how to read what comes back. It can stop at the first plausible cause and report it as confidently as a checked one.
2. Budget moved on platform credit can move the wrong way, in either direction
Each ad platform's server returns that platform's own attributed conversions, which aren't what the ads caused. For a brand as well known as eBay, a geographic test on non-brand search measured a short-term return of −63%, where observational data had shown over 1,400% (Blake, Nosko and Tadelis, Econometrica 2015). The gap can run the other way too: in an August 2025 analysis of 640 Meta tests, Haus, which sells incrementality tests, found 7-day-click reporting under-crediting Meta on average.
Changes inside a platform also pass for performance. Switching a Google Ads conversion action to data-driven attribution moves credit between campaigns, and changing which actions count as primary changes what the Conversions column counts, while orders stay the same. Only data the platform doesn't control catches it: your shop's orders first, then GA4 (why Google Ads and GA4 differ). The assistant makes that comparison only when someone connects the data and asks, every time.
3. A checkout bug read as a channel problem gets the wrong fix
When checkout breaks over a weekend, Google, Meta and email conversions fall together. That pattern points to the site, checkout, tracking or demand. Only a drop confined to one platform sends you to its pixel and tags. Cutting budget or swapping creative in that moment treats the wrong thing.
You can add several servers to one chat. Each reports under its own attribution settings, Meta per ad set and Google per conversion action, and the model lines them up again in each conversation, from whatever rules a project or skill holds. Nothing runs that comparison unless someone asks.
Promotion calendars, stock plans, margins and targets mostly sit in the shop, ERP and finance systems. Merchant Center gives Google prices and availability, and catalogues give Meta the same, but neither holds the plan behind them. Pasted into a chat or a project, the plan serves one person until it goes out of date.
4. Nothing tells a 50% budget jump from a 5% one, or holds one ceiling across platforms
A team usually wants rules like “budget moves up to +15% go ahead, larger ones wait for the head of performance”, or “total spend stays under €60k this month”. Claude's and ChatGPT's approval settings can't express either; enforcing them means writing your own server or hooks.
In Claude, approval is set per tool, whatever the size of the change: always allow, needs approval or blocked (Claude Help Centre). ChatGPT decides when to ask from the app's permissions and the action's context. Meta's admin rules can block budget edits, or budgets above an amount, on Meta alone, and no setting limits the size of one change. Supermetrics' campaign management, in early access, adds approval levels by change type and revert; its guide mentions no spend cap. If only Meta writes, Meta's own limits cover a lot. They stop at Meta's edge, so a second write platform, or one ceiling for all of them, falls outside. Claude's cloud scheduled tasks start in auto mode by default, where a classifier decides on actions that would otherwise wait for your approval, so keep write tools out of unattended runs.
Platform change logs record who changed what. The reason and the approval stay in someone's chat, and when that person leaves a Claude Team or Enterprise organisation, the others lose access to it.
5. A connector bug can turn growth into decline, and someone has to notice
A popular Search Console server reported growth as decline in some period comparisons; the bug was reported on 30 July and fixed in mid-September (issue 42). The platform's API, the MCP server, the SDK it is built on and the AI client each update on their own schedule, and each can break a working setup. In June a user found Meta's server rejecting every reporting call (GitHub). In July a new MCP SDK release crashed fresh installs of Google's GA4 server (issue 199).
The client layer fails more quietly. An open bug report says that when a Claude custom connector's sign-in expires, its tools drop out of the conversation with no prompt to reconnect (issue 702). ChatGPT keeps a frozen snapshot of a connector's tools, so calls can fail after the server changes, and OpenAI says admins “are not proactively notified when an app needs review” (OpenAI Help).
One was fixed within a day; others took weeks or are still open, and every fix began with someone noticing.
6. A bigger account means a bigger API bill, or scheduled runs that stop
One question costs little. Watching every market, campaign and KPI means running the data through a model on every pass, aggregated or raw. On the API the bill grows with the data. On a subscription, scheduled runs share the chat allowance, and once it runs out, further runs are rejected until the window resets, unless usage credits are switched on (Anthropic).
Large reads get set aside. Claude Code moves text results over 50,000 characters into a file the model has to read back, and caps what lands in the chat at 25,000 tokens by default, a limit you can raise (Claude Code docs). A summary of part of the data looks complete; the GA4 guide has a published case.
Six platforms run an official server, and three can change campaigns
MCP (Model Context Protocol) is the open standard that lets an assistant call outside tools. The DIY stack is an assistant plus one server per ad platform.
| Platform | Official MCP server | Reads or writes |
|---|---|---|
| Google Ads | Google, open source. You run it on your machine or host it yourself; Google hosts it only for an allowlisted pilot. | Reads only. Google says it “cannot modify bids, pause campaigns, or create new assets”; a maintainer said in June 2026 that write tools are planned (issue 84). |
| Meta | Hosted by Meta, in open beta since 29 April 2026. In Claude, added as a custom connector. | Reads and writes: campaigns, budgets, audiences, catalogues. New items start paused. |
| GA4 | Google, open source, labelled Experimental. Runs on your machine. | Reads, plus one opt-in write for report annotations since version 0.8.0. |
| TikTok | Hosted by TikTok, launched July 2026. | Reads and writes, with about 400 tools, budget, status and delete tools among them. |
| Amazon Ads | Hosted by Amazon, in open beta since 2 February 2026, for Ads API partners. | Reads and writes, including creating, updating and deleting campaigns. |
| Microsoft Advertising | Hosted by Microsoft, in open pilot since June 2026. | Reads only: “The tools never modify account data.” |
| LinkedIn Ads | None found. | Third-party servers only. |
| Search Console | None found. | Community servers only; see the GA4 guide. |
Google Ads, Meta, GA4, TikTok, Amazon Ads and Microsoft Advertising documentation; LinkedIn's Marketing API changes and Google's hosted MCP list. Checked 25 October 2026.
Acting on what the assistant finds takes a different route on each platform. Meta, TikTok and Amazon write through their own servers, each with its own sign-in and token lifetime. Google Ads needs a third-party server holding a write token, or code that calls the Google Ads API. Google's own Ask Advisor (beta) makes changes inside Google Ads with your approval, apart from your assistant.
What Claude and ChatGPT add
| Feature | Claude | ChatGPT |
|---|---|---|
| Connectors (MCP) | Custom connectors on every plan, one on Free. On Team plans only Owners add them, then each person signs in. | Full MCP, write actions included, on Business, Enterprise and Edu, published by admins. Pro gets read and fetch only. Web only. |
| Projects | Instructions and files reused across chats. On Team and Enterprise, connectors work only in private projects. | On every plan, and shareable; group and workspace-wide sharing needs Business, Enterprise or Edu. |
| Skills | Folders of instructions and scripts that Claude loads when a task calls for them. Owners can provision them for everyone. | Standalone in the ChatGPT desktop app and Codex; through plugins on the web and mobile too. |
| Coding agent | Claude Code, in a terminal, an IDE or the desktop app. It runs local servers, works on large results in code and can run headless. | Codex. |
| Scheduled runs | Cloud scheduled tasks, at most hourly, on Pro, Max, Team and Enterprise, with connectors, writes included. In research preview. | Tasks on a schedule, with a cap on active tasks that depends on the plan. |
Claude Help Centre on connectors, custom connectors and skills; Anthropic's scheduled tasks docs; OpenAI Help on custom MCP servers, projects and tasks, and OpenAI's skills guide. Checked 25 October 2026.
Skills and Claude Code for paid media
A skill is a folder of instructions and scripts, with a SKILL.md file, that Claude loads when a task calls for it. Public skill packs for paid ads bundle audit checklists, scoring rules and report formats. A good one makes runs more consistent by writing down the definitions and the order of checks. Claude still reads it as instructions, so a step can be skipped, and two runs can read the same data differently.
Claude Code adds what a chat lacks. It runs servers on your machine, such as Google's, works on large exports in code, and runs headless with claude -p from scripts, CI or a scheduled job (Claude Code docs). Run that way on a server, it is an in-house build, with the upkeep described below.
Settle six things before a team or agency connects it
- Who may connect which accounts. On Claude's Team plan, only Owners add custom connectors, and each person then signs in with their own access. A connector set up with a shared credential, such as an API key, reaches whatever that credential can access, for everyone who uses it (Claude Help Centre). In ChatGPT Business, only admins and owners create and publish connectors.
- One login, many clients. Meta's connector inherits the user's access to the business portfolios picked at sign-in, including any client ad accounts shared with them, as Jon Loomer points out. A Google manager-account login reaches every client below it, and the model picks the customer ID on each query. Use a sign-in per client, or a sub-manager holding only the accounts in scope, and agree it with each client.
- What a write may do. Owners on Claude Team and Enterprise can set each tool to always allow, needs approval or blocked for the whole organisation, and members can't override it. ChatGPT Enterprise admins choose which actions an app may take, and new actions arrive switched off. Add the platforms' own controls: Meta's admin rules on every ad account, and a Read-only user behind any Google token.
- Offboarding. Claude's scheduled tasks “belong to your individual claude.ai account” and aren't shared with teammates (Anthropic). When a member leaves a Claude Team or Enterprise organisation, the others lose access to that person's chats and private projects, while projects shared with the organisation stay (Claude Help Centre). The Meta and Google sign-ins are that person's grants, so revoke them on the platforms as well, and rebuild any scheduled checks in someone else's account.
- Client data and the AI provider. Every answer passes account data to the AI provider under your plan's terms. Anthropic's consumer terms let each Free, Pro and Max user choose whether chats can train its models. Team, Enterprise and the API run under its commercial terms, where that choice doesn't apply (Anthropic). OpenAI says it doesn't train on Business, Enterprise, Edu or API data by default (OpenAI). Connected services process data under their own terms. Some client contracts restrict AI tools or require consent, so read yours; contract questions go to your counsel.
- A shared decision log. For every change, record the date, what changed, why, the data behind it and who approved it, somewhere the whole team can read it. Our change approval policy template has a format to copy.
Settling them leaves seven recurring jobs for named owners: a connector admin in each AI workspace, a sign-in per person and per client, tool settings per connector, platform rules per ad account, an offboarding routine, a data-terms check per client, and a log kept by hand. At 40 clients, each buyer's AI account holds its own sign-ins to the clients they handle, scheduled checks sit in several people's accounts, and the log works only if everyone writes in it.
Build it in-house?
A team with a data warehouse can take the assistant out of fetching the data. Fixed SQL on the warehouse removes the errors that come from the assistant choosing dates, filters and row limits, paging through results or summing rows in the chat. The assistant only explains numbers the SQL has already fetched. For reporting, that is a sound setup.
A large company can build this. It takes a machine-learning engineer, a backend engineer and a data engineer, then months of work with the marketing team to get the alerts and suggestions right, and maintenance after that. It's a product, not a script one person writes in two weeks.
A quick build can stall. At a listed company with billions in revenue, the data team built an optimisation tool, mostly with Claude, and delivered it quickly. The search team barely uses it: most of its suggestions aren’t useful, improving them needs the team’s feedback, and other priorities always win.
Clean warehouse data leaves the hard parts in place:
- Baselines per market and season, tuned until false alarms are rare.
- Choosing and maintaining root-cause checks that run in the same order every time, across channels and the shop's orders.
- Acting within guardrails: a write integration per platform API, limits per campaign and action type, a spend ceiling across channels, and a stop when a conversion feed goes stale.
- An approval trail with the reason for each change, which outlasts the people who made it.
Three ways to run it, side by side
| Topic | DIY assistant + MCP | In-house build on the warehouse | Nupact |
|---|---|---|---|
| Ad-hoc questions and drafts | Strong: minutes, no export, no SQL. | Fixed reports, with an assistant on top to explain them. | Keep Claude or ChatGPT for these. |
| Monitoring | When someone asks, or on a schedule: at most hourly in an individual claude.ai account, or headless on a server. A run can show green and still miss the task. | Whatever the team builds and schedules, on its own infrastructure. | Around the clock, on every account and every dimension, against a per-market baseline. |
| Alert quality | Thresholds in a prompt or a script. Answers vary between runs, and no order of checks is enforced. | Possible, with the team described above and months of tuning alongside marketing. | Deep learning on every KPI, then fixed root-cause checks, the same ones in the same order every time. Alerts carry the cause and a drafted fix, for what is slipping and what is ready to scale. |
| Cross-platform view | One server per platform, each with its own attribution, lined up again in each chat. | Strong, once every platform and the shop's orders land in the warehouse under shared definitions. | Platform-reported and reconciled numbers side by side, with the gap visible. |
| Acting within limits | Meta, TikTok and Amazon write; Google's server reads only. Approval per tool, or per change type with some third-party connectors, and no spend limit across platforms. | A write integration and your own limits for each platform API, or reporting only. | Acts on Google Ads, Meta, TikTok and Amazon Ads, with approval or inside guardrails per campaign and action type, such as a monthly spend ceiling across all channels. |
| Record of why | Platform change logs show what changed and who. The reasons stay in chats. | Whatever the team builds and keeps. | Every action in the change log with its reasoning, reversible from the log. |
| Team and agency use | Mostly personal: sign-ins, chats and schedules per person, shared projects aside, and client data under each plan's terms. | Shared by design inside one company. Agency client access is a further build. | Built for teams and agencies: autonomy set per client, dashboards under the agency's logo, memory that belongs to the company. |
| Who maintains it | Whoever set it up: tokens, server updates, prompts and skills. | Your data and engineering team, for as long as it runs. | Nupact, through the platforms' APIs and official sign-in. |
| Time to first value | Minutes to a first answer on a hosted server such as Meta's; longer for Google's, which you host. | Months before alerts and suggestions are right. | The first account audit on day one, then baselines learned over days two to five before alerts start. |
Nupact watches every ad account from one place, and puts every change it makes under one set of limits and one log.
Built for teams spending at least €500k a year on performance marketing. Nupact connects to each ad platform through its API and official sign-in, and to Snowflake, BigQuery, Databricks and Redshift. Today Nupact acts on Google Ads, Meta, TikTok and Amazon Ads; DSPs and other connected platforms are monitored and reported on, and we keep adding platforms Nupact can act on.
It watches every account and every dimension around the clock, against a per-market baseline. The deep learning model computes a forecast for every KPI and flags any anomaly. Nupact then runs an in-depth root-cause analysis, the way a performance marketer works through it: 1) it breaks a move down by campaign, keyword, placement, ad and market; 2) it builds a hypothesis tree to check every possible cause of the change; 3) it runs a residual analysis to identify what really drives the change, then drafts the correction. Alerts reach Slack, Teams or email, for what is slipping and for what is ready to scale.
Changes pass through an approval, for example one click in Slack, or through guardrails set per campaign and per action type, such as a maximum daily budget change or a monthly spend ceiling across all channels. Each action is logged with its reasoning, and any of them can be reverted from the log. A stale conversion feed pauses autonomous actions and pages the team.
Reports put platform-reported numbers next to numbers reconciled against your own attributed data or, where you've run them, incrementality test results, with the gap visible. Client data is stored in the EU, segregated per client, and Nupact's AI model providers don't use it to train their models. Nupact's memory belongs to the company: every decision and what came of it survives handovers and agency switches. For agencies, autonomy is set client by client, and clients see dashboards under the agency's logo (Nupact for agencies).
Check these before connecting Claude to an ad account
Can Claude run my Google and Meta ads?
Not for a team. Through Meta's server it can change campaigns on request or on a schedule, and Google's official server only reads. Neither gives a team alerts it can trust, the other channels' data, limits across platforms or a shared record of why. Keep it for one person's questions and drafts.
Is it safe to connect Claude to my ad accounts?
For reading, with care. Start read-only, connect only accounts you own, set write tools to Needs approval or Blocked, keep write tools out of scheduled runs, and keep the platforms' own limits, such as Meta's admin rules and an account spending limit. Check your AI plan's data terms and your client contracts before connecting a client's account.
Do I need Claude Code?
Not for Meta, TikTok or Amazon, whose servers are hosted: a custom connector in Claude on the web or desktop is enough, though Amazon also needs Ads API credentials. Google's servers for Google Ads and GA4 run on your machine or on a server you host, so Claude Code or Claude Desktop is the simpler route there. Claude Code also handles large reads in code and can run on a schedule from a server.
Claude or ChatGPT for paid media?
Both connect to the same platform servers, and every limit on this page applies to both. The difference is plan access. ChatGPT gives full MCP, write actions included, only on Business, Enterprise and Edu, and Pro gets read and fetch. It reaches remote servers, or local ones through OpenAI's Secure MCP Tunnel. Claude's custom connectors work on every plan, with one on Free.
Can a Claude skill make the analysis reliable?
More consistent, yes. A skill can hold your definitions, the order of checks, a script and the report format, and Claude loads it when a task calls for it. Claude can still skip a step, and two runs can read the same data differently.
Does Nupact work through MCP?
Nupact connects to Google Ads, Meta, TikTok and Amazon Ads through their APIs and official sign-in, and offers no MCP server. Its checks run around the clock whether or not anyone opens a chat.