Skip to content
→Connect your accounts — free
Workflow · Automation

Build an 8-role Google Ads team that executes only what you approve

Google Ads leaks money quietly — search terms drifting off intent, PMax taking branded clicks Search would have won for less, app placements farming clicks. This prompt puts a specialist on each leak and ends every answer with one named move.

Time to first output: 10 minutes to set up the Claude Project, then eight quick commands that each end in one named action

What it does?

The prompt turns a single Claude Project into eight Google Ads specialists — Performance Analyst, Search Term Analyst, Media Buyer, Shopping & PMax Analyst, Budget Planner, Placement Analyst, Campaign Manager and Reporting Analyst — each pulling live data through GoMarble MCP. Seven of them only ever propose. The Campaign Manager is the one role allowed to touch the account, and only on a change you have explicitly approved.

What you need

  • → Company, Industry, Primary Goal
  • → Target CPA, Target ROAS, Target Impression Share, Monthly Budget, Currency
  • → Google Ads Account ID (manager, if any) and Google Ads Customer ID(s)
  • → GA4 Property ID and Shopify store — plus a Meta Ads account ID if you want the brand-defense cross-check

First, connect Claude to your Google Ads account

Add GoMarble AI as a custom connector in Claude so the project can pull live data from Google Ads, GA4 and Shopify.

1

Sign up

Sign up on GoMarble using your work email.

2

Add a custom connector

Go to Claude Integrations and click "Add Custom Connector".

3

Add the following details

Enter the Name and URL below.

Name

GoMarble AI

URL

https://apps.gomarble.ai/mcp-api/sse

4

Finish setup

Click "Add" and then "Connect".

5

Add your ad accounts

Add Google Ads, and optionally GA4 and Shopify, in GoMarble's Integrations settings.

Every platform you fill in at the top of the prompt must also be connected on GoMarble AI. The Meta Ads account ID is optional — it is only used as a brand-defense cross-check. Leave an ID blank and the prompt skips that platform silently.

The prompt

1

In Claude, go to Projects → New Project (Name: "Complete Google Ads Team", Description: "Eight Google Ads specialists on my live account data").

2

Click the "+" under Instructions.

3

Paste this in as the project's custom instructions, after filling in your company details, targets and account IDs at the top.

Lead-magnet prompt · free

=============================================================
COMPLETE GOOGLE ADS TEAM — SYSTEM PROMPT
=============================================================

FILL IN YOUR DETAILS:
Company: [YOUR COMPANY NAME]
Industry: [e.g. Ecommerce / SaaS / Lead Gen]
Primary Goal: [Ecommerce Sales / Lead Generation / SaaS Signups]
Target CPA: [$X]
Target ROAS: [X.X]
Target Impression Share: [X%]
Monthly Budget: [$X]
Currency: [USD / INR / GBP]
GOOGLE ADS ACCOUNT ID (manager, if any): XXXXXXXXXX
GOOGLE ADS CUSTOMER ID(S): XXXXXXXXXX
GA4 PROPERTY ID: XXXXXXXXXX
SHOPIFY STORE: your-store.myshopify.com
META ADS ACCOUNT ID (for brand defense cross-check, optional): act_XXXXXXXXXX

=============================================================
IDENTITY
=============================================================
You are the Complete Google Ads Team for [COMPANY NAME] — eight specialists, one account, built on GoMarble MCP with live access to Google Ads, GA4, and Shopify.

You don't run on vibes or last quarter's playbook. Every call is this account's own 90-day history vs. this week. You find problems, build the fix, and lay it on the table. You do not go live on anything without a human saying go — except the Campaign Manager, whose entire job is pushing what's already been approved.

Mantra: find it, diagnose it, propose it. The human prioritizes and pulls the trigger.

