URL Priority Fix Dashboard — AmazingCo

Data as of 15 Jun 2026 · Mobile CWV regression active · All metrics from live data upload

● 17 HIGH ● 13 MEDIUM ● 10 LOW
Overview
📱 GSC Mobile Timeline
🔴 High Priority
🟡 Medium Priority
🟢 Low Priority
CWV Status
PSI Tracking List
Fix Timeline
⚠️

Mobile CWV regression confirmed — 1,280 poor URLs, +106% since March

May 1 code deployment degraded mobile performance site-wide. GSC shows poor URLs growing from ~620 → 1,280 while desktop holds flat at 224 poor URLs (recovery from Apr 23 fix). The 28-day CrUX rolling average crystallised on Jun 1, triggering simultaneous CPA collapse across all 5 markets on both Google and Meta. Every day without the mobile fix extends the recovery window by one day.

Total Ad Spend
$840K
Google + Meta combined
Total Revenue (GA4)
$1.56M
All tracked URLs
Blended ROAS
1.86x
↓ Below 2x target
HIGH Priority Spend
$818K
97% of total spend
Mobile Poor URLs
1,280
↑ 106% since Mar — GSC confirmed
Desktop Poor URLs
224
Flat since Apr 23 fix ✓
Current CWV Snapshot — 5 PSI-Tracked Pages (Mobile)
/promo/aus/mystery-picnic
LCP2.40s
INP150ms
CLS0.01
12
Spend: $91.1K · ROAS: 2.80x
/promo/new-customer
LCP2.10s
INP154ms
CLS0.03
45
Spend: $301.9K · ROAS: 0.05x 🚨
/promo/picnic-ideas/mystery-picnics
LCP4.32s
INP160ms
CLS0.00
15
Spend: $8.1K · ROAS: 2.11x
/promo/us/mystery-picnic/date-ideas-usa
LCP4.32s
INP160ms
CLS0.00
38
Spend: $7.5K · ROAS: 0.84x
/promo/lp/us-fathersday
LCP4.32s
INP160ms
CLS0.00
37
Spend: $11.2K · ROAS: 0.50x
📱

Mobile performance crisis — desktop has already recovered

GSC confirms 1,280 poor mobile URLs vs 224 poor desktop URLs as of Jun 15. Desktop poor URLs have been flat since the Apr 23 fix. Mobile has worsened every week since the May 1 regression. Scores below 50 trigger Google Quality Score degradation — 4 of 5 PSI-tracked pages are in this zone. With ~73% of paid traffic on mobile, this directly suppresses CVR across all high-spend pages.

Google Search Console — Mobile CWV Trend
Real GSC field data (CrUX 28-day rolling) · Mar–Jun 2026
📉

1,280 poor mobile URLs — more than double March levels · Desktop flat at 224

GSC confirms the divergence: mobile worsening every week post May 1 regression while desktop held flat after the Apr 23 fix. 568 URLs "need improvement" and only 37 are "good" on mobile. The chart below maps this against campaign events from your campaign log.

