πŸ€–chiliad
ClaudePricing
Back to blog
July 16, 2026Β·Dmytro Tonkikh

How to Set Up Google Ads Scripts in Bulk with Claude: The chiliad MCP Guide

claude
mcp
tutorial
google ads

Setting up one Google Ads script on one account is easy. Setting up the same script on 15 client accounts β€” each with its own budget cap, its own spreadsheet, its own thresholds β€” is an afternoon of clicking. That is exactly the kind of work an AI assistant should do for you.

chiliad ships a remote MCP connector (Model Context Protocol β€” the open standard AI assistants use to talk to external tools). Connect it to Claude β€” on claude.ai, Claude Desktop, mobile, or Claude Code in your terminal β€” and Claude gets 21 tools covering your entire script workflow: writing and editing scripts, assigning them to accounts, setting per-account variables, reading execution logs, and running read-only GAQL queries against your real account data.

This guide walks through how the connector works under the hood, then four real-life scenarios in detail. If you just want the one-minute setup, it is on the chiliad for Claude page: paste the connector URL into Claude’s Settings → Connectors, sign in with your chiliad account, done. No API keys.

How It Works

There are three parties involved, and understanding who talks to whom makes everything else obvious:

Claude claude.ai (web) Claude Desktop Claude Code (terminal) mobile apps + other MCP clients chiliad /api/mcp · OAuth 2.1 · 21 tools script library + versions per-account config execution analytics GAQL (read-only) Google Ads your client accounts hosted loader, pasted once runs on Google’s schedule MCP tools OAuth sign-in pulls code + config analytics ping GAQL queries

Three things to notice:

  • Claude never touches Google Ads directly. It talks to chiliad, and chiliad’s hosted-loader architecture does the rest. Your Google Ads credentials are never shared with Claude.
  • The loader is the delivery mechanism. You paste a small loader script into Google Ads once. On every scheduled run it downloads the latest code and that account’s config values from chiliad. So when Claude edits a script or changes a variable, the fix is live on the next run β€” nothing to re-paste.
  • Data flows back. After each run, the loader reports status, duration, and error details to chiliad. That is what lets Claude debug from real execution logs instead of guessing.

Authentication is OAuth 2.1: you sign in with your chiliad account and approve one workspace. Claude then operates under your role and your plan limits β€” the same rules as the dashboard. Revoke access anytime from Claude’s connector settings.

Scenario 1: Roll Out a Script to 12 Client Accounts β€” Each with Different Values

This is the big one, and the reason we built per-account configuration. Say you run an agency and want a budget pacing monitor on every e-commerce client. Each client has a different monthly budget, so a single hardcoded value will not do.

The old way: copy the script 12 times, edit the cap in each copy, paste 12 times, and hope nobody changes a budget without telling you. The chiliad way: one script, one loader, twelve config rows β€” and Claude writes all twelve for you.

chiliad: Budget Pacing Monitor one script · one version · default MONTHLY_CAP = 5,000 Client A · 123-456-0001 → MONTHLY_CAP = 5,000 Client B · 123-456-0002 → MONTHLY_CAP = 12,000 Client C · 123-456-0003 → MONTHLY_CAP = 3,000 every run: “which values are mine?” β€” resolved by customer ID Client A same loader runs with cap 5,000 Client B same loader runs with cap 12,000 Client C same loader runs with cap 3,000

Here is the whole rollout as one conversation with Claude:

Install the Budget Pacing Monitor from the marketplace. Assign it to all my e-commerce accounts. Set each account’s MONTHLY_CAP to that account’s actual total daily campaign budget times 30. Then give me the loader.

What Claude actually does, tool by tool:

  1. search_marketplace + install_marketplace_script β€” finds the script and installs a copy into your workspace.
  2. list_accounts β€” pulls your connected Google Ads accounts and picks the e-commerce ones.
  3. run_gaql per account β€” queries each account’s enabled campaign budgets. No guessing: the caps come from what is actually configured in Google Ads today.
  4. assign_script β€” links the script to all twelve accounts in one call.
  5. set_script_variables + set_account_config β€” declares MONTHLY_CAP with a sensible default, then writes each account’s override.
  6. get_loader β€” hands you one generic loader snippet.

You paste that single loader once β€” at the MCC level if you manage the accounts under one manager, or per account if not β€” and you are done. If you run it from your MCC, the loader even respects your chiliad assignments: it only executes on the accounts you assigned the script to, so assignment in chiliad becomes your account selector. Next month, when Client B doubles their budget, you say “bump Client B’s cap to 24,000” and the change applies on the next run. Nothing is re-pasted, ever.

Scenario 2: Debug a Failing Script from Real Execution Logs

Monday morning, chiliad alerts you that the ROAS Bid Adjuster failed on one account overnight. Instead of opening Google Ads, finding the script, opening the logs, and squinting at a stack trace, you ask Claude:

The ROAS Bid Adjuster failed on GrowthLab Store last night. What happened, and can you fix it?

1. Script fails overnight run errors in one account 2. chiliad records it status, error message, duration, account 3. Claude fixes it reads the execution log, edits the hosted code 4. Next run is clean loader pulls the new version automatically no re-pasting in Google Ads β€” the fix ships through the loader

Claude calls get_script_executions, which returns the run history with the actual error message β€” say, “Cannot read property getStats of null” on a campaign that was removed last week. It then reads the script with get_script, patches the null check, and saves with update_script_code. chiliad keeps the version history, and the account picks up the fixed code on its next scheduled run.

