/ MM Ads Autopilot — User Guide Internal
MM Ads Autopilot

MM Ads Autopilot
User Guide

Version 3.0  ·  For troubleshooting see the runbook ↗
1

What is MM Ads Autopilot?

MM Ads Autopilot is an internal tool that automatically reviews Google Ads performance for all Mechanic Marketing clients every week and recommends changes to improve results.

Think of it as a junior PPC manager that never sleeps. It checks keywords, search terms, ad copy, quality scores, competitor positioning, and organic search data — then tells you what it thinks should change. You decide whether to approve or reject each recommendation.

It does NOT make changes on its own. Every single recommendation goes to you for approval before anything happens in Google Ads.

You can also talk to it. Ask questions about client performance in Slack, get explanations of its recommendations, or request ad-hoc analysis — all in natural language.

2

How it works

Every Monday morning, the Autopilot runs through this process for each MM client:

StepWhat happens
1 — Pull dataConnects to Google Ads, Google Search Console, and GA4. Pulls keyword performance, search terms, quality scores, campaign metrics, competitor positioning, organic rankings, and landing page performance.
2 — Run the rulesChecks data against best-practice thresholds — e.g. "has this keyword spent $50+ with zero conversions?" or "are we ranking #1 organically for a keyword we're also paying for?"
3 — AI analysisSix specialised AI agents review the output. One handles keywords, one handles search terms, one evaluates ads, one writes headlines, one writes descriptions, and one does a final safety review.
4 — Post to SlackEvery proposed action is posted to #mm-ads-autopilot with Approve and Reject buttons, grouped by client.
5 — Log to ClickUpA "Weekly Optimisations" task is created per client with subtasks for each action. This is your permanent record.
6 — Wait for youNothing happens until you click Approve or Reject.
3

What you see in Slack

You will see three types of messages in #mm-ads-autopilot:

1 — Weekly approval messages (every Monday)

Each message covers one client and groups proposed actions by type.

  • Approve all X pauses — approves every action in that group with one click
  • Reject all — rejects them all and opens a popup asking why (this teaches the system)
  • Review individually — opens a thread where each action has its own buttons
  • View in ClickUp — opens the ClickUp task with all the detail

Ad copy rewrites show current vs proposed headlines and descriptions with character counts, so you can review copy inline without leaving Slack.

2 — Anomaly alerts (any day, Mon–Fri)

If something goes wrong between Monday runs — a CPA spike, conversions dropping to zero, runaway spend — the system alerts you immediately. These are informational only.

Alert typeThreshold
CPA spikeCPA more than 50% above rolling average Critical
Conversions at zeroZero conversions for 2+ days Critical
Runaway spendSpend more than 40% above daily average Critical
CTR dropCTR dropped more than 50% Warning

3 — Monday portfolio digest

One summary message covering all MM clients with a traffic light system:

StatusWhat it means
🔴 RedCPA up >25% or conversions down >30%. Needs attention.
🟡 YellowCPA up 10–25% or conversions down 10–30%. Worth watching.
🟢 GreenMetrics stable or improving. No action needed.

Also shows portfolio totals (spend, conversions, average CPA) with week-over-week changes and pending approval count.

4

Talking to the bot

@mention the bot in #mm-ads-autopilot and ask questions in plain English. You can also comment on any Autopilot-created ClickUp task to get contextual answers.

Example conversation

YouHow is Ultra Tune performing this week?
BotPulls live data, replies with spend, clicks, conversions, CPA, and any red flags.
YouWhat about their search terms?
BotResponds with Ultra Tune search terms — remembers the client from the previous message.
YouAny keywords wasting budget?
BotResponds with Ultra Tune keyword waste analysis.

You don't need to re-specify the client in every message once a thread is started.

What to type — quick reference

