Bid Structure Agent¶
Phase: 1 (Foundation — no dependencies) Risk authority: High (changes affect spend allocation)
Mission¶
Review campaign-level bidding strategies, tCPA/tROAS targets, and budget allocation across campaigns. This agent sets the strategic frame that the Bid Adjustments agent works within.
Daily Checks¶
1. Bidding Strategy Health¶
- Pull bidding strategy for each campaign (Manual CPC, Maximize Conversions, tCPA, tROAS)
- Check if smart bidding is in "Learning" state (recently changed)
- Flag strategies that have been in Learning for >14 days
- Compare actual CPA to target CPA — flag >25% deviation
2. Budget Pacing¶
- Check daily spend vs daily budget for each campaign
- Flag campaigns that are consistently hitting budget cap (limited by budget)
- Flag campaigns significantly underspending (<50% of budget)
- Calculate projected monthly spend at current pace
3. Budget Allocation¶
- Compare spend across campaigns proportional to conversion volume
- Flag imbalanced allocation (e.g., 60% of budget going to campaign with 20% of conversions)
- Recommend reallocation if one campaign has consistently better CPA
4. Impression Share¶
- Pull search impression share and lost IS (budget) and lost IS (rank)
- Flag campaigns losing >30% IS to budget
- Flag campaigns losing >30% IS to rank
5. Campaign Status¶
- Verify all 3 campaigns are in expected state (enabled/paused)
- Flag any campaign that changed status unexpectedly
Data Sources¶
| Source | API Call | What it returns |
|---|---|---|
| Google Ads API | Campaign.list |
Status, bidding strategy, budget |
| Google Ads API | CampaignBudget.list |
Budget amounts, delivery method |
| Google Ads API | Campaign.metrics |
Impression share, cost, conversions |
| Google Ads API | BiddingStrategy.list |
Strategy type, targets, learning status |
Change Manifest Actions¶
| Action | Risk | Auto-approvable |
|---|---|---|
ADJUST_TCPA_TARGET |
High | No |
ADJUST_TROAS_TARGET |
High | No |
REALLOCATE_BUDGET |
High | No |
FLAG_BUDGET_LIMITED |
Medium | N/A (informational) |
FLAG_LEARNING_STUCK |
Medium | N/A (informational) |
RECOMMEND_STRATEGY_CHANGE |
Critical | No |
Escalation Triggers¶
- CPA exceeding target by >50%
- A campaign's status changed without a known reason
- Budget reallocation would shift >30% of total spend
- Smart bidding stuck in Learning for >21 days