ad-copy-audit
Audit ad copy across campaigns for quality, compliance, and performance. Checks ad strength, headline diversity, description quality, keyword insertion, and pinning strategy. Flags underperforming ads and suggests improvements. Use when: "/ad-copy-audit", "audit my ads", "ad copy review", "check ad quality", "ad strength", "improve my ads", "RSA audit".
Ad Copy Audit
You are running an ad copy audit across active campaigns. The goal: identify weak ads, flag quality issues, check brand voice compliance, and suggest specific improvements.
Before you start, read the ads-playbook skill to load brand voice guidelines and selling points.
Step 1: Pull All Active RSAs
Run this GAQL query to get all active responsive search ads:
SELECT
campaign.name,
ad_group.name,
ad_group_ad.ad.id,
ad_group_ad.ad.responsive_search_ad.headlines,
ad_group_ad.ad.responsive_search_ad.descriptions,
ad_group_ad.ad.final_urls,
ad_group_ad.ad_strength,
ad_group_ad.status,
metrics.impressions,
metrics.clicks,
metrics.ctr,
metrics.conversions,
metrics.cost_micros,
metrics.cost_per_conversion
FROM ad_group_ad
WHERE segments.date DURING LAST_30_DAYS
AND ad_group_ad.status = 'ENABLED'
AND ad_group_ad.ad.type = 'RESPONSIVE_SEARCH_AD'
ORDER BY metrics.cost_micros DESC
Cost conversion: Divide cost_micros and cost_per_conversion by 1,000,000.
Step 2: Check Ad Strength
Google assigns an ad strength score to each RSA: EXCELLENT, GOOD, AVERAGE, POOR, UNSPECIFIED.
Flag every ad that isn't GOOD or EXCELLENT. Group by strength:
| Ad Strength | Count | % of Total |
|---|---|---|
| Excellent | X | X% |
| Good | X | X% |
| Average | X | X% |
| Poor | X | X% |
For POOR and AVERAGE ads, they need immediate attention.
Step 3: Audit Headline Diversity
For each RSA, check:
- Total headlines provided. Google allows up to 15. Fewer than 8 is a flag.
- Duplicate or near-duplicate headlines. Flag any headlines that are too similar (same message, different wording).
- Keyword presence. At least 2-3 headlines should contain the target keyword or close variant.
- CTA headlines. At least 1-2 headlines should have a clear call to action.
- Character utilization. Headlines under 15 characters are underutilizing available space. Flag them.
- Pinning. Check if headlines are pinned. Over-pinning (4+ pins) reduces optimization potential.
Step 4: Audit Description Quality
For each RSA, check:
- Total descriptions provided. Google allows up to 4. Fewer than 3 is a flag.
- Benefit mention. At least one description should state a clear user benefit.
- CTA inclusion. At least one description should end with a call to action.
- Keyword presence. At least one description should include a keyword variant.
- Character utilization. Descriptions under 50 characters are underutilizing the 90-char limit.
- Repetition. Descriptions shouldn't repeat the same message as headlines.
Step 5: Check Keyword Insertion Usage
Look for {KeyWord:default} syntax in headlines/descriptions.
- None used: Note it. Keyword insertion can improve relevance for broad ad groups.
- Overused: If more than 3 headlines use keyword insertion, the ad loses brand voice. Flag it.
- Default text too long: If the default text is close to the character limit, inserted keywords might get truncated.
Step 6: Brand Voice Compliance
Using the ads-playbook brand voice guidelines, check each ad:
- Are the selling points from the playbook represented?
- Does the tone match? (professional vs casual, etc.)
- Are banned words being used?
- Are the recommended CTAs being used?
Flag any ads that drift from the brand voice with specific callouts.
Step 7: Performance Cross-Reference
Combine quality audit with performance data:
- High spend, low CTR: The ad is showing but not compelling. Copy needs work.
- High CTR, low conversions: The ad attracts clicks but the message doesn't match the landing page. Check for message mismatch.
- Poor ad strength but good performance: Note it. Google's ad strength isn't always correlated with results. The user might keep it.
- Good ad strength but poor performance: The ad looks good on paper but doesn't perform. Needs creative refresh.
Step 8: Present the Audit Report
Summary
- Total RSAs audited: X
- Ads needing attention: X
- Average ad strength: [breakdown]
Issue Breakdown
| Issue | Count | Impact |
|---|---|---|
| Poor/Average ad strength | X | Lower ad rank, higher CPC |
| Too few headlines (<8) | X | Limited optimization potential |
| No keyword in headlines | X | Lower relevance score |
| Over-pinned (4+ pins) | X | Reduced combination testing |
| Underutilized descriptions (<3) | X | Missing messaging angles |
| Brand voice drift | X | Inconsistent brand experience |
Per-Ad Recommendations
For each flagged ad, show:
Campaign: [name] > Ad Group: [name]
- Ad Strength: POOR
- Issues: Only 5 headlines, no CTA headline, descriptions don't mention key benefit
- Spend: $XXX (last 30 days), CTR: X%
- Recommendations:
- Add 5-7 more headlines (mix keyword, benefit, and CTA types)
- Add a headline with a clear CTA like "Start Free Trial Today"
- Rewrite Description 2 to include [key selling point from playbook]
Step 9: Offer to Generate Replacements
"Want me to generate improved headlines and descriptions for the flagged ads? I'll use the RSA Generator skill with your brand voice guidelines."
If yes, invoke the rsa-generator approach for each flagged ad, pre-filled with the campaign context and existing copy to avoid duplicates.
Edge Cases
- No MCP connected: Ask the user to paste their ad copy (from Google Ads Editor export) and audit that.
- No ads-playbook brand voice configured: Run the audit without brand voice checks. Note that they should set up the playbook for a more complete audit.
- Meta Ads: Audit Primary Text, Headlines, and Descriptions from active ad creatives. Check text length best practices (125 chars primary, 40 chars headline, 30 chars description). Check for emoji overuse, excessive hashtags, and compliance issues.
- Apple Search Ads: Apple Search Ads pull creative from App Store metadata. Audit the App Store listing instead (title, subtitle, screenshots, description).