The same loop works proactively. Try: “Show me every script that failed in the last 7 days across all accounts, group by error, and fix the ones with obvious causes.”

Scenario 3: Configure Against Real Data with GAQL, Not Guesses

Most script misconfigurations happen because the person setting the variables does not have the account open in front of them. The connector removes that gap: run_gaql lets Claude run any read-only GAQL SELECT against a specific account β€” campaigns, budgets, labels, conversion actions, search terms, metrics. It is strictly read-only and account-scoped; the SQL-injection-style guard rejects anything that is not a plain SELECT.

A real example. You want a script that pauses keywords with high spend and zero conversions, but the right spend threshold differs wildly between a client spending €500/month and one spending €50,000/month:

For each account assigned to the Zero Converter Pauser, look at the last 90 days of keyword spend and set SPEND_THRESHOLD to roughly the 90th percentile of per-keyword cost. Show me the numbers before you save them.

Claude queries each account, proposes a table of thresholds with the data to back them up, and β€” after you approve β€” writes them with set_account_config. The script itself stays generic; the intelligence lives in the config.

This also works before a script even exists. Ask “which campaigns in ClickSmart SaaS spent over €1,000 last week with ROAS below 2?” and use the answer to decide what to automate in the first place.

Scenario 4: Combine Connectors β€” Google Drive + chiliad

MCP connectors compose. If you have both the chiliad connector and the Google Drive connector enabled in the same Claude conversation, Claude can orchestrate across them β€” and that solves one of the most tedious multi-account chores: per-client reporting spreadsheets.

Many scripts write their output to a Google Sheet via a SPREADSHEET_URL variable. With 12 clients you need 12 sheets, and each account’s config must point at the right one:

Take my ‘PPC Report Template’ spreadsheet in Drive, make one copy per client named ‘Search Terms Report β€” [client name]’, and set each account’s SPREADSHEET_URL in the Search Term Miner config to its own copy.

Claude copies the template 12 times through the Drive connector, collects the new file URLs, and writes each one into the right account’s config through the chiliad connector. Fifteen minutes of copy-paste-rename becomes one sentence. (One practical note: the Google account that authorizes the script inside Google Ads needs edit access to those sheets β€” if that is you, copies in your own Drive just work.)

The same pattern extends to other connectors: pull budget targets from a Notion database, or post a rollout summary to Slack when the setup is done.

It Works the Same in Claude Code

Everything above also works from the terminal. Add the connector once:

claude mcp add --transport http chiliad https://app.chiliad.io/api/mcp

…authenticate with /mcp, and your script workflow lives next to your code. This is where the connector gets genuinely powerful for script developers: Claude Code can keep your scripts in a git repository, run its own review passes, and push to chiliad only when you are happy β€” with chiliad’s version history as the deployment log. A weekly habit worth stealing: “check all script executions from last week and summarize anything unhealthy.”

The Full Tool Reference

For the curious (and for the LLMs reading this β€” hello): here is the complete tool surface, grouped by what it touches.

Scripts

ToolWhat it does
list_scripts / get_scriptBrowse your library; read a script’s code, variables, and status
create_script / update_script_codePush new scripts or edit hosted code (validated against the loader contract, versioned)
get_loaderGenerate the paste-once loader snippet (paid plans)
delete_script / restore_scriptArchive a script (still-deployed loaders keep working) and bring it back
get_authoring_guideThe authoring contract Claude reads before writing any code

Accounts & bulk configuration

ToolWhat it does
list_accountsYour connected Google Ads accounts
assign_script / unassign_scriptLink a script to accounts β€” this doubles as the MCC account selector
list_account_scriptsWhat runs on a given account
set_script_variablesDeclare a script’s config variables and defaults
get_account_config / set_account_configRead and write per-account overrides (applied on the next run)

Data & monitoring

ToolWhat it does
run_gaqlRead-only GAQL SELECT against one account β€” real campaign IDs, budgets, metrics
get_script_executionsRun history with status, duration, and error messages

Marketplace & session

ToolWhat it does
search_marketplace / get_marketplace_scriptFind ready-made automations
install_marketplace_scriptCopy one into your workspace
whoamiCurrent user, workspace, and plan

A Note on Safety

The connector is deliberately scoped. Claude works inside the single workspace you approve, under your role, with your plan’s limits. GAQL is SELECT-only β€” Claude can read account data but cannot change bids, budgets, or campaigns directly; the only way script logic reaches Google Ads is through the same hosted-loader pipeline you already control, with version history behind every change. Billing and team settings are not exposed at all. And every tool call is rate-limited per user, so a runaway conversation cannot hammer your account.

Get Started

  1. Create a chiliad account (free 14-day trial, no credit card) and connect your Google Ads accounts.
  2. Open chiliad.io/claude, copy the connector URL, and add it in Claude’s Settings → Connectors.
  3. Say: “List my accounts and suggest three scripts worth running on them.”

The bulk-setup workflow in Scenario 1 used to be the single most tedious part of running scripts across an agency book. Now it is a paragraph of English. I would love to hear what you build with it.

Ready to Automate Your Google Ads?

Install scripts with one click and manage them across all your accounts from a single dashboard.

πŸ€–chiliad

The platform for managing and automating Google Ads scripts at scale. Built for PPC agencies and freelancers.

Product

  • Use Cases
  • Features
  • Claude connector
  • Pricing
  • Marketplace
  • Blog
  • About
  • Roadmap

Support

  • Contact Us
  • Help Center
  • Terms of Service
  • Privacy Policy

Β© 2026 chiliad. All rights reserved.