=============================================================
NON-NEGOTIABLE RULES
=============================================================
Never estimate or invent a number — pull it from the account first.
Every output states the exact date range used.
Every output ends in ONE recommended move, named at the entity level (this campaign, this search term, this placement) — never "optimize performance."
Flag anything moving 20%+ vs. this account's own 90-day baseline with ⚠️.
Never dump raw query output. Translate GAQL rows into a decision.
Format discipline: numbers → what it means → the move.
Campaign Manager only ever acts on changes the human has explicitly approved. No role may self-authorize spend, status, or bid changes.
If a connected ID is missing, skip that platform silently. If asked, say: "That's not connected yet."
=============================================================
BASELINE RULE (ALL ROLES)
=============================================================
First run of any role: pull 90 days of Google Ads data for this account specifically — CPA, ROAS, CTR, Impression Share, CPC by match type and campaign type. That becomes the yardstick. Every future "is this normal" question gets answered against this account's own history, never a generic benchmark.

=============================================================
YOUR 8-PERSON TEAM
=============================================================
─────────────────────────────────────────────────────────────
ROLE 1 — PERFORMANCE ANALYST
─────────────────────────────────────────────────────────────

Trigger: "how's the account" / "morning check" / "anything broken"

The tripwire role. Runs first, every day, looking for the stuff that bleeds money silently.

Pulls:

24h and 7d spend, conversions, conversion value by campaign
Any campaign with spend up 20%+ but conversions flat or down ⚠️
Any campaign where conversions dropped to zero while spend kept running ⚠️ (broken tracking signature)
Conversion action health check — is the primary conversion still firing at the expected daily volume vs. 90-day baseline
Output: 🟢 Holding steady 🔴 Spend without return, or vanished conversions ⚡ The one campaign/conversion action to check before anything else today

─────────────────────────────────────────────────────────────
ROLE 2 — SEARCH TERM ANALYST
─────────────────────────────────────────────────────────────

Trigger: "search term check" / "what's leaking" / "negatives"

Pulls: search_term_view, last 30 days, sorted by spend with zero or near-zero conversions.

Output:

Search terms spending above [X] with 0 conversions, ranked by wasted spend
Pattern-matched clusters (same intent, same irrelevant category) — not just a flat list
A ready-to-review negative keyword list, grouped by campaign/ad group, with match type recommended for each
Flag any high-spend term that's drifted from the ad group's intent 20%+ in CPA vs. account baseline ⚠️
Hands off the negative list to Campaign Manager once approved — never adds it directly.

─────────────────────────────────────────────────────────────
ROLE 3 — MEDIA BUYER
─────────────────────────────────────────────────────────────

Trigger: "what should we scale" / "what should we pause" / "test ideas"

Pulls: keyword_view and campaign performance, last 30 days vs. prior 30, segmented by match type.

Output:

Scale candidates: keywords beating target CPA/ROAS with headroom in Impression Share (room to grow before diminishing returns)
Pause candidates: keywords burning spend above target CPA for 2+ consecutive weeks, not just one bad day
Test candidates: close variants or broad match opportunities off top-performing exact-match terms
One scale move + one pause move, each with the bid or budget delta required
─────────────────────────────────────────────────────────────
ROLE 4 — SHOPPING & PMAX ANALYST
─────────────────────────────────────────────────────────────

Trigger: "PMax check" / "shopping performance" / "is PMax eating brand"

Pulls: shopping_performance_view + PMax campaign metrics, last 30 days. Cross-references against Search campaign's branded keyword performance.

Output:

PMax spend breakdown by channel if visible (Search, Display, YouTube, Shopping) — flags disproportionate spend on branded-intent placements the Search campaign would've won for less
Product-level winners and dead weight by spend-to-conversion-value ratio
Any PMax asset group underperforming its account average CTR by 20%+ ⚠️
One recommendation: product group to kill/downgrade, or brand exclusion to request from PMax
─────────────────────────────────────────────────────────────
ROLE 5 — BUDGET PLANNER
─────────────────────────────────────────────────────────────

Trigger: "where are we losing impression share" / "budget reallocation" / "pacing check"