What you wantWhat to type
Performance snapshot"How is Ultra Tune North Ryde performing?" / "Give me a snapshot of Core Diesel"
Keyword waste"What keywords are wasting budget for Auto Response?"
Search terms"Show me search terms for Noranda Service Centre"
Quality Scores"What's the Quality Score situation for Ballarat Service Centre?"
Run full analysis"Run analysis for Ultra Tune North Ryde" — triggers full pipeline, takes 2–3 minutes
Add a negative keyword"Add 'diesel engine diagram' as a negative for Core Diesel" — bot confirms before executing
Pause a keyword"Pause the keyword 'car repairs' for Performance Plus" — bot confirms before executing
Explain a recommendation"Why did you recommend pausing volkswagen maintenance?"

Client names — use these exactly

Exact client names for the bot
Auto ResponseNoranda Service Centre
Automotive InsightPerformance Plus
Ballarat Roadworthy CentreUltra Tune North Ryde
Ballarat Service CentreCore Diesel
5

Your weekly tasks

Monday morning (5–10 minutes)

  • Open #mm-ads-autopilot in Slack
  • Read the portfolio digest — check which clients are red or yellow
  • Review the proposed actions for each client
  • For each group: Approve, Reject, or Review individually
  • If rejecting, explain why in the popup — this teaches the system

During the week (as needed)

  • Check Slack for anomaly alerts — these mean something needs attention now
  • Ask the bot questions about any client at any time
  • Comment on ClickUp tasks if you want more context on a specific action
That's it. The system handles everything else — pulling data, analysing it, proposing changes, monitoring for anomalies, logging to ClickUp, and executing approved changes.

Tips for reviewing

  • Keyword pauses — the system explains why (high CPA, zero conversions). If strategically important despite bad numbers, reject and say why.
  • Negative keywords — check the search term makes sense as a negative. "mechanic apprenticeship" is clearly irrelevant. "cheap mechanic" might be debatable.
  • New keyword suggestions — come from organic search data (GSC). If the client ranks 8–20 for a query, the system suggests paying for that traffic while SEO catches up.
  • Paid/organic overlap — flags keywords where the client ranks #1–3 organically AND is paying. Consider competitor pressure before approving the pause.
  • Ad copy rewrites — you see current vs proposed with character counts. New copy is informed by winning ads, competitor copy, and landing page messaging.
  • Budget changes — always need approval. The system explains why it thinks the budget should change.
6

The feedback loop

When you reject an action, the system asks you why. Your feedback actively changes how the system thinks about that client going forward.

BotProposes: "Pause volkswagen servicing — CPA is 3.6x above average"
YouReject: "Still want this audience — VW owners are high-value customers even at higher CPA"
BotNext week: will not propose pausing that keyword or similar European car brand keywords for this client.

Scope options when rejecting

ScopeWhat it blocks
Just this keywordOnly this exact entity from being proposed again
Similar keywords in this campaignA pattern — e.g. all European car brand keywords
The whole accountA general principle for this client

You can set an expiry (1 month, 3 months, 6 months, or never). View and deactivate active rules at any time on the dashboard at mm-google-ads-autopilot.vercel.app ↗

ℹ️
The compounding effect: after a few months, each client has a growing set of strategic rules. The system stops proposing things you keep rejecting and starts thinking like someone who actually knows the account. This is the most valuable part of the whole system.
7

Where it gets its intelligence

SourceWhat it pullsHow it uses it
Google AdsCampaigns, keywords, search terms, quality scores, ad performance, bidsCore analysis — identifies waste, opportunities, underperformance
Auction InsightsCompetitor impression share, overlap rate, position above rateExplains competitive pressure, detects new competitors, informs bids
Search ConsoleOrganic queries, positions, impressions, CTRFinds keyword opportunities (ranking 8–20), flags paid/organic overlaps (ranking 1–3)
GA4Landing page sessions, conversions, conversion ratesInforms ad copy with proven messaging, recommends best final URLs
SemRushCompetitor ad copy on the same keywordsEnsures new ad copy differentiates from competitors
Your feedbackRejection reasons, strategic rules, scope, expiryPrevents repeating mistakes, aligns with business strategy
8