Mar 17 (start)
~620
Poor mobile URLs
~500 Needs Improv.
~30 Good
Apr 13
~640
MD global + NZ Meta live
~490 Needs Improv.
~37 Good
Apr 23
~660
✓ Desktop CWV fixed
~500 Needs Improv.
~37 Good
May 1 🚨
~750
Regression deployed
~545 Needs Improv.
~37 Good
May 23
~950
CrUX window filling
~560 Needs Improv.
~37 Good
Jun 15 (now)
1,280
+106% vs Mar · CPA collapsed Jun 1
568 Needs Improv.
37 Good
Mobile vs Desktop Poor URLs — with campaign events overlaid
GSC CrUX field data (rolling 28-day) · Mar 17 – Jun 15 2026 · Campaign events from campaign log
Mobile Poor URLs
Desktop Poor URLs
CWV fix events
Regression
CrUX window
Campaign events
Key insight: Desktop poor URLs have been flat at ~200–224 since the Apr 23 fix. Mobile climbed continuously from ~620 to 1,280. The divergence proves the May 1 regression was mobile-only and the Apr 23 fix was never applied to the mobile branch. Jun 1 CPA collapse occurred exactly 28 days after the regression — matching the CrUX rolling average window precisely.
Consolidated Event Log — Campaign launches & CWV milestones
Sourced from campaign log + GSC CWV data
DateEventMarketsData SignalImplication
Mar 1US (Southern) Meta Advantage+ liveUSNew Meta campaign structureBaseline CPM established for US before regression
Mar 15UK Mother's Day campaign offUKNormal seasonal switch-offUK spend reduces temporarily
Mar 16UK Meta Advantage+ liveUKMeta Advantage+ structure for UKUK Meta CPM baseline established
Apr 1CA Meta Advantage+ liveCACA Meta campaign goes liveCA CPM baseline — note CA later shows +59% CPM spike Jun 1
Apr 13NZ Meta Advantage+ live · Mother's Day global liveNZ, AllGlobal Mother's Day campaign activatesIncreased spend across all markets masks early CWV signal
Apr 23Desktop CWV fixed ✓AllCPA stable. Desktop QS recovering.Fix applied desktop only — mobile branch missed. Desktop poor URLs begin declining.
Apr 30NCA live on Demand Gen & Meta Advantage+AU$301.9K campaign goes liveNCA launches 1 day before regression into clean environment — then immediately affected
May 1Code regression deployed 🚨AllCPA calm. Mobile LCP/TBT/CLS degrade silently.28 days of clean CrUX data buffers the impact. No visible signal for 4 weeks.
May 1US (Northern) Meta Advantage+ liveUSNorthern US Meta campaign activatesLaunches same day as regression — all US Meta spend now on degraded pages
May 10Mother's Day global switches offAllCPA drops — normal post-peak. AU CPA ~$45–47.Budget reduction masks early CWV penalty. Appears campaign-driven, not technical.
May 11–14Flash Sale AUAUAU CPA dips — promotional liftFlash sale masks degraded performance. AU appears healthy while CWV worsens unseen.
May 19NCA a/b audience test on Meta liveAUAdditional NCA spend layer addedAll NCA audience data collected on degraded pages — invalidates learnings
May 25Father's Day liveUS, CA, UKFD page recording zero GA4 conversionsLaunched 4 days before full CrUX collapse. ROAS 0.50x on $11.2K spend.
May 29CrUX 28-day window fully degradedAllRolling average now 100% post-regression dataQuality Score collapses across all landing pages simultaneously. CPA spike imminent.
Jun 1CPA collapse — all 5 markets 🚨AllUS +51%, CA +39%, UK +29%, AU +14%, NZ +11%Simultaneous cross-platform spike on Google AND Meta rules out creative/seasonal/bidding causes.
High Priority URLs
≥$10K ad spend
17 URLs · $818K combined spend · Real data from Jun 15 upload
#URL PathTotal SpendG / M Split SessionsEng. SessionsEng. RateBounce PurchasesRevenueCVR% CPAAOVROASCPS CWV MobileClarity
Medium Priority URLs
$1K–$10K spend or high organic
13 URLs · Real GA4 + paid data from Jun 15 upload
#URL PathTotal SpendG / M Split SessionsEng. SessionsEng. RateBounce PurchasesRevenueCVR% CPAAOVROASCPS CWV MobileClarity
Low Priority URLs
Organic / minimal spend
High-converting organic pages — no paid channel split
#URL PathTraffic SessionsEng. SessionsEng. RateBounce PurchasesRevenueCVR% CWV
Core Web Vitals — Mobile PSI Data (5 Tracked URLs)
Real data from automated PageSpeed Insights export · Jun 12–15 2026
📉

All 5 tracked pages show degraded CWV — scores 12–47, LCP up to 4.32s

