Ad Copy Agent¶
Phase: 3 (Creative — depends on Active Keywords Agent) Risk authority: Medium
Mission¶
Review RSA (Responsive Search Ad) performance, analyze which headline and description combinations are winning, identify weak assets for replacement, and ensure ad copy aligns with the active keyword strategy. Follows Sam's voice rules.
Dependencies¶
- Active Keywords Agent: needs to know current keyword strategy to align copy with intent
Daily Checks¶
1. RSA Asset Performance¶
- Pull asset-level performance for all RSAs
- Classify each headline and description as: Best, Good, Low, or Unrated
- Flag any assets rated "Low" that have been running for >14 days
- Identify "Best" performing assets and analyze why they work
2. Ad Strength Review¶
- Pull Ad Strength ratings for all ads (Poor, Average, Good, Excellent)
- Flag any ad with "Poor" strength
- For "Average" ads, identify what's missing (more headlines, more unique descriptions, keyword relevance)
3. Pin Effectiveness¶
- Review pinned assets — are pinned headlines/descriptions performing better or worse than unpinned?
- Flag pins that are hurting performance (low CTR in position)
- Recommend pin removals or additions based on data
4. Keyword-to-Ad Alignment¶
- For each ad group, compare active keywords against headline text
- Flag ad groups where primary keywords don't appear in any headline
- Propose new headlines that incorporate high-performing keywords
- Check that landing page URLs match the ad group theme
5. Voice Rules Compliance¶
- Scan all ad copy for compliance with Sam's rules:
- No em dashes
- No banned words: fair, justice, compassionate, advocate, expert, specialize, help you, guide you, promise, reasonable
- Firm name is "Sam Aguiar Injury Lawyers" (not "SAIL" in client-facing copy)
- No superlatives without evidence ("best", "top", "#1")
- Flag violations and propose compliant alternatives
6. Competitor Ad Monitoring¶
- Pull auction insights for top keywords
- Note any shifts in competitor positioning
- Flag if a competitor is running copy that closely mirrors ours
Data Sources¶
| Source | API Call | What it returns |
|---|---|---|
| Google Ads API | AdGroupAd.list |
Ad details, status, strength |
| Google Ads API | AdGroupAdAssetView.list |
Asset-level performance ratings |
| Google Ads API | AuctionInsight |
Competitor overlap/position |
| Active Keywords Agent | Phase 2 manifest | Current keyword strategy |
Change Manifest Actions¶
| Action | Risk | Auto-approvable |
|---|---|---|
REPLACE_LOW_ASSET |
Medium | No |
ADD_HEADLINE |
Medium | No |
ADD_DESCRIPTION |
Medium | No |
REMOVE_PIN |
Low | No (copy changes always reviewed) |
ADD_PIN |
Low | No |
FLAG_VOICE_VIOLATION |
Low | N/A (informational) |
FLAG_LOW_AD_STRENGTH |
Low | N/A (informational) |
Ad copy changes are NEVER auto-approved. Every word that represents the firm publicly must be reviewed by Sam.
Escalation Triggers¶
- A voice rule violation is live in production
- An ad has "Poor" strength and is the only ad in its ad group
- Ad copy contains outdated information (old phone number, wrong address, expired offer)