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
FAQ
Why does widget speed matter for conversion?
Because the widget rides on your product pages: if it delays Largest Contentful Paint or causes layout shift, it costs conversions on the exact pages it is meant to lift. Google's page-experience signals also feed rankings, so a slow widget taxes traffic too.
What are the eight checks?
Async loading, no render-blocking resources, lazy media below the fold, reserved layout space (CLS under 0.05), INP under 200ms, compressed media, no forced font loads, and a script budget under control. Each check on this page explains how to verify it in DevTools.
How do I test a widget before installing it?
Install it on a preview or staging theme, run Lighthouse on a product page with and without the widget on a throttled mobile profile, and compare LCP, CLS and total weight. Any vendor unwilling to let you test this way is telling you the answer.
How does Idukki's widget score?
The production widget is a ~37KB lazy-loaded runtime with zero blocking time and CLS of 0; a live PageSpeed report is on our widget performance page. The whole point of the checklist is that you can verify this yourself.