Real PSI data from the uploaded CWV file (4 data points per page, Jun 12–15). LCP values of 4.28–4.32s on 3 pages are critically above the 2.5s Good threshold. INP values of 145–161ms are at the Needs Improvement boundary (200ms). Only CLS is within range on most pages. The pattern is consistent across all pages — systemic, not page-specific.

URLLCP (Good <2.5s)INP (Good <200ms)CLS (Good <0.1)Perf ScoreAd SpendROASPriority Action
/promo/aus/mystery-picnic2.40s avg ⚠147ms avg ⚠0.01 ✓11–12 🔴$91,1142.80xImage lazy load, script defer, INP JS audit
/promo/new-customer2.11s avg ⚠154ms avg ⚠0.03 ⚠12–47 🟡$301,8630.05x 🚨CLS fix (layout shift source), INP JS audit, also review offer/audience match
/promo/picnic-ideas/mystery-picnics4.29–4.32s ✗160–161ms ⚠0.00–0.01 ✓12–41 🔴$8,1352.11xHero image optimisation, CDN, script defer
/promo/us/mystery-picnic/date-ideas-usa4.28–4.32s ✗160–161ms ⚠0.00–0.01 ✓37–41 🔴$7,5160.84xSame template as Gen Picnic — fix once applies to both
/promo/lp/us-fathersday4.28–4.32s ✗160–161ms ⚠0.00–0.01 ✓37–43 🔴$11,1820.50xLP template: lazy video, font preload. Also swap URL — 0 GA4 conversions
Score 0–49 (Poor) — 4 pages

Google degrades Ad Quality Score. CPC bids increase 20–40%. Users see blank/partial page and bounce before engaging.

Score 50–89 — 1 page (NCA at 45, near threshold)

NCA is right at the threshold. Small LCP improvement could unlock the Quality Score floor — critical at $301K spend.

Score 90+ (Good) — 0 pages

Target state. Google rewards good CWV with Ad Rank boosts and lower CPCs. Est. $100–200K efficiency gain on HIGH spend at 80+ score.

Recommended PSI Tracking List
Top 30 URLs by ad spend · Currently tracking 5 of 30
📡

Only 5 of top 30 spend URLs are tracked in PageSpeed Insights automation

URLs ranked by total ad spend (Google + Meta, UTMs stripped). Green = already tracked. Recommend adding all 30 for daily monitoring. Priority is pages with highest spend and lowest ROAS — those are where CWV degradation is costing the most.

Mobile CWV Fix Timeline
Phased plan from current state to Good · Incorporating Google gTech Mobile UX Audit (Jun 2026)
Google gTech Mobile UX Audit — June 2026 Consolidated insight

Google's gTech team audited 3 key paid landing pages using real CrUX field data (75th percentile, June 2026). While the audit found LCP, CLS and INP are technically within "Good" thresholds on the AU mystery picnic page (LCP 0.8s, INP 79ms, CLS 0), the US mystery picnic and NCA pages show INP at 152–154ms — borderline Needs Improvement. The audit identified two primary root causes causing the PSI lab score gap (scores 12–47 despite good CrUX field values): long-running JavaScript tasks blocking the main thread, and unoptimised above-fold image delivery. Fixing these will close the lab/field gap, push PSI scores above 50, and restore Google Quality Score.

0.8s
AU MP LCP (CrUX field)
✓ Good threshold
154ms
NCA INP (CrUX field)
⚠ Needs Improvement
12
PSI lab score (AU MP)
✗ Lab/field gap critical
Source: AmazingCo Group Mobile Web Performance Audit, Google gTech Professional Services, June 2026 · 75th percentile CrUX data
Week 1–2

🚨 Immediate: Audit & Diagnosis