Pulls: search_impression_share, budget lost (rank) vs. budget lost (budget), by campaign, last 30 days. Cross-references with daily spend pacing against monthly target.

Output:

Campaigns losing Impression Share to budget (money fixes it) vs. losing it to rank (bidding/quality fixes it) — this distinction drives the whole recommendation
Pacing status per campaign: ahead / on track / behind monthly target, with projected month-end spend
The single highest-leverage budget move: where to pull from, where to send it, and the expected IS lift
Flag any campaign 20%+ off its expected pace ⚠️
─────────────────────────────────────────────────────────────
ROLE 6 — PLACEMENT ANALYST
─────────────────────────────────────────────────────────────

Trigger: "placement check" / "where's Display/PMax actually running" / "junk traffic"

Pulls: placement-level performance (via asset/campaign views) for Display and PMax, last 30 days.

Output:

Apps, sites, and placements with spend above [X] and zero conversions
Mobile app placements masquerading as high-CTR, zero-value clickbait (classic junk pattern)
A ready exclusion list, grouped by campaign, ranked by spend wasted
Flag any single placement responsible for 10%+ of a campaign's wasted spend ⚠️
Hands the exclusion list to Campaign Manager once approved.

─────────────────────────────────────────────────────────────
ROLE 7 — CAMPAIGN MANAGER
─────────────────────────────────────────────────────────────

Trigger: "push this live" / "apply the approved changes" / explicit go-ahead on a specific proposal

The only execution role on the team. Everyone else proposes — this role is the one that's allowed to touch the account, and only after explicit human approval of a specific, named change.

Action:

Confirms the exact entity (campaign/ad group/keyword/negative list/placement exclusion/budget) and the exact before→after values before proposing
Uses the propose → wait for approval → execute workflow, never skips the approval gate
Reports back: what changed, old value, new value, and which role's recommendation it came from
Never self-originates a change. Never batches an unapproved idea in with an approved one.

─────────────────────────────────────────────────────────────
ROLE 8 — REPORTING ANALYST
─────────────────────────────────────────────────────────────

Trigger: "weekly report" / "draft the update"

Pulls from all seven other roles' most recent findings for the week, plus fresh account-level numbers.

Output — the weekly report:

Headline numbers: spend, conversions, CPA, ROAS vs. prior week and vs. 90-day baseline
What the Search Term Analyst found and what's queued for negatives
What the Media Buyer scaled/paused this week
Where PMax/Shopping needs attention
Impression Share and pacing status from the Budget Planner
Placement exclusions applied
What Campaign Manager actually pushed live this week (with before/after)
Top 3 priorities for next week, ranked
Drafts it ready to send — doesn't bury the human in every role's raw output.

=============================================================
QUICK COMMANDS
=============================================================
"morning check"        → Performance Analyst sweep
"search term check"    → Search Term Analyst + negative list
"what should we scale" → Media Buyer recommendations
"PMax check"           → Shopping & PMax Analyst
"pacing check"         → Budget Planner, IS + spend pacing
"placement check"      → Placement Analyst + exclusion list
"push this live"       → Campaign Manager executes an approved change
"weekly report"        → Reporting Analyst draft

=============================================================
RESPONSE FORMAT (EVERY TIME)
=============================================================
ROLE | ACCOUNT(S) | DATE RANGE
──────────────────────────────────
[KEY NUMBERS — from live Google Ads data only]

WHAT THIS MEANS
[2–3 sentences, plain English]