What it can and cannot do

It CAN propose (and execute when approved)

  • Pause underperforming keywords
  • Re-enable keywords it previously paused
  • Add negative keywords based on search term analysis
  • Add new phrase or exact match keywords from GSC organic data
  • Rewrite underperforming RSA ad copy (headlines and descriptions)
  • Pause underperforming ads
  • Change keyword bids and campaign budgets
  • Pause or enable campaigns and ad groups
  • Create new campaigns, ad groups, and keywords
  • Flag paid/organic overlaps where you might save budget
  • Alert you to mid-week anomalies (CPA spikes, conversion drops)
  • Answer questions about any client in natural language

Hard limits — it CANNOT

  • Add broad match keywords — only phrase and exact match allowed, enforced at code level
  • Execute anything without human approval (in current Phase 1 mode)
  • Pause the last 2 active ads in an ad group
  • Ignore your feedback rules — if you said "don't pause this", it won't
  • Exceed the 15% spend impact circuit breaker without escalating to you
9

Tier system

Every proposed action has a tier label. Right now, all actions go to you for approval. The labels tell you what would happen in automated mode.

TierActionsRisk level
Tier 1Keyword pauses, negative keywords, new keywords (phrase/exact)Low — would auto-execute in automated mode
Tier 1.5Ad copy rewritesMedium — always shows copy preview before execution
Tier 2Budgets, campaigns, bids, structure, paid/organic overlap pausesHigh — always requires approval, even in automated mode
10

Transition plan

The system has three modes. We start safest and gradually loosen as you build trust.

Phase 1 — NOW
Full approval required
Everything needs approval. You review every action in Slack. Nothing fires without you clicking Approve.
Phase 2 — When ready
Tier 1 auto-executes
Keyword pauses and negatives auto-execute. You'll notice you've been rubber-stamping these weekly — that's your signal. Tier 1.5 and 2 still need approval.
Phase 3 — Future
Full autonomous mode
Tier 1 auto-executes. Tier 1.5 shows copy for approval. Tier 2 always needs full approval. The system is trained on your feedback by this point.
ℹ️
You control the transition. We change one setting when you tell us you are ready. No pressure, no timeline.
11

Where things live

WhatWhere
Weekly approvalsSlack — #mm-ads-autopilot
Anomaly alertsSlack — #mm-ads-autopilot (Mon–Fri, as needed)
Portfolio digestSlack — #mm-ads-autopilot (every Monday)
Ask questionsSlack — @mention the bot, or comment on a ClickUp task
Permanent action logClickUp — "Weekly Optimisations" task per client with subtasks
Dashboard + feedback rulesmm-google-ads-autopilot.vercel.app ↗
Monthly reportsGoogle Drive — auto-generated on the 1st of each month
12

FAQ

What if I forget to check Slack on Monday?

Nothing bad happens. Proposed actions sit in Slack until you review them. They expire after 7 days. The system proposes fresh actions on the next run.

What if I approve something and it breaks something?

Every action is logged with full before/after state. Teddi can reverse any change. The circuit breaker also prevents combined spend impact exceeding 15% without escalation.

Can I run it for a specific client on demand?

Yes. Ask the bot in Slack: "run analysis for Noranda" — or trigger it from the dashboard. You don't have to wait for Monday.

What if it keeps proposing the same thing I keep rejecting?

It shouldn't. When you reject with feedback, that creates a rule the system respects. If it still proposes the same thing, check the feedback rules on the dashboard — the rule may have expired or the scope may be too narrow.

Does this replace what I do in Google Ads?

No. This handles routine optimisation — the stuff you would do every week if you had time. You still own the strategy, campaign structure, client relationships, and creative direction. This catches waste and keeps things tidy between your deeper reviews.