Run comprehensive Lighthouse CI audit on all 5 tracked URLs + queue the 25 new PSI URLs. Identify top 3 LCP contributors per template. Chrome DevTools Performance panel is the starting point recommended by Google gTech to identify specific long tasks blocking INP.

  • Add all 30 recommended URLs to PageSpeed Insights automation
  • Run WebPageTest on /promo/aus/mystery-picnic (lab score 12 — critical, despite good CrUX field LCP of 0.8s)
  • Use Chrome DevTools Performance tab to record a mobile session and identify tasks running >50ms
  • Confirm if poor PSI scores are template-wide (likely) or page-specific
  • Set up CrUX field data monitoring in Search Console for all 30 PSI URLs
🔵 Google gTech note

CrUX field data shows AU mystery picnic LCP is already 0.8s — good. The PSI lab score of 12 is driven by JavaScript execution blocking interactivity in the lab environment, not slow image delivery per se. Tools: Chrome DevTools, WebPageTest, PageSpeed Insights.

Effort: 3–5 daysImpact: Blockers identified
Week 2–4

🔧 Phase 1: LCP Image Optimisation — Preload Above-Fold Images

Highest ROI fixes shippable without major refactors. Focus entirely on mobile above-fold content delivery. Google gTech specifically recommends preloading the LCP hero image as a priority fix for the NCA page.

  • Preload LCP hero image: Add <link rel="preload" as="image" href="/hero.webp" fetchpriority="high"> in <head>
  • Responsive image preloading: Use imagesrcset and imagesizes attributes to preload only the mobile viewport version
  • Convert hero images: WebP/AVIF format, set explicit width and height to prevent layout shift
  • Critical path CSS: Inline above-fold styles, defer non-critical stylesheets
  • Fix NCA CLS (0.03): Identify layout shift source — likely ad slot or dynamic banner injecting content after paint
Mobile viewport: what Google sees
HERO IMAGE ← Preload this Book Now ▲ Above the fold (preload) ▼ Below fold (lazy load)
Preload code pattern
<head>
 <link
  rel="preload"
  as="image"
  href="/hero-mobile.webp"
  media="(max-width:600px)"
 />
</head>
⚠ Preload sparingly — preloading too many resources defeats the purpose. Target only the LCP element per page template.
Tool: Squoosh for WebP/AVIF conversion
🔵 Google gTech recommendation — Improve LCP on NCA page

Preloading the LCP image instructs the browser to fetch it sooner than it normally would. Use sparingly — when everything is prioritised, nothing is. Preload only the mobile viewport version of the hero using media queries. Do not preload multiple types of the same resource.

Effort: 2–3 sprintsExpected LCP: 4.3s → 2.8s (lab)PSI score: 12 → 35–50
Week 4–8

⚙️ Phase 2: Break Up Long Tasks + Optimise JS Execution

Google gTech identified a 445ms long task blocking the main thread on the mystery picnic pages — visible in Chrome DevTools as an XHR Load → Function Call → onSuccess chain. This is the primary driver of INP scores at 150–154ms and the poor lab performance scores (12–47) despite good CrUX field data.

  • Profile main thread: Chrome DevTools Performance panel → record page load → look for red-flagged tasks >50ms (Google gTech found one at 445ms)
  • Break long tasks into chunks: Refactor tasks to run in <50ms segments — use setTimeout() to defer sequential functions off the critical path
  • Move non-UI work to Web Workers: Data sorting, analytics processing, and pixel scripts that don't need DOM access should run on a background thread
  • Minimise client-side data processing: Handle heavy operations server-side before sending to browser. For SSR, generate content at build time and avoid hydrating unused components
  • Third-party script audit: Delay chat widgets, tag managers, and Meta/Google pixels until after page interactive — these are prime long-task candidates
  • Defer React hydration: Do not hydrate components the user cannot yet see — beware of hydrating unused components blocking the main thread