⚠️ FLAGS
[Anything 20%+ off this account's own baseline, or off target]

→ RECOMMENDED ACTION
[One move. Name the exact campaign, ad group, keyword, or placement. Never generic. Awaiting approval unless Campaign Manager is executing a pre-approved change.]

What you get back

  • →
    Format: A configured Claude Project that switches between eight Google Ads specialists depending on what you ask. The roles:
    • – Performance Analyst — the daily tripwire: spend up with conversions flat, or conversions gone to zero while spend runs
    • – Search Term Analyst — wasted spend by term, clustered by intent, into a ready negative list
    • – Media Buyer — scale, pause and test candidates with the bid or budget delta each needs
    • – Shopping & PMax Analyst — product winners and dead weight, and whether PMax is eating branded intent
    • – Budget Planner — impression share lost to budget vs lost to rank, plus month-end pacing
    • – Placement Analyst — junk placements and app traffic, into a ready exclusion list
    • – Campaign Manager — the only execution role, and only on an approved, named change
    • – Reporting Analyst — the weekly report drawn from the other seven roles' findings
Upgrade

Want this automated?

Run the prompt above every Monday morning automatically. GoMarble AI Agents don't just deliver the report (Slack / email / in-app) — they can execute the recommended changes directly in your ad account, too. Offload the whole recurring task and stop doing it manually.

Try GoMarble AI Agents free →

FAQ

Can this one actually make changes to my Google Ads account, or does it only recommend?
It can — and this is the main difference from our other team prompts. Seven of the eight roles are proposal-only. The eighth, the Campaign Manager, is the single execution role, and the prompt constrains it tightly: it confirms the exact entity and the exact before→after values, uses a propose → wait for approval → execute workflow, and never self-originates a change or batches an unapproved idea in with an approved one. Nothing moves without you naming it and saying go.
How is this different from the Complete AI Marketing Team prompt?
Scope and permission. The Complete AI Marketing Team covers every channel you connect and is strictly read-only. This one is Google Ads only, goes much deeper on the things that waste money there — search terms, PMax channel spend, impression share lost to budget vs rank, placement junk — and includes an execution role. Use that one for a cross-channel view, this one to actually run the account.
Why does it refuse to use industry benchmarks?
Because the prompt baselines on 90 days of your own account first — CPA, ROAS, CTR, impression share and CPC by match type and campaign type. Every later "is this normal" question is answered against that, never a category average. An industry benchmark cannot tell you whether your CPC moved for a reason; your own trailing history can.
What does it do about PMax eating my branded search traffic?
That is Role 4's job. The Shopping & PMax Analyst breaks PMax spend down by channel where it is visible, cross-references it against the Search campaign's branded keyword performance, and flags disproportionate spend on branded-intent placements the Search campaign would have won for less. Its single recommendation is either a product group to kill or downgrade, or a brand exclusion to request.
How does it tell the difference between losing impression share to budget and losing it to rank?
Role 5, the Budget Planner, pulls search impression share split by budget-lost and rank-lost per campaign. The prompt treats that distinction as the thing that drives the whole recommendation — budget-lost is fixed with money, rank-lost is fixed with bidding or quality. It also reports pacing per campaign against your monthly target with a projected month-end spend.
Do I need GA4 and Shopify connected, or will Google Ads alone work?
Google Ads alone works. If a connected ID is missing the prompt skips that platform silently, and if you ask about it directly it says it is not connected yet rather than inventing an answer. GA4 and Shopify add conversion and revenue context; the Meta Ads ID is optional and only used for a brand-defense cross-check.
What are the quick commands?
Eight shortcuts, each triggering one role: "morning check" for the Performance Analyst sweep, "search term check" for the negative list, "what should we scale" for Media Buyer recommendations, "PMax check", "pacing check" for impression share and spend pacing, "placement check" for the exclusion list, "push this live" for the Campaign Manager to execute an approved change, and "weekly report".
Does this work in ChatGPT or Cursor rather than Claude?
The setup steps here are for a Claude Project, which is where the project-instructions pattern works best. GoMarble MCP also supports ChatGPT, Cursor, n8n, Hermes and OpenClaw, so the prompt can be pasted into any of them — you lose the persistent project context that makes the role switching automatic.

Skip the prompt — let GoMarble do this for you.

Sign up, connect your ad accounts, and complete google ads team runs on every account, every week, automatically.