- Explains why metrics changed (ROAS, CTR, CPC, conversions, conversion rate)
- Compares current period to historical averages (30/60/90-day)
- Identifies contributing factors with severity levels
- Detects campaign changes (paused, new, budget changes)
- Finds similar historical periods (seasonality detection)
- Provides actionable recommendations to address issues
- Current metric value vs historical averages
- Deviation percentages (how much it changed)
- Contributing factors:
- CPC changes (>15% = auction competition shifts)
- Conversion rate changes (>10% = landing page/seasonality issues)
- Campaign changes (paused high-performers, new campaigns, budget changes)
- Day-of-week patterns (weekend vs weekday effects)
- Similar historical periods for context
- Assessment (normal variation vs requires action)
- Specific recommendations to fix the issue
- Compares current period to 30/60/90-day averages
- ±15% deviation considered “normal variation”
-
15% deviation flagged as requiring attention
-
CPC Changes (>15% threshold)
- Increased CPC = auction competition increased
- Decreased CPC = auction competition decreased or bid adjustments
-
Conversion Rate Changes (>10% threshold)
- Decreased = landing page issues, seasonality, audience quality
- Increased = landing page improved, better targeting
-
Campaign Changes:
- Paused high-performers (ROAS > 3.0x) = lost revenue driver
- New campaigns (>$1K spend) = learning phase affecting overall performance
- Budget changes (>20%) = delivery and auction participation affected
-
Day-of-Week Patterns:
- Weekend-heavy periods often show different performance
- Normal for B2C (higher weekend conversion)
- Normal for B2B (lower weekend conversion)
-
Seasonality Detection:
- Finds similar historical periods (±10% metric value)
- Helps identify if drop is seasonal vs real issue
- metric: ‘roas’, ‘ctr’, ‘cpc’, ‘conversions’, ‘conversion_rate’ (REQUIRED)
- period_start: Start date in YYYY-MM-DD format (REQUIRED)
- period_end: End date in YYYY-MM-DD format (REQUIRED, max 30 days period)
- customer_id: Optional (uses connected account if omitted)
- User asks “why did my ROAS drop?”
- User asks “why did my CTR increase?”
- User notices unexpected metric changes
- User wants to understand performance fluctuations
- After seeing performance changes in dashboards
- Normal: ±15% deviation, typical day-of-week/seasonal patterns
- Abnormal: >15% deviation with specific contributing factors
- 🔴 HIGH: >25% change with clear cause (CPC spike, campaign paused)
- 🟡 MEDIUM: 15-25% change or multiple minor factors
- 🟢 LOW:
<15% change, likely normal variation
- CPC increased 25% (auction competition spike during holiday season)
- Your top campaign ‘Brand - Exact’ was paused, losing $240/day in high-ROAS revenue
- Reduce bids by 10-15% to counter CPC inflation
- Re-enable ‘Brand - Exact’ campaign if budget allows
- Review landing page conversion rate (also dropped 12%)”
- Campaign paused → Re-enable high performers immediately
- CPC spike → Adjust bids, improve Quality Score
- Conversion rate drop → Review landing page, check for bugs
- Budget changes → Monitor delivery as it stabilizes
- Weekend effect → Normal variation, no action needed
- This is REACTIVE explanation, not proactive monitoring
- Max 120-day historical lookback (database retention limit)
- Uses simple statistics (mean, variance), no ML predictions
- Focus on actionable factors user can control
- Consider seasonality when interpreting results
- Run this tool when you notice >15% metric changes
- Compare multiple time periods to confirm trends
- Cross-reference with other tools (wasted spend, budget optimizer)
- Use for post-mortem analysis of performance changes
- Help user distinguish normal variation from real issues
OpenAPI
/api-reference/openapi.json post /api/v1/tools/explain_performance_anomaly/execute