Tools

Performance Max is no longer a black box: pipe PMax into Claude via MCP

Use the DEXUN AdWhiz MCP server to let Claude read PMax asset groups, search terms, and audience signals — then write optimization plans directly. Includes claude_desktop_config.json.

April 28, 2026·10 min read·DEXUN AdWhiz engineering

Performance Max has long been called a "black box" — Google controls asset combos, bidding, and audience targeting, and you only see aggregated data. In 2025 Google finally opened up finer-grained PMax API data. This post shows how to wire those data points into Claude via MCP, so AI can help you make PMax decisions.

Why not just use the Google Ads UI?

  • PMax asset-group insights, Top Search Terms, and spend curves are scattered across 4-5 different screens
  • Cross-account comparisons require manual CSV exports + Excel
  • Google's in-UI AI suggestions are generic ("add assets", "adjust bid") and ignore your business context (inventory, season, margin)

5-minute MCP setup

Prereqs: you've connected Google Ads in DEXUN AdWhiz and generated an API key (dashboard → Settings → API Keys).

Step 1: Edit Claude Desktop config

macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`. Windows: `%APPDATA%\Claude\claude_desktop_config.json`.

{
  "mcpServers": {
    "dexun-adwhiz": {
      "command": "npx",
      "args": ["-y", "@dexun/adwhiz-mcp@latest"],
      "env": {
        "DEXUN_API_KEY": "dxk_live_..."
      }
    }
  }
}

Step 2: Restart Claude Desktop

You should see a new 🔌 icon in the bottom-right. Hover to confirm "dexun-adwhiz: 100+ tools available".

Real example: let Claude audit your PMax

Just ask Claude:

Look at my Performance Max campaign. Over the last 30 days, which asset group converts the most but actually wastes budget? Give me specific pause recommendations.

Claude automatically chains these tool calls:

  1. `campaign.list(filter={type: "performance_max"})` — list all PMax campaigns
  2. `metrics.by_asset_group(campaign_id=..., window="30d")` — pull per-asset-group metrics
  3. `metrics.search_terms(campaign_id=...)` — pull PMax Top Search Terms (you can't see these in the UI)
  4. Generate recommendations + concrete `campaign.update_asset_group_status` calls

Worked example: how MCP surfaces PMax waste

Suppose a home-furniture brand has a PMax campaign stuck at a low ROAS. Pulling the data via MCP, Claude can commonly surface mismatches like:

  • PMax spends a sizable share of budget on "home cleaning" search terms — but the brand sells high-end furniture (intent mismatch)
  • An asset group uses outdated images, with a clearly low CTR
  • A customer-match audience signal expired months ago

Claude can propose specific adjustments + ready-to-execute tool calls (which only run after you approve). Fixing mismatches like these often leaves meaningful room to improve — but real savings are measured against a control group, vary by account, and are not a promise.

Why MCP + PMax is the killer combo

PMax's optimization model gives 60% of control to Google. But the assets, audience signals, and negative signals you feed it determine the ceiling Google's algorithm can reach. MCP lets the LLM see everything you can see (and more), and propose strategic adjustments in milliseconds — exactly the "human oversight layer" PMax needs most.

Security notes

  • API key is used only in your local Claude Desktop process — never sent to any third party other than Anthropic
  • Default approval mode: AI suggestions don't auto-execute. You must confirm before any Google Ads account is changed
  • All actions are written to the audit log, visible in DEXUN dashboard → Recent changes

Want to try what this article describes?

7-day free trial. Cancel anytime.

Start free trial

More like this