# Core Web Vitals Release Workbook

Use this workbook to connect real-user evidence to a reproducible performance cause, a controlled release, and post-release validation. Duplicate sections for each affected template or independent cause.

Core Web Vitals measure user experience. Keep crawler delivery, search eligibility, AI visibility, referrals, and conversion as separate evidence streams.

## 1. Audit record

| Field | Value |
|---|---|
| Site / property | |
| Review owner | |
| Engineering owner | |
| Analytics owner | |
| Review date | |
| Release / version | |
| Markets | |
| Languages | |
| Mobile scope | |
| Desktop scope | |
| Privacy / consent constraints | |

## 2. Priority template inventory

| Template | Representative URLs | Primary journey | Device priority | Monthly visits | Conversion / outcome | Business criticality |
|---|---|---|---|---:|---|---|
| | | | | | | |
| | | | | | | |
| | | | | | | |

## 3. Evidence labels

Use these labels throughout the workbook:

- **Field:** observed from real visits through CrUX, Search Console, or first-party RUM.
- **Lab:** reproduced under documented synthetic conditions.
- **Inferred:** plausible explanation that still requires reproduction or instrumentation.
- **Unknown:** missing evidence that should not be converted into a finding.

## 4. Core Web Vitals baseline

Record whether a value is page-, URL-group-, template-, or origin-level. Do not compare unlike populations without noting the difference.

| Template / URL | Device | Data source | Scope level | Window | Visits / coverage | p75 LCP | p75 INP | p75 CLS | Status | Evidence link |
|---|---|---|---|---|---:|---:|---:|---:|---|---|
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |

### Baseline interpretation

- Worst metric:
- Affected population:
- First known regression date:
- Related release or vendor change:
- What the current data cannot prove:

## 5. LCP attribution worksheet

### LCP element

| Field | Value |
|---|---|
| Template / URL | |
| Device / viewport | |
| LCP element selector or description | |
| Element type | Image / Text / Video / Other |
| Resource URL, if any | |
| Present in initial HTML? | |
| Lazy-loaded? | |
| Priority hint / preload | |

### LCP subparts

| Subpart | Field value | Lab value | Share of LCP | Evidence | Suspected owner |
|---|---:|---:|---:|---|---|
| Time to First Byte | | | | | |
| Resource load delay | | | | | |
| Resource load duration | | | | | |
| Element render delay | | | | | |

### LCP hypothesis

- Dominant subpart:
- Suspected cause:
- Evidence supporting the cause:
- Smallest useful change:
- Possible guardrail regression:

## 6. INP attribution worksheet

| Field | Value |
|---|---|
| Template / URL | |
| Device class | |
| Interaction target | |
| Interaction type | Click / Tap / Key / Other |
| Journey stage | |
| Occurs during startup? | |
| Third-party activity present? | |

| INP subpart | Field value | Lab value | Evidence | Suspected owner |
|---|---:|---:|---|---|
| Input delay | | | | |
| Processing duration | | | | |
| Presentation delay | | | | |

### INP hypothesis

- Slowest interaction:
- Dominant subpart:
- Long task, callback, or render cause:
- Immediate feedback that must paint first:
- Work that can be removed, deferred, split, or yielded:
- Possible guardrail regression:

## 7. CLS attribution worksheet

| Shift cluster | Affected elements | Triggering component | Trigger time / action | Field frequency | Layout space reserved? | Owner | Evidence |
|---|---|---|---|---:|---|---|---|
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |

### Common source review

- [ ] Image or video dimensions
- [ ] Ad, embed, or iframe slot
- [ ] Consent, alert, or recommendation insertion
- [ ] Font swap and fallback metrics
- [ ] Server / hydration mismatch
- [ ] Personalization or localization
- [ ] Layout-property animation
- [ ] Late API response or component resize

### CLS hypothesis

- Largest shift cluster:
- Owning component:
- Space or state that should be reserved:
- Mobile, locale, consent, or personalization conditions:
- Possible guardrail regression:

## 8. Lab reproduction protocol

