Eight checks every UGC widget should pass.
The same Core Web Vitals bar Idukki holds itself to per release. Score your current widget against these. Fail two or more? You’re bleeding conversions.
- 1
Bundle size
Under 50 KB JS over the wire (compressed).
Every additional 50 KB on a PDP costs ~80 ms of TTI on a mid-tier Android.
- 2
CLS contribution
CLS < 0.001 attributable to the widget.
Reserve image dimensions, no late-loaded layout shifts. Bazaarvoice typically adds 0.05+.
- 3
INP
Under 200 ms for any tap on a tile.
Most widgets break this on cold start. Lazy-mount sub-trees so first interaction is instant.
- 4
TTFB on widget API
P95 under 200 ms from the user’s region.
Static-cache or stream from the edge — don’t round-trip a database for content that changes every 6 hours.
- 5
No layout damage
Lighthouse PDP score with widget on ≥ PDP score with widget off − 2 points.
If your widget knocks 10 points off Lighthouse, it’s actively losing you SEO.
- 6
Image format
AVIF or WebP fallback, not JPEG.
40–70% smaller for the same visual quality. Sanity / Cloudinary / Imgix do this for free; configure them.
- 7
Lazy video
No video loaded until in viewport. No autoplay above the fold on mobile.
Each MP4 above the fold can cost 1–3 seconds of LCP on 4G.
- 8
Third-party scripts
Load analytics + tag scripts deferred. Audit weekly.
Most performance regressions come from a tag manager rule someone added at 4pm on a Friday.
Want us to score your live widget for free? Send us your store URL — we’ll run the test and email you a 1-page report.
Want to ship one of these?
Talk to us — we’ll get the right tool live on your stack.
Day-1 sample data on your live IG / TikTok / Reviews, plus a setup plan tailored to Shopify, WooCommerce, BigCommerce, Wix or any HTML site.
- No credit card
- Cancel anytime
- SOC 2 + GDPR