Time to Interactive (TTI)
Time to Interactive measures when a page becomes fully interactive — meaning the main thread is clear of long tasks and the page responds quickly to user input. Unlike FCP or LCP, TTI accounts for JavaScript execution time after visual elements have loaded.
Why It Matters for Shopify Stores
TTI is particularly important for Shopify stores with heavy app ecosystems. A page might look visually complete (good LCP) but remain unresponsive to taps and clicks for several additional seconds while JavaScript finishes executing. This gap between 'looks loaded' and 'actually works' frustrates mobile shoppers who try to interact before the page is ready. Reducing TTI requires reducing JavaScript execution time — primarily by removing unused apps and optimizing theme JavaScript.
How to Check Your Store
Google PageSpeed Insights and Lighthouse (in Chrome DevTools) both report TTI. A TTI over 7.3 seconds on mobile is considered 'Poor.'
Use the free shopify app bloat calculator toolHow to Fix It
Remove unused JavaScript. Defer non-critical scripts with async/defer attributes. Minimize third-party app scripts. Consider a headless or lightweight theme if TTI is severely impacted by theme JavaScript.
Related Terms
INP (Interaction to Next Paint)
Core Web VitalsInteraction to Next Paint measures the responsiveness of your page to user interactions — clicks, taps, and keyboard input.
LCP (Largest Contentful Paint)
Core Web VitalsLargest Contentful Paint measures how long it takes for the largest visible content element on a page — usually a hero image or headline — to finish loading.
Render-Blocking Resources
PerformanceRender-blocking resources are CSS or JavaScript files that prevent a browser from displaying page content until they've fully downloaded and parsed.
Unused App Scripts
ShopifyUnused app scripts are JavaScript files that load on every page of a Shopify store from apps that have been removed from the store admin but whose code remains in the theme.
Code Splitting
PerformanceCode splitting is a technique where JavaScript bundles are divided into smaller chunks that are loaded only when needed — rather than forcing browsers to download all JavaScript upfront.
Check your store's Time to Interactive with our free tools
Get a full audit across all 6 performance categories — including core web-vitals — in under 60 seconds.
Run a Free Store Audit