---
name: run-a-weekly-performance-review
description: >-
  The 30-minute tactical cadence: pull the week's KPIs against targets and the prior period, scan
  four weeks of trend for momentum flags, drill exactly one issue to root cause by walking the
  metric decomposition (ROAS/CPA down to impression share, CTR, CVR, AOV, CPC) with device/geo/GA4
  segment cuts, and leave a prioritized action list. VigilDog does all the pulling and math; the
  human judges causes and picks fixes. Run weekly on accounts with 200+ monthly conversions
  (stretch the window on thinner accounts, weekly reads under ~50 conversions/month are noise).
  Read-only: fixes route onward to the relevant execution skills. Not the deep monthly audit
  (run-a-monthly-performance-review), not the strategic reset (run-a-quarterly-business-review),
  and not a competitive deep-dive (analyze-auction-insights, triggered from here when IS flags
  fire).
---
# Weekly Performance Review

## Purpose
Catch problems while they are one week old. The weekly review is a fixed, time-boxed loop, status check, trend scan, one focused investigation, action items, that keeps optimization
momentum without drowning in data. Its discipline is restraint: one issue per week, no major
changes off a single week's numbers, and explicit awareness of conversion lag.

## When to run
- Every week, same weekday (early week works best so actions land within the week).
- After significant events: launches, budget moves, bidding changes, as a checkpoint, not a
  verdict.
- When a stakeholder asks for a current status with substance.

## When NOT to run
- Account converts under ~50/month, weekly deltas are statistical noise; review monthly instead
  (run-a-monthly-performance-review) or bi-weekly at 50-200 conversions/month.
- It is review-of-record time for the month or quarter, run-a-monthly-performance-review /
  run-a-quarterly-business-review subsume this.
- You already know the issue and need execution, go straight to the fix skill; do not ritualize.

## Prerequisites
- Documented target KPIs and guardrail thresholds (max CPA / min ROAS / min volume).
- Last week's review output for continuity (carried-forward actions, open flags).
- Awareness of the account's typical conversion lag (judge recent days by conversion time, and
  avoid concluding from data younger than the lag window).

## Procedure
1. KPI status pull (≈5 min). `gads_get_account_performance` for the 7-day window with
   prior-period comparison: conversions, cost, conversion value, CPA/ROAS. Where lag matters,
   supplement with `gads_run_gaql_query` segmented by conversion time rather than click time.
   Grade each primary KPI: green (at/above target), yellow (within 10% of target), red (more
   than 10% off). Check every guardrail for breach.
2. Trend scan (≈5 min). Extend to 4 comparable periods via `gads_run_gaql_query` (weekly
   buckets). For CPA, CVR, CTR, and impression share, record direction and how many consecutive
   periods it has run. Flag: CPA worsening 3+ weeks; CVR falling 2+ weeks; CTR falling 2+ weeks;
   IS falling 2+ weeks. Also list any single-week swing beyond ±15% on a primary metric.
3. Pick ONE investigation (≈10 min), by priority: guardrail breach > red primary KPI > multi-week
   trend flag > large single-week swing. Everything else waits.
4. Decompose mechanically. Walk the metric chain downward with `gads_run_gaql_query`:
   ROAS moves → value vs cost, which moved more; value → conversions vs AOV; conversions →
   clicks vs CVR; clicks → impressions vs CTR; impressions → demand vs impression share, and IS
   loss split into budget-lost vs rank-lost. Each split names the next branch to open.
5. Cut by segment to localize: `gads_get_device_performance` (device concentration),
   `gads_get_geo_performance` (geo concentration), plus campaign and day-of-week cuts via
   `gads_run_gaql_query`. If CVR is the failing branch, pull funnel context from `ga4_run_report`
   (sessions, engagement, funnel-step completion) to separate site problems from traffic
   problems.
6. HUMAN STEP (outside VigilDog): confirm the root-cause hypothesis against business context
   (promotions ended, stock-outs, site deploys, seasonality) and choose the response class: quick
   fix now / needs a test / monitor another week / escalate.
7. Action list (≈5 min): P1 this week, P2 next week, P3 backlog, each with an owner. Review last
   week's list: done, in progress, blocked. Recurring undone actions are themselves a finding.
8. Document: status per KPI, flags raised, the one investigation with evidence, actions with
   owners. Persist for next week and for the monthly roll-up. Any fixes involving Google Ads
   writes are executed via their own skills under the standard preview → user approval → commit
   gate (this review itself changes nothing).

## Decision rules
- Cadence by volume: 200+ conversions/month → weekly; 50-200 → bi-weekly; under 50 → monthly.
- The two-week rule: bad week one = flag; still bad week two = investigate hard; week three =
  act. Single-week swings are signals, not verdicts.
- Do not conclude from data younger than 3-7 days (attribution and lag still settling); use
  conversion-time segmentation for the freshest reads.
- Guardrail breach always outranks everything else for the investigation slot.
- Significance gate for week-over-week deltas: ±15%; smaller moves are unremarkable variance on
  weekly samples.
- Lead-gen/SaaS: weekly data only shows early-funnel movement; never judge downstream revenue
  weekly, validate against monthly business data.
- One investigation per review, always. Two half-investigations produce zero root causes.
- Hard 30-minute cap; whatever did not fit becomes a backlog item, not overtime.

Decomposition cheat sheet (which branch to open next):
- ROAS fell → compare conversion-value delta vs cost delta; the larger mover is the branch.
- Conversion value fell → conversions down, or average order value down?
- Conversions fell → clicks down, or conversion rate down?
- Clicks fell → impressions down, or CTR down?
- Impressions fell → market demand down (impressions with stable IS), or impression share down, and if IS, is the loss budget-capped or rank-driven? Budget-lost routes to budget skills,
  rank-lost routes to quality/bid work.
- CPA rose with stable CVR → CPC inflation; check auction pressure before touching anything
  internal.

## Common failure modes
- Reacting to conversion lag: recent days always look worse than they end up; teams "fix"
  campaigns that were fine.
- Boiling the ocean, five shallow investigations instead of one complete decomposition.
- Reviews that produce no actions (analysis theater) or the same action three weeks running
  (execution failure, escalate it).
- Weekly reviews on low-volume accounts generating confident noise-chasing.
- Skipping documentation, so trend memory resets every week and slow drifts go unseen.
- Comparing a promo week to a non-promo week and calling the difference a trend, annotate
  business events in the review notes so comparisons stay like-for-like.
- Investigating the loudest stakeholder question instead of the highest-priority flag; the
  priority order in step 3 exists to defend the review from noise.
- Letting the review slide to late in the week, so P1 actions land in next week's data and the
  cadence loses a full cycle.
- Treating a green dashboard as "no review needed", the trend scan and carried-forward action
  check still run; green weeks are when drift starts unnoticed.

## Related skills
- Rolls up into: run-a-monthly-performance-review (this review's outputs are its inputs), then
  run-a-quarterly-business-review.
- Triggers, on flags: analyze-auction-insights (IS/competitive), improve-quality-score
  (rank-driven loss), handle-budget-limited-campaigns (budget-lost IS),
  analyze-and-optimize-keyword-performance, monitor-landing-page-performance (CVR-side issues),
  monitor-and-maintain-bid-strategy-health (bidding anomalies).
