Which campaigns spent the most last month, and what did we get for it?
Spend, clicks, conversions and cost per conversion for every campaign in the period, against whichever account you point it at.
-
list_accessible_customers -
search_stream_gaql
Setup guide
Ask Claude how the campaigns are doing and get the numbers straight out of the account, without building a dashboard first.
Before you start
Google has no Google Ads connector of its own in Claude's directory. Third-party entries reach it, usually by bundling it with a dozen other ad platforms, but nothing there is built only for Google Ads and nothing there comes from Google.
Nothing in the directory Versus
Connecting FloConnector connects Google Ads, and Google Ads is one of 60 connectors the same endpoint can carry. You do this setup once, not once per app.
Step one
Step two
Control
A profile carries only the tools you switch on, and the endpoint exposes only that profile. That is the whole permission model, and it is set before anyone connects.
5 read 5 write
Tick a row to include it, or flip Read only to lock every write off at once.
FloConnector holds the Google Ads credential, encrypted before it is stored, and calls Google Ads on the model's behalf. Claude sees the tools and their results, never the credential behind them.
Once it is connected
Each of these runs real Google Ads tools, named underneath so you can see what Claude is actually calling. 10 of the 28 tools are covered here.
Which campaigns spent the most last month, and what did we get for it?
Spend, clicks, conversions and cost per conversion for every campaign in the period, against whichever account you point it at.
list_accessible_customers search_stream_gaql Find the search terms burning budget without converting, and add the worst of them as negatives.
The terms ranked by spend with no conversions behind them, and the ones you approve added as campaign-level negative keywords.
search_stream_gaql mutate_campaign_criteria Pause everything in the brand campaign while we rework the landing page.
The campaign matched by name and set to paused, with its status read back so you can see it took.
get_campaign_by_name mutate_campaigns Set up a campaign for the spring promotion with a daily budget, and leave it paused.
A budget, then a paused campaign pointing at it, then an ad group. That order is forced: Google Ads will not create a campaign without a budget for it to reference.
mutate_campaign_budgets mutate_campaigns mutate_ad_groups Which client accounts sit under this manager account, and how did each do last week?
Each sub-account under the manager, with the week's spend and conversions listed against it.
list_sub_accounts search_stream_gaql Add the event signups to our remarketing audience.
The contacts pushed into the audience you named. Google matches on a hashed email, so what comes back is how many landed rather than which ones.
get_customer_lists add_or_remove_to_customer_list Troubleshooting
Claude Desktop sits on Connect after you signed in
The sign-in has usually succeeded. Check the profile in your dashboard: if the grant is there the connection is live, and restarting the desktop app clears the stale button. It is a client-side issue, not something the server can fix.
The connector saves but no tools appear
Disconnect and reconnect it once. If it is still empty, check in the dashboard that the connection behind the profile is still connected and that you are an assigned member of that profile.
The first load is slow on a very large profile
A profile exposing hundreds of tools takes longer to load, and a model given too many tools chooses worse. Split the work across two profiles rather than exposing everything at once. This is the failure mode most MCP write-ups name and never solve.
Only through a tool you switched on. Budgets and campaigns change through mutate tools that are separate switches from everything that reads, so a reporting profile cannot raise a bid, lift a budget or unpause anything.
Yes, and that is the better setup for an agency. Authorise the manager once, then let Claude list the sub-accounts and work against whichever one you name. Give each client its own profile if you would rather keep them apart.
No. You sign in on Google's own page and approve the permissions there. The token that comes back is encrypted before FloConnector stores it, and Claude only ever sees the tools and their results.
No. That is handled on our side as part of the connector. You approve access to your account and nothing else is required from you.
Not through this connector, which reaches Google Ads only. They are separate connectors with their own permissions, and a profile can carry more than one, so a single endpoint can still answer across them.
Not a second connection. The profile URL is a standard hosted MCP server, so the same endpoint works in both; what differs is where each client hides the add-a-connector menu.
Everything analytical comes back through one tool that runs a Google Ads Query Language query, rather than a list of prebuilt reports. Claude writes the query. That is why you can ask for almost any cut of the data, and also why a badly shaped question returns an empty result instead of an error, so it is worth having it read the query back.
Campaigns, ad groups, ads, budgets and criteria all change through mutate tools that accept several operations in one call. That makes bulk edits fast, and it makes mistakes fast. Leave them switched off until you have watched the reads for a week.
Authorise an MCC and Claude sees the manager, which has no campaigns of its own. It has to be pointed at a sub-account before any campaign read or change will work, so ask it to list the accounts first. The tools that do that are read only.
Your turn
One connection, one endpoint, and 28 Google Ads tools your AI can actually run. Start free with 1,000 tool calls and see what your own first week looks like.