CWV Analysis
Monitor Core Web Vitals with CrUX data, Real User Monitoring, and actionable recommendations.
Overview
The CWV Analysis service lets you monitor your site's Core Web Vitals (LCP, INP, CLS, FCP, TTFB) using real-world data from the Chrome User Experience Report (CrUX) and optionally with Real User Monitoring (RUM). It provides historical tracking, per-URL breakdowns, and actionable recommendations to improve performance.
Features by Plan
| Feature | Free | Pro | Plus | Ultra |
|---|---|---|---|---|
| Monitored URLs | 20 | 40 | 100 | 250 |
| CrUX Data | Yes | Yes | Yes | Yes |
| Real User Monitoring (RUM) | No | Yes | Yes | Yes |
| Data History | 7 days | 30 days | 90 days | 366 days |
| Diagnostics | No | Yes | Yes | Yes |
| Recommendations | No | Yes | Yes | Yes |
Getting Started
To use the CWV Analysis service you need a Google API key with access to the Chrome UX Report API. Follow the steps below to obtain one.
Step 1: Create or Select a Google Cloud Project
- Go to the Google Cloud Console.
- If you don't have a project yet, click Select a project at the top, then New Project. Give it a name (e.g. "RakuWP CWV") and click Create.
- If you already have a project, select it from the dropdown.
Step 2: Enable the Chrome UX Report API
- In the Cloud Console, open the navigation menu (☰) and go to APIs & Services → Library.
- Search for Chrome UX Report API.
- Click on the result and then click the Enable button.
- Wait a few seconds for the API to activate.
Step 3: Create an API Key
- Go to APIs & Services → Credentials.
- Click + Create Credentials at the top and select API key.
- Your new API key will appear in a dialog. Copy it.
- Recommended: Click Edit API key (or the pencil icon) to restrict it:
- Under API restrictions, select Restrict key and choose only Chrome UX Report API.
- Under Application restrictions, you can optionally restrict by IP address for extra security.
- Click Save.
Step 4: Enter the Key in RakuWP
- In your WordPress admin, go to RakuWP → CWV Analysis.
- Paste your API key in the Google API Key field and click Save.
- Add the URLs you want to monitor using the form below.
- Click Refresh Data to fetch your first CrUX report.
Understanding the Dashboard
Overview Gauges
The colored ring gauges show your site's overall performance for each metric. Green means good, yellow needs improvement, and red is poor. The thresholds follow Google's official Web Vitals guidelines.
Historical Chart
The line chart shows how each metric changes over time. Use the tabs to switch between LCP, INP, CLS, FCP, and TTFB. The time range depends on your plan's data history limit.
URL List
The table shows individual page performance. URLs are sorted by worst-performing first so you can prioritize optimization. Click on a URL to see detailed metrics and recommendations.
Real User Monitoring (RUM)
When enabled (Pro plan and above), RUM injects a lightweight script in your site's footer that collects actual performance data from your visitors. This supplements CrUX data with real-time, page-level metrics specific to your site's traffic.
Diagnostics
When enabled (Pro plan and above), the diagnostics feature runs lightweight tests on your worst-performing URLs to identify specific bottlenecks and generates actionable recommendations to improve each metric.
Troubleshooting
- No data after saving the API key: Click Refresh Data. CrUX data is fetched on-demand and then updated daily via cron. New sites may take 24-48 hours to appear in CrUX.
- "API key invalid" error: Double-check that the Chrome UX Report API is enabled in your Google Cloud project and that the key is not restricted to a different API.
- Some URLs show no data: CrUX only has data for pages with enough traffic. Low-traffic pages may not have CrUX records.
Auto-Populate URLs
Instead of manually adding URLs, you can use the Auto-Populate feature to automatically detect and add your site's most visited pages. This uses your existing analytics data or sitemap to populate the URL list up to your plan's limit.
Metric Thresholds
The following thresholds are used to classify metrics as Good, Needs Improvement, or Poor (following Google's Web Vitals guidelines):
| Metric | Good | Needs Improvement | Poor |
|---|---|---|---|
| LCP | ≤ 2.5s | ≤ 4.0s | > 4.0s |
| INP | ≤ 200ms | ≤ 500ms | > 500ms |
| CLS | ≤ 0.1 | ≤ 0.25 | > 0.25 |
| FCP | ≤ 1.8s | ≤ 3.0s | > 3.0s |
| TTFB | ≤ 800ms | ≤ 1800ms | > 1800ms |