Spot weak Google Ads headlines and get replacements drafted
See every responsive search ad ranked by spend, spot the headlines Google rates Low, and have an agent draft replacements in your brand voice.
Build me an ad copy review studio for Google Ads, so I can see which of my headlines are actually working instead of clicking through ad groups one at a time in the Google Ads interface. I run paid search for clients and I need one screen that tells me where the weak copy is and gets replacements drafted.
Main view: a list of every responsive search ad across the account, grouped by campaign and then ad group, sorted by spend descending so the expensive ads carrying weak copy are at the top. Each row shows the ad, its impressions, clicks, CTR, conversions, and cost for the selected date range, plus a set of badges counting how many of that ad's assets Google rates Best, Good, Low, and Learning. Pull this with the Google Ads Search (Paginated GAQL Query) or Search Stream operation: query ad_group_ad for the ad, its status, and its headline and description text along with metrics.impressions, metrics.clicks, metrics.ctr, metrics.conversions, and metrics.cost_micros, and query the ad group ad asset view for each asset's text, field type (headline or description), pinned position, and performance label (BEST, GOOD, LOW, LEARNING, PENDING). Cost comes back in micros, so divide by 1,000,000 before displaying it as currency.
Only list ad groups above a configurable spend threshold for the selected window, defaulting to something like 500 in account currency over the last 30 days, with a date range selector for last 7, 30, and 90 days. Reviewing every ad group in a large account is noise, and the point is to focus on where the money is going.
Ad detail view: opening an ad shows its full set of headlines and descriptions, each one on its own row with its performance label next to it, whether it is pinned and to which position, and a character count against the limit (30 for headlines, 90 for descriptions). Sort so Low assets surface first. Assets still labelled LEARNING or PENDING must be shown as not yet judged rather than weak, in a visually distinct, neutral style, because Google has not gathered enough data on them yet and I do not want to cut copy early.
Each ad group row gets a "Draft replacements" button that kicks off a background agent for that ad group. The agent should: read our brand voice and messaging document with the Google Docs Get Document operation (the document ID is set once in app settings, and I can override it per client); look at which of that ad group's assets are rated Best versus Low, using the same asset data the app already shows; read the keywords the ad group targets by querying ad_group_criterion through the Google Ads Search operation; then draft replacement headlines and descriptions that stay inside Google's character limits, match our voice, and lean into the angles that the Best rated assets suggest are working. It must not suggest replacing pinned assets, and it must not touch assets that are still in Learning. Ask me how many replacements I want per ad group, defaulting to something like 8 headlines and 3 descriptions.
The agent then writes a per ad group creative brief into a new Google Doc using Create Document followed by Batch Update Document: campaign and ad group name, current spend and performance, which existing lines are rated Low and are being retired, the proposed replacements with their character counts, the keywords the ad group targets, and a short rationale I can send to the client for approval. Finally it posts the drafts back into the app, so when I open that ad group I see the drafted lines next to the current copy, each with its character count, and I can mark each draft approved or rejected.
Important boundary to respect in how you build and describe this: there is no supported operation for creating or updating ads in Google Ads, so the app must never claim that approved headlines are pushed live automatically. The output is the reviewed and approved copy set plus the brief in Google Docs, which a person pastes into Google Ads. Give me a "Copy approved lines" action that copies the approved headlines and descriptions to the clipboard in a paste ready block, and a link to the brief document. Be explicit in the interface that publishing is the one manual step.
Row actions and persistence: I can pause a weak ad group straight from its row using the Google Ads Mutate Ad Groups operation to update that ad group's status to PAUSED, behind a confirmation dialog, with the row reflecting the paused state afterwards. I also want a running note per ad group where I record what we have already tested, stored in the app, appended with who wrote it and when, so the next person reviewing the account does not repeat a test. Keep the drafts, approval decisions, notes, spend threshold, brand voice document setting, and agent run history stored in the app so everything is still there when I come back next week.
What does this prompt do?
- Lists every responsive search ad in the account, grouped by campaign and ad group and sorted by spend, so the expensive ads carrying weak copy sit at the top instead of buried three clicks deep
- Shows each ad's headlines and descriptions side by side with the rating Google gives them, so you can see exactly which lines are dragging the ad down
- Drafts replacement headlines and descriptions for any ad group on demand, working from your brand voice document and the keywords that ad group targets, and writes a client ready creative brief into a new Google Doc
- Lets you pause a weak ad group straight from the list and keep a running note per ad group of what you have already tested
What do I need to use this?
- A Google Ads account you can sign in to, with access to the campaigns you want to review
- A Google account with Google Docs access, so the app can read your brand voice document and create new briefs
- A brand voice or messaging document in Google Docs for the agent to write from
- Someone to paste approved lines into Google Ads, since the app hands you finished copy and a brief rather than publishing ads for you
How can I customize it?
- Set the minimum spend so only ad groups worth reviewing appear, and switch the reporting window between the last 7, 30, or 90 days
- Point the agent at a different brand voice document for each client or brand you manage
- Adjust the angle the drafts lean on, for example offers, urgency, or proof points, and how many replacement lines you want per ad group
FAQs
Does this change my ads automatically?
Where do the Best, Good, and Low ratings come from?
What happens to headlines still marked Learning?
Will the drafted copy fit Google's character limits?
Can I use this across several client accounts?
What about headlines I have pinned to position one?
Related templates
Pick creators from your saved list and see their best and worst Instagram posts side by side, so your brief is built on what actually lands.
Pick a client and a date range to see organic trends, paid campaigns and every post ranked best to worst, then generate the client report.
See every employee by department with pay, tenure and time since their last raise, model increases live, then apply only what you approve back to Gusto.
Let anyone request a short avatar video, get the script drafted from your own document, and approve every take before it ships to Slack.
Every client site on one grid with the biggest drops first, plus a one-click monthly recap written up and posted to that client's channel.
A board of job cards for every site album, with inline captions and a one click assistant that writes the dated progress report and posts it to your project channel.
Stop clicking through ad groups to find weak headlines.
Get every responsive search ad ranked by spend, with replacements drafted and a client ready brief waiting for your approval.