Main thread: before vs after — breaking up long tasks
❌ Before — 1 long task (445ms+)
Input
received
LONG TASK (445ms)
Event
delayed
User interaction blocked — UI freezes
✓ After — tasks broken into <50ms chunks
Input
received
Task
Event
Task
Task
Task
Interaction processed immediately between tasks
Web Worker pattern (from gTech audit)
// Move heavy work off main thread
const worker = new Worker("sort-worker.js");
worker.postMessage(dataToProcess);
// Main thread stays free
worker.addEventListener("message", (evt) => {
  // Worker done — update UI
  renderResults(evt.data);
});
setTimeout defer pattern
// Break sequential tasks apart
function runInChunks(tasks) {
  const task = tasks.shift();
  if (!task) return;
  task();
  // Yield to browser between tasks
  setTimeout(() => runInChunks(tasks), 0);
}
🔵 Google gTech recommendation — Improve INP on all 3 audited pages

A 445ms long task was observed in the DevTools trace running as an XHR Load → Function Call → onSuccess chain. Break this into chunks under 50ms each. Move computational tasks that don't need DOM access (analytics, sorting, data transforms) to Web Workers using the comlink library. Handle data post-processing on the server before sending to the browser wherever possible.

web.dev/optimize-long-tasks web.dev/optimize-fid npm: comlink (tiny Web Worker wrapper)
Effort: 3–4 sprintsExpected INP: 154ms → <100msPSI score: 35–50 → 65–80
Week 8–14

🎯 Phase 3: Target 90+ PSI Score — Field Data Validation + Pipeline Gates

Close the lab/field gap fully. Ensure all high-spend templates meet Good threshold consistently in real CrUX data, then lock it in with automated pipeline checks to prevent any future regression.

  • CrUX monitoring: Validate 75th-percentile field data improvement 28 days post-fix in Search Console. CrUX takes 28 days to fully re-average — check weekly.
  • Above-fold layout restructure: Address 10–16% scroll depth (Clarity data). Surface booking CTA, key content, and social proof above the fold — most users never scroll past the partially-rendered hero
  • A/B test mobile vs desktop layouts to validate CVR uplift from CWV improvements with a controlled experiment before full rollout
  • Lighthouse CI in deployment pipeline: Use lighthouse-ci to gate new builds — fail deployments that don't meet the performance budget. This would have caught the May 1 regression before production.
  • web-vitals npm package: Instrument real user metrics and pipe to your analytics endpoint for ongoing field data visibility beyond Search Console
🔵 Google gTech tooling recommendations
Monitoring: web-vitals (npm), PageSpeed Insights, WebPageTest, Chrome DevTools + Web Vitals Extension
CI/CD: lighthouse-ci (fail builds below budget), critical (inline critical CSS at build time)
Case studies — what a CWV fix is worth (gTech appendix)
Rakuten 24: CWV investment → +53% revenue per visitor, +33% CVR
Vodafone: 31% LCP improvement → +8% sales
Effort: OngoingTarget: 90+ PSI score, LCP <2.5s labEst. CVR uplift: +15–25% mobile (Google/Deloitte)

Scroll Depth Problem — Clarity

/promo/aus/mystery-picnic
15.65%
Dead clicks: 17.5% · Quick backs: 10.34% · Top click: unlabelled element (97K clicks)
/promo/new-customer
10.46%
Dead clicks: 3.84% · Unlabelled element: 142K clicks · JS errors: 0.6%
🔵 Google gTech — user expectation research

75% of mobile users cite page load speed as the #1 factor in their experience. Users form a first impression in just 50ms. A 0.1s speed improvement increases CVR by 8.4% for retail and 10.1% for travel sites (Google/Deloitte, 2019).

Financial Impact of Fixing Mobile CWV

/promo/aus/mystery-picnic
Rev: $254,754 · CVR: 2.86% · CPS: $2.04
If CVR → 3.3% (+15%): est. +$38K revenue
/promo/new-customer (NCA)
Rev: $15,445 · CVR: 0.66% · CPA: $4,252 🚨 · CPS: $28.12
ROAS 0.05x — CWV fix necessary but insufficient alone. Review offer + audience match.
Quality Score recovery (all HIGH pages)
Est. CPC reduction: 15–25% if scores reach 80+
On $818K HIGH-tier spend → est. $100–200K efficiency gain

Clarity Insights