The hard part of responsive search ads was never writing fifteen headlines — any competent writer, human or model, can fill the slots. The hard parts are writing them against the queries your account actually pays for, and getting the finished ad into the account without a copy-paste chain that dies somewhere between the doc and the interface. A connected AI fixes both in one conversation: it reads your search terms, drafts in that language, and pushes the ad through an approval step.
Why RSA copy written blind underperforms
An RSA gives you up to fifteen headlines and four descriptions, from which Google assembles combinations per auction — a few headlines and descriptions shown at a time, mixed and matched against the query (Google's RSA documentation covers the mechanics). The design assumption is variety: different angles for different searchers.
Copy written from a brand brief fails that assumption in a predictable way. All fifteen headlines end up being the same headline in different clothes — the company's favourite claim, restated. Nothing matches the searcher who typed a problem rather than a product name, because nobody writing from the brief has seen what searchers type. The gap is measurable in the account itself: compare the vocabulary of your converting search terms with the vocabulary of your live headlines, and the overlap is usually thinner than anyone expects. Closing that gap is the whole job.
Your search terms report has seen it. It is a record of the exact language people used before spending your money — including the phrasings that converted. Copy grounded there starts with an unfair advantage: it echoes the query back, which is what both the searcher and the matching system reward.
Feeding the AI your actual queries, not your assumptions
The grounding prompt, before any drafting happens:
For ad group X in account 123-456-7890, read the search terms from
the last 90 days. Show me: the top converting terms, the phrasings
people use for the problem (not our product name), and any recurring
words that signal intent — pricing, comparison, urgency. Then wait.
The "then wait" matters. You want to see the language landscape before drafts exist, because you will spot things worth encoding — a use-case you had not considered a selling point, a qualifier ("for small business", "same day") that appears in converting queries but nowhere in your current ads. Then:
Draft 15 headlines (max 30 characters each) and 4 descriptions (max
90 characters) for this ad group, using that search-term language.
Vary the angle across headlines. Flag any character-count violations
and anything the landing page cannot substantiate.
The last clause is the quiet quality gate: an ad that promises what the page does not deliver costs you twice — once at Quality Score, once at conversion.
Headline architecture: pins, keyword coverage, proof points
Fifteen varied headlines is not fifteen random headlines. A slate that serves well covers roles:
| Role | Slots | What it does |
|---|---|---|
| Keyword coverage | 4-5 | Echoes the query family — the relevance signal |
| Proof and specifics | 3-4 | Numbers, credentials, named outcomes the page supports |
| Offer and call to action | 2-3 | The reason to click now |
| Differentiators | 2-3 | What the competitor's ad cannot say |
| Compliance or brand line | 1-2 | The line legal requires — pinned if it must always show |
On pinning: a pinned headline always serves in its position, which buys certainty and costs combinatorial freedom. Pin what compliance or brand rules genuinely require, and nothing else. Every additional pin shrinks the space of combinations Google can test, which is the mechanism you are paying for. Where pinning is unavoidable, pin in pairs when you can — two headlines pinned to the same position rotate against each other, which keeps a sliver of testing alive inside the constraint.
Ask the model to label its draft against this table — "mark each headline's role, and flag roles with no coverage". Gaps become visible in seconds.
Descriptions: the four slots everyone wastes
Descriptions get ninety characters each and half the attention. Give the four slots roles the way the headlines have them: one that expands the strongest proof point with specifics no headline can fit, one that handles the biggest objection — price, effort, risk — one that carries the offer and its mechanics, and one that speaks to the searcher earlier in their decision. The failure mode to draft against is four descriptions restating the headlines in longer clothes. The test is deletion: if removing a description loses no information, it was not doing a job, and the model should be sent back for one that does.
From draft to live: pushing RSAs through a connector with approval
This is where the connected workflow beats the doc-and-dashboard one outright. After your edit pass:
Create this RSA in ad group X, paused. Pin headline 1 to position 1.
Final URL: [url]. Show me the complete ad before creating it.
The client surfaces the exact tool call — every headline, every description, the pin, the URL — and waits for your click. The ad lands paused, attributed to your own Google sign-in in change history. You enable it from the interface after a final look, or ask the model to enable it once you are satisfied. Nothing in this chain involves retyping, and the approval step means nothing lands that you did not read.
Paused-first is optional but cheap: an ad that cannot serve cannot spend, so the cost of the habit is one extra click and the benefit is a calm final review. It also builds the habit that scales — every ad the model ever creates for you arrives visible, reviewable and reversible, which is what makes handing it the tedious half of copywriting feel unremarkable within a week.
Ad strength: what to optimise for and what to ignore
Ad strength is a pre-serving heuristic — it grades your inputs (headline variety, keyword inclusion, description length) on a scale from Poor to Excellent. It is worth a look and not worth obedience.
Optimise for what the rating genuinely proxies: real variety and keyword coverage, which the architecture table above already produces. Ignore it when it argues with your constraints — unpinning a legally required line to chase Excellent is trading a real obligation for a label. Ad strength is not a performance verdict; conversion data is. An ad rated Average that converts is a better ad than an Excellent one that does not, and no reporting column will ever say otherwise.
A 30-day RSA refresh cadence
RSAs decay quietly — queries drift, offers age, competitors adapt. A monthly loop keeps the slate honest without turning copywriting into a hobby:
- Read. "Which of my RSAs have the weakest asset performance labels, and how have the converting search terms shifted since these ads were written?"
- Replace, not pile. Swap the weakest third of headlines for new ones drafted from the current search-term language. Keep what performs.
- Log. Note what you changed and why, one line — future you will want to know whether the December dip was seasonality or the refresh.
- Check the pins. Compliance lines age too — offers expire, legal wording changes. A stale pinned line serves in every single impression, which makes it the most expensive stale text in the account.
- Re-ground quarterly. Monthly refreshes work from the standing language map; once a quarter, redo the full search-term read, because markets drift in ways a month-to-month diff hides.
Thirty minutes a month, most of it judgement. For turning refreshes into genuine experiments with readable results, continue to the ad copy testing framework; for the campaign type where assets do even more of the work, see what you can control in Performance Max.
Frequently asked questions
Will Google penalize AI-written ad copy?
No. Google Ads policy has no rule against AI-written copy — policies govern what an ad claims and contains, not who or what authored it. An AI-drafted headline faces exactly the same disapproval risks as a human one: misleading claims, prohibited content, trademark misuse, formatting violations. Review drafts against the landing page's actual claims and the policy areas your industry trips on, and authorship is a non-issue.
How many RSAs should each ad group have?
Usually one strong RSA per ad group. An RSA is already a testing container — Google assembles and rotates combinations from your assets — so stacking several RSAs in one ad group mostly splits data and slows learning. The better investment is one RSA with genuinely varied headlines, refreshed on a cadence, plus a deliberate variant when you have a real hypothesis to test.
Do I have to accept the AI's copy as written?
No — treat the draft as a starting slate. The efficient loop is: the model drafts fifteen headlines from your search-term language, you cut the weak third and sharpen claims it cannot know, then it pushes the finished ad through the connector with your approval. You keep editorial control at two points: the edit pass and the approval click. The time saved is in the drafting and the data entry, not the judgement.
Try it on your own account for a week
The full set of tools for the week, so you can see what it actually does — and it still cannot delete anything. No cost, no card, no contract: you connect your own Google account and can withdraw the access whenever you like.
- Up to 5 accounts
- One week
- Full tools
- No card
- Autonomous agentsLevels of autonomy in Google Ads management, which optimisation work is safe unattended versus which needs approval, and why irreversible actions should not be automated.
- Google Ads MCP serverWhat a Google Ads MCP server is, how free self-hosted servers compare to a hosted one, the full tool list AdCopilot exposes, and what you need to connect.
- Connect ClaudeStep-by-step instructions for adding a Google Ads MCP connector to Claude Desktop, claude.ai and Claude Code, including what to ask it first and how to revoke access.
- Connect ChatGPTStep-by-step instructions for adding a Google Ads MCP connector to ChatGPT, what it can read and change, and how to withdraw access.