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