Skip to main content
Contributor I
October 8, 2026
Question

Klaviyo reviews take 4–5 seconds to appear

Hi everyone,

My Klaviyo reviews consistently take 4–5 seconds to appear on product pages, in the carousel and on my standalone reviews page - specifically on mobile, whether via WiFi or data connection. The rest of the page loads promptly; only the reviews are delayed. Seems to be fine on desktop, with a shorter delay.


Visitors on mobile may assume there are no reviews and leave before they appear.
 

Examples:

Has anyone found the cause or a fix? I’d appreciate input from Klaviyo staff.
 

Thanks,
Deon

3 replies

Community Manager
October 8, 2026

Hi Deon,
Thank you for sharing that context, I am happy to step in here!
I went ahead and reviewed your site and observed the same slight delay for reviews to appear.

 

This looks like delayed client-side widget initialization, not missing review data. Our internal guidance notes that review ratings must wait for klaviyo.js and then make another request. A 4–5 second mobile delay is likely being amplified by script priority, duplicate scripts, optimization tools, or third-party apps. 

 

My review:

  • Not seeing any duplicate klaviyo.js scripts on your site, only the one needed
  • Not seeing any onsite.js or widget.js outdated/legacy snippets either 
  • Klaviyo support recommends allowing klaviyo.js through performance optimizers and consent tools, and avoiding custom lazy loaders or tag-manager configurations for it.
  • Other third-party widgets could interfere with the review widget’s ability to insert itself; loading those apps later was suggested as a workaround.

 

These widgets typically work by: the base page loads first, then the widget's own JavaScript initializes, then that JavaScript calls out to the app's backend to fetch the actual review data, and only then does it render the stars/text/images into the page. That fetch‑then‑render handoff is what creates a visible gap between "page loaded" and "reviews appear," rather than reviews showing up instantly as part of the initial HTML.

 

The page is also competing for bandwidth with a lot of other network activity, which can push that widget's work later in the queue. When reviewing the network traffic on this page there were: around 80 separate JavaScript and CSS files being pulled in for Shopify's checkout bundle (this is Shopify's speculative "preload the checkout" behavior, not something unique to the reviews page), repeated analytics beacons to Microsoft Clarity (e.clarity.ms), a Klaviyo tracking call, and Shopify's own telemetry endpoints (monorail-edge/otlp). None of these block the review widget outright, but on a page with that much simultaneous network and script activity, a client-side widget that has to wait its turn to fetch and render data can easily end up taking a few seconds, especially on a slower connection.

 

Potential fixing: 

  • Exclude Klaviyo Reviews scripts from JavaScript deferral, lazy-loading, script combination, and consent blocking.
  • Temporarily disable other third-party widgets one at a time and retest on a real mobile device.
  • Render the average rating and review count from Shopify/Klaviyo metafields above the fold. This can appear with the page instead of waiting for the live widget, although the full review list will still require the widget.
  • Add a reserved-height loading state such as “Reviews loading…” so the section does not look empty.

 

If the issue persists despite these recommendations, please capture a failing mobile HAR and browser-console screenshot to help us to investigate further and open a ticket as needed! 

Contributor I
October 14, 2026

Hi Meghan, Thanks for checking and confirming there are no duplicate or legacy scripts.

One important finding from our testing: on the same iPhone 12 Pro Max, reviews took 4–5 seconds in Safari but loaded almost instantly in Chrome. Disabling content blockers for our site in Safari made the reviews load promptly too. The delay was similar on Wi-Fi and mobile data.

Does this point to a specific Klaviyo request being affected by content blocking? Is there a supported way to make the reviews load reliably without visitors having to disable their blockers?

If you recommend rendering ratings through metafields, please provide the exact field names and confirm that they are populated and supported by Klaviyo Reviews.

Thanks, Deon

Temi O.
Community Manager
Community Manager
October 14, 2026

Hi ​@Deon Sensky , 

My name is Temi and I’ll be taking over for Meghan here. I’ve reviewed the issue an caught up where was left off. 

Your tests so seem to narrow the issue to Safari’s client-side loading path, most likely a content blocker delaying or preventing the Reviews widget or one of its supporting requests. It does not identify a specific Klaviyo request by itself, though, and the page content alone cannot show which request Safari is blocking.

The next step would be to capture a Safari Web Inspector trace with the blocker enabled and disabled. Compare the Console and Network tabs and look for requests marked blocked, cancelled, or failed, plus any JavaScript errors. If the trace identifies a Klaviyo script or Reviews request, exclude it from content blocking, JavaScript deferral, lazy loading, consent blocking, or script-combination rules in the relevant browser or optimization tool. A visitor’s content blocker cannot be overridden by a Klaviyo setting, so the reliable site-side option is to provide a fallback for the summary information.

For Shopify, Klaviyo’s supported Reviews metafields are:

  • {{ product.metafields.reviews.rating.value }} for the average rating

  • {{ product.metafields.reviews.rating_count }} for the number of ratings

  • {{ product.metafields.reviews.rating.scale_min }} for the minimum value, 1

  • {{ product.metafields.reviews.rating.scale_max }} for the maximum value, 5

They are enabled by default and work where a Shopify product object is available. The exact field names and supported contexts are listed in Klaviyo’s Reviews metafields reference.

You can render the rating and count in the initial Shopify HTML as a fallback, but this won’t replace the live Reviews widget. The full review list, filters, questions, and review submission controls still require the widget.

I’d recommend two parallel actions: capture the Safari trace to identify the blocked or delayed request, and add the metafield-based rating/count fallback so visitors see that reviews exist even when the widget takes longer to initialize.

I hope this helps! 

 


Temi@Klaviyo