How to fix low performance score on Klaviyo
Improve your Lighthouse/PageSpeed performance score by reducing page weight, eliminating render-blocking resources, optimising images, and addressing Core Web Vitals so Google ranks your store higher in search results.
Steps for Klaviyo
- Audit your Klaviyo script loading: In your theme's code (e.g. Shopify theme.liquid or equivalent), locate the Klaviyo onsite JavaScript snippet (typically a <script> tag loading 'static.klaviyo.com/onsite/js/klaviyo.js' or the older 'a.klaviyo.com/media/js/analytics/...'). Confirm it is NOT placed in the <head> without a 'defer' or 'async' attribute — a synchronous load here is a render-blocking resource and kills your Lighthouse score.
- Add 'async' to the Klaviyo script tag: Change the snippet from <script src='https://static.klaviyo.com/onsite/js/klaviyo.js?company_id=XXXXXX'></script> to <script async src='https://static.klaviyo.com/onsite/js/klaviyo.js?company_id=XXXXXX'></script>. This prevents the script from blocking the browser's render pipeline while still loading Klaviyo functionality.
- Disable or lazy-load unused Klaviyo popup/signup forms: In Klaviyo Admin → Sign-up Forms, review all Published forms. Pause or archive any forms that are not actively used — every active form injects additional JS and CSS into every page load. For forms you keep, ensure they are set to trigger on interaction/exit-intent rather than on page load to defer their payload.
- Remove duplicate Klaviyo scripts: Search your theme files and any installed third-party apps for multiple instances of the Klaviyo analytics or identify.js snippet. Having more than one Klaviyo script on a page doubles the network cost. Remove all duplicates, keeping only the single official async snippet.
- Defer Klaviyo's Back-in-Stock or embedded form embeds: If you use Klaviyo's embedded forms (placed via a <div class='klaviyo-form-XXXXX'> block), load the Klaviyo Onsite JS snippet only on pages that contain that embed by conditionally rendering the script tag (e.g. using a Liquid 'if' block on product pages only), rather than globally on every page including the homepage and collection pages.
- Re-run PageSpeed Insights after each change: After saving your theme edits, run your URL through https://pagespeed.web.dev. Confirm that 'klaviyo.js' no longer appears under 'Eliminate render-blocking resources' or 'Reduce unused JavaScript' in the Opportunities section, and verify your performance score has improved.
What is low performance score?
The Lighthouse Performance Score (shown in Google's PageSpeed Insights tool) is a single number from 0–100 that summarises how fast your web page loads and responds for real users — especially on mobile. It is calculated from five timing metrics, with the three Core Web Vitals (Largest Contentful Paint, Interaction to Next Paint, and Cumulative Layout Shift) carrying the most weight. A score below 50 is considered "Poor" by Google; a score above 90 is "Good." Think of it as a health-check report card for your page's speed: every point you gain means real customers are waiting less and leaving less.
Google officially uses page experience signals — including Core Web Vitals — as a ranking factor, meaning a very low score can directly suppress your position in search results and reduce organic traffic. Beyond rankings, a slow page destroys conversions: industry data consistently shows that each additional second of load time drops conversion rates by 10–20 %, and mobile shoppers are the most sensitive. A score of 8/100 on mobile means the vast majority of your mobile visitors are likely bouncing before they even see your products, costing you both ad spend and organic sales. Closing this gap is one of the highest-ROI technical improvements an ecommerce store can make.
See the complete Low performance score guide for every platform and the full background.
Not sure if your Klaviyo store has this?
Run a free SEOLZ scan — we’ll find low performance score and every other issue across your whole site.
Scan my site free