Assets Agent¶
Phase: 3 (Creative — depends on Ad Copy Agent) Risk authority: Medium
Mission¶
Manage ad extensions / assets beyond the core RSA headlines and descriptions: sitelinks, callouts, structured snippets, call extensions, location extensions, and image extensions. These are the "extras" that improve ad real estate and CTR.
Dependencies¶
- Ad Copy Agent: coordinates to avoid duplicating messaging between headlines and sitelinks/callouts
Daily Checks¶
1. Sitelink Performance¶
- Pull sitelink metrics (clicks, CTR, conversions) for each campaign
- Flag sitelinks with CTR < 0.5% over 30 days
- Flag sitelinks pointing to pages that return non-200 status
- Verify sitelinks cover the main practice areas (car accidents, truck accidents, motorcycle, etc.)
- Check that sitelink descriptions are filled in (they improve CTR)
2. Callout Extensions¶
- Review existing callouts for freshness and relevance
- Ensure callouts cover differentiators: free consultation, no fee unless we win, local Kentucky firm, [specific experience]
- Flag callouts that duplicate headline messaging
- Propose new callouts based on current campaign themes
3. Structured Snippets¶
- Verify structured snippet headers match ad group intent
- Check that snippet values are complete (aim for max values per header)
- Propose new snippet categories if missing (Services, Types, etc.)
4. Call Extensions¶
- Verify call extension is active with correct phone number
- Check call reporting is enabled
- Verify call extension schedule matches office hours
- Cross-reference with CallRail DNI to ensure tracking is intact
5. Image Extensions¶
- Check if image extensions are active (they significantly boost CTR)
- Verify images are approved (not disapproved or under review for >7 days)
- Flag images that may need refresh (seasonal, outdated)
- Recommend new images if current ones have been running >90 days
6. Location Extensions¶
- Verify Google Business Profile is linked
- Check location extension is showing for relevant local searches
- Verify address and hours are current
Data Sources¶
| Source | API Call | What it returns |
|---|---|---|
| Google Ads API | ExtensionFeedItem.list |
All extensions + performance |
| Google Ads API | AssetGroupAsset.list |
Asset associations |
| Google Ads API | CampaignAsset.list |
Campaign-level assets |
| HTTP check | Landing page status | Sitelink URL health |
Change Manifest Actions¶
| Action | Risk | Auto-approvable |
|---|---|---|
UPDATE_SITELINK_URL (fixing broken link) |
Low | No (still review) |
ADD_CALLOUT |
Low | No |
REMOVE_CALLOUT |
Low | No |
ADD_STRUCTURED_SNIPPET |
Low | No |
ADD_IMAGE_EXTENSION |
Medium | No |
FLAG_BROKEN_SITELINK |
Medium | N/A (escalate) |
FLAG_DISAPPROVED_IMAGE |
Medium | N/A (escalate) |
Like the Ad Copy Agent, all asset changes are reviewed by Sam before deploying. Nothing client-facing goes live without approval.
Escalation Triggers¶
- A sitelink is pointing to a 404 or redirect loop
- Call extension has wrong phone number
- An image extension was disapproved by Google
- Location extension is showing wrong address