Synthetic Monitoring
Run Lighthouse tests on demand to measure performance in a controlled environment.
Synthetic monitoring runs automated tests against your website from a controlled environment. VitalSentinel uses Google Lighthouse to measure performance, accessibility, best practices, and SEO.
What is Synthetic Monitoring?
Unlike RUM which measures real user experiences, synthetic monitoring:
- Runs in a consistent, controlled environment
- Produces reproducible results
- Tests from specific locations and device profiles
- Doesn't require any traffic to your site
Synthetic monitoring is great for catching performance regressions early, before they impact real users. Regular automated tests help you identify issues introduced by deployments or third-party changes.
Lighthouse Metrics
Each synthetic test produces a comprehensive report:
Performance Score (0-100)
Based on weighted metrics:
- First Contentful Paint (10%)
- Speed Index (10%)
- Largest Contentful Paint (25%)
- Total Blocking Time (30%)
- Cumulative Layout Shift (25%)
Accessibility Score (0-100)
Evaluates:
- Color contrast
- ARIA labels
- Keyboard navigation
- Screen reader compatibility
Best Practices Score (0-100)
Checks:
- HTTPS usage
- No console errors
- Correct image aspect ratios
- Valid source maps
SEO Score (0-100)
Verifies:
- Meta descriptions
- Valid robots.txt
- Crawlable links
- Mobile-friendly viewport
Core Web Vitals from Lighthouse
Synthetic tests also provide lab-based Core Web Vitals:
| Metric | Description |
|---|---|
| LCP | Largest Contentful Paint |
| CLS | Cumulative Layout Shift |
| TBT | Total Blocking Time (proxy for INP) |
| TTFB | Time to First Byte |
| FCP | First Contentful Paint |
Lighthouse uses TBT (Total Blocking Time) instead of INP because INP requires real user interactions.
Using Synthetic Monitoring
Adding URLs
Navigate to your domain's Synthetic Monitoring section and click Manage URLs.
- Enter URLs in the text area (one per line for bulk import, or a single URL)
- Select the Test Frequency (Every 4 Hours, Every 8 Hours, Every 12 Hours, or Daily)
- Select Test Locations (Google's Servers is the default)
- Click Add URL (or Add URLs for multiple)
Available test frequencies and locations depend on your plan.
Viewing Results
For each URL, you'll see:
- Latest scores for all four categories
- Core Web Vitals from the most recent test
- Historical trend of scores over time
- Mobile vs Desktop comparison
Mobile vs Desktop
Each test runs in two configurations:
Mobile:
- Throttled CPU (4x slowdown)
- Throttled network (Fast 3G)
- Mobile viewport (390x844)
Desktop:
- No CPU throttling
- No network throttling
- Desktop viewport (1350x940)
Test Frequency
You can configure how often synthetic tests run for each URL. Available frequencies depend on your plan:
| Frequency | Description |
|---|---|
| Every 4 hours | High-frequency testing |
| Every 8 hours | Regular testing |
| Every 12 hours | Twice daily |
| Every 24 hours | Daily testing |
Higher-tier plans unlock more frequent testing intervals. Check your plan details for available options.
Interpreting Results
Score Ranges
| Score | Rating |
|---|---|
| 90-100 | Good (green) |
| 50-89 | Needs Improvement (orange) |
| 0-49 | Poor (red) |
Variability
Synthetic tests can vary between runs due to:
- Server response time variations
- Third-party resource timing
- Dynamic content loading
A variance of 5-10 points is normal. Focus on trends rather than individual scores.
Lab vs Field Data
Lab data (Synthetic) vs Field data (RUM/CrUX):
| Lab Data | Field Data |
|---|---|
| Consistent environment | Real user conditions |
| Reproducible | Variable |
| Specific device simulation | Actual devices |
| Good for debugging | Good for assessment |
Use synthetic for debugging; use RUM/CrUX for Google ranking assessment.
Detailed Reports
Click on any test to see:
Opportunities
Suggestions to improve performance:
- Eliminate render-blocking resources
- Properly size images
- Defer offscreen images
- Minify JavaScript
Diagnostics
Technical details about:
- Main thread work
- JavaScript execution time
- DOM size
- Network requests
Request Waterfall
Visual timeline of all network requests:
- Request timing
- Resource sizes
- Blocking dependencies
- Third-party resources
Comparing Over Time
Track improvements:
- View the Trend chart for your URL
- Compare scores across test dates
- Identify regressions after deployments
- Verify improvements after optimizations
Best Practices
What to Test
- Homepage - First impression for visitors
- Key landing pages - High-traffic entry points
- Product pages - Critical for e-commerce
- Checkout flow - Revenue-impacting pages
When to Use Synthetic vs RUM
Use Synthetic for:
- Debugging specific issues
- Pre-launch testing
- Comparing before/after changes
- Pages with low traffic
Use RUM for:
- Understanding real user experience
- Geographic performance differences
- Device-specific issues
- Google ranking assessment
Multi-Location Testing
Synthetic tests can run from multiple geographic locations to understand performance for users in different regions.
Available Locations
Tests can run from:
| Location Type | Description |
|---|---|
| Google PSI | Google's PageSpeed Insights infrastructure |
| Custom Pods | Additional testing locations (paid plans) |
Viewing Location Data
- Navigate to Synthetic for your domain
- Use the location filter tabs to switch between locations
- Compare metrics across different testing points
Use Cases
- Global websites - Ensure performance for international visitors
- CDN verification - Confirm CDN is serving content correctly
- Regional issues - Identify location-specific problems
- Edge caching - Verify cache behavior across regions
Multi-location testing availability depends on your plan. Higher-tier plans include more testing locations.