| Field | Value |
|---|---|
| Tool and version | |
| Production or staging URL | |
| Browser and version | |
| Viewport / device | |
| CPU setting | |
| Network setting | |
| Cache state | Cold / Warm / Both |
| Consent state | |
| Authentication state | |
| Locale / market | |
| Interaction script | |
| Repetition count | |
| Trace / recording link | |

### Reproduction result

- [ ] The field symptom was reproduced.
- [ ] The suspected cause is visible in the trace.
- [ ] The lab warning is unrelated to the field symptom.
- [ ] More field instrumentation is required.

## 9. Change register

| Change | Metric / subpart | Affected templates | Evidence | Owner | Effort | Risk | Dependency | Status |
|---|---|---|---|---|---|---|---|---|
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |

## 10. Performance budget and release contract

| Field | Value |
|---|---|
| Target population | |
| Primary metric target | |
| LCP guardrail | |
| INP guardrail | |
| CLS guardrail | |
| JavaScript / main-thread budget | |
| Third-party budget | |
| Media budget | |
| Error-rate guardrail | |
| Conversion guardrail | |
| Observation period | |
| Rollback threshold | |
| Rollback owner | |

Internal targets are team budgets, not Google or AI-platform requirements. Record why each number was selected.

## 11. AI-search compatibility checks

### Delivery and eligibility

- [ ] Canonical URL returns `200`.
- [ ] Redirect behavior is intentional.
- [ ] Main content and links are present in server output or reliably rendered.
- [ ] `robots.txt`, meta robots, and snippet controls match policy.
- [ ] CDN, WAF, and bot-management delivery was tested.
- [ ] Google reports the intended indexed canonical.
- [ ] Visible content and structured data agree.

### Outcome separation

| Outcome | Baseline | Post-release | Window | Source | Interpretation |
|---|---:|---:|---|---|---|
| Search impressions | | | | | |
| Google generative AI impressions, if available | | | | | |
| Observed AI mentions | | | | | |
| Owned citations | | | | | |
| AI referral sessions | | | | | |
| Engagement | | | | | |
| Conversion | | | | | |

Do not infer a citation change from a Core Web Vitals change without direct observation.

## 12. Pre-release checklist

- [ ] Baseline saved with population, window, and source.
- [ ] Field symptom attributed to an element, interaction, or component.
- [ ] Lab protocol reproduces the suspected cause.
- [ ] Proposed fix addresses the dominant subpart or shift source.
- [ ] RUM instrumentation remains active.
- [ ] Mobile, desktop, locale, consent, and personalization states tested.
- [ ] Accessibility and functional tests passed.
- [ ] SEO output, canonical, metadata, and primary content unchanged or reviewed.
- [ ] Owners approve metric and business guardrails.
- [ ] Rollback action can be executed within the agreed time.

## 13. Post-release validation

### Immediate validation

| Check | Result | Evidence | Owner | Date |
|---|---|---|---|---|
| Functional smoke test | | | | |
| Error rates | | | | |
| First-party RUM | | | | |
| Guardrail metrics | | | | |
| Search-rendered output | | | | |
| Crawler delivery | | | | |

### Rolling-window validation

| Review point | Date | RUM result | CrUX / PSI result | Search Console group | Business result | Decision |
|---|---|---|---|---|---|---|
| Day 1 | | | Not mature | Not mature | | |
| Day 7 | | | Partial | Partial | | |
| Day 14 | | | Partial | Partial | | |
| Day 28+ | | | Mature window | Review | | Scale / Iterate / Roll back |

## 14. Finding register

Every finding needs an observation, evidence, consequence, action, owner, and retest.

| ID | Evidence label | Observation | Evidence | User / business consequence | Recommended action | Owner | Retest date | Priority |
|---|---|---|---|---|---|---|---|---|
| CWV-01 | | | | | | | | |
| CWV-02 | | | | | | | | |
| CWV-03 | | | | | | | | |

## 15. Decision summary

### Verified

-

### Inferred

-

### Unknown

-

### Release decision

- [ ] Scale
- [ ] Iterate
- [ ] Roll back
- [ ] Continue monitoring

Decision rationale:

Next owner and date:

---

Workbook version: 2026-09-06
