| name | traffic-monitor |
| description | Specialist tool that pulls weekly Tier 1+2+3 KPI data via gsc-mcp + ga4-mcp + user-puppeteer. Reports per pillar, channel mix, share-of-search, AI citation count delta, anomalies. Used by Stage 1 Discovery (input data) and Stage 8 UX (post-ship attribution). |
| metadata | {"family":"ops","owner":"seo","last_reviewed":"2026-04-29T00:00:00.000Z","version":"1.0.0","related_skills":["seo-foundations","marketing-foundations","opportunity-discovery","indexation-monitor"],"kpis":["Channel mix vs 70/30 brand/performance target","Share-of-search per tracked cluster (top 3 within 12mo)","AI citation count MoM growth"],"marketing_pillar":45,"seo_standard":"A","kpi_tier":123,"funnel_stage":"all","maturity_stage":"descriptive","used_by_stages":[1,8]} |
Traffic Monitor
Weekly autoresearch pull of Tier 1+2+3 KPI data. Specialist tool used by Stage 1 Discovery to surface ranking trends + channel mix shifts; used by Stage 8 UX for post-ship attribution.
When to Use
- Stage 1 Discovery weekly autoresearch (Monday morning before Slack gate).
- Stage 8 UX post-ship attribution at 30/60/90 days.
- Monthly attribution review (composes traffic-monitor with performance-attribution).
- Ad-hoc: when an operator needs a current KPI snapshot.
Do Not Use When
- Need to surface specific opportunities — use
opportunity-discovery.
- Need indexation-only check per pillar — use
indexation-monitor.
- Need SEO health audit (cannibalization, anchors, schema) — use
seo-health.
Inputs
Tools Used
gsc-mcp.query_search_analytics — for impressions, clicks, CTR, position per pillar + per cluster
ga4-mcp.run_report — for engagement time, click depth, bounce rate, channel mix
ga4-mcp.funnel_report — for App Download Funnel snapshot
user-semrush (monthly) — for share-of-search per cluster + backlink velocity
user-puppeteer (monthly) — for AI citation count
Workflow
Weekly run
- Pull GSC
query_search_analytics for last 7 days vs prior 7 days, grouped by pillar.
- Pull GA4
run_report for engagement + channel-mix metrics, last 7 days.
- Compute deltas (WoW + MoM) per pillar per Tier 1+2 metric.
- Flag anomalies: any pillar with WoW change >15% on impressions / clicks / CTR.
- Emit
Channel Mix + Share of Voice block.
Monthly run (extends weekly)
- Pull
user-semrush backlinks report for new RDs/month.
- Pull
user-puppeteer AI citation query battery against tracked queries.
- Compute Tier 3 deltas: brand search impressions, AI citation share, share-of-search per cluster.
Output Contract
Markdown block in nextjs-app/docs/reports/<date>/traffic-monitor.md:
## Traffic Monitor — <date>
### Channel Mix + Share of Voice
- Organic: <%, WoW delta>
- AI search: <citations count, MoM delta>
- Brand search: <impressions, MoM delta>
- Direct + returning: <%, WoW delta>
- Referral: <%, MoM delta>
- Brand vs performance ratio: <X/Y> (target 70/30)
### Per-Pillar Tier 1
| Pillar | Impressions WoW | Clicks WoW | Avg position MoM | Schema validity |
|---|---|---|---|---|
| ... | ... | ... | ... | ... |
### Per-Pillar Tier 2
| Pillar | CTR vs benchmark | Engagement time vs baseline | Tool usage % |
|---|---|---|---|
### Tier 3 (monthly)
- Brand search impressions: <X> (MoM delta)
- AI citation share: <X> tracked queries (MoM delta)
- Share of search per cluster: <table>
- Backlink velocity: <X> new RDs (target ≥10)
### Anomalies
- <pillar/cluster>: <metric> moved <X%> WoW — investigate
Reporting
Every run appends to nextjs-app/docs/reports/_index.json with agent: ops/traffic-monitor.
If any anomaly meets S2 threshold (pillar traffic drop >30% WoW), trigger incident-response playbook → traffic-drop.md runbook.
References