Shopify DOM element count and the Core Web Vitals
6.5% of audited sites (540) keep their DOM between 400 and 799 elements (99% good INP, 39ms median), while the 67.6% exceeding 1,500 DOM nodes drop to 99% good INP (63ms median).
24.8% of Shopify sites use 800 to 1,499 DOM elements DOM element count, and 100% of those sites have a good INP, against 99% of all Shopify sites.
24.8% of Shopify sites use 800 to 1,499 DOM elements DOM element count, and 98% of those sites have a good LCP, against 97% of all Shopify sites.
Core Web Vitals pass rate
Sites with 800 to 1,499 DOM elements DOM element count have a good INP most often: 100%, against 99% of all Shopify sites. Sites with 400 to 799 DOM elements DOM size have it least often, at 99%.
Sites with 800 to 1,499 DOM elements DOM element count have a good LCP most often: 98%, against 97% of all Shopify sites. Sites with 1,500+ DOM elements DOM size have it least often, at 96%.
DOM element count usage
1,500+ DOM elements is the most used: 67.6% of Shopify sites. 800 to 1,499 DOM elements is 24.8% of Shopify sites.
DOM element count per framework
On jQuery, 67% of sites use 1,500+ DOM elements DOM element count, and 99% of jQuery sites have a good INP, against 99% of all sites. On Vue, 81% of sites use 1,500+ DOM elements, and 100% of Vue sites have a good INP.
On jQuery, 67% of sites use 1,500+ DOM elements DOM element count, and 95% of jQuery sites have a good LCP, against 97% of all sites. On Vue, 81% of sites use 1,500+ DOM elements, and 97% of Vue sites have a good LCP.
DOM element count or the framework
Does the framework explain the DOM element count difference?
On jQuery, 100% of sites with 800 to 1,499 DOM elements DOM element count have a good INP, against 99% of jQuery sites with 1,500+ DOM elements. Within jQuery, sites with 800 to 1,499 DOM elements and 1,500+ DOM elements have a good INP about equally often. On Vue, 100% of sites with 800 to 1,499 DOM elements DOM element count have a good INP, against 100% of Vue sites with 1,500+ DOM elements. Within Vue, sites with 800 to 1,499 DOM elements and 1,500+ DOM elements have a good INP about equally often.
On jQuery, 96% of sites with 800 to 1,499 DOM elements DOM element count have a good LCP, against 95% of jQuery sites with 1,500+ DOM elements. Within jQuery, sites with 800 to 1,499 DOM elements and 1,500+ DOM elements have a good LCP about equally often. On Vue, 98% of sites with 800 to 1,499 DOM elements DOM element count have a good LCP, against 96% of Vue sites with 1,500+ DOM elements. Within Vue, sites with 800 to 1,499 DOM elements and 1,500+ DOM elements have a good LCP about equally often.
How DOM tree size taxes style recalculation and layout during interactions
Every time a user taps a menu, filters a grid, or toggles a class, the browser recalculates styles and layout across affected DOM nodes. Across 540 sites (6.5%) with 400 to 799 elements, 99% pass field INP at a 39ms median, and the 24.8% between 800 and 1,499 elements reach 100% good INP (49ms median). Once the document tree crosses 1,500 elements (67.6% of sites, 5,574), good INP drops to 99% and median INP rises to 63ms.
Understanding DOM element count
Keep total DOM element count under 800 nodes on initial load and below 1,500 nodes on complex templates. Render modals, drawer menus, and offscreen tabs lazily on interaction, and paginate or virtualize long product and comment lists. Across all audited sites, 6.5% sit at 400 to 799 nodes (99% good INP, 39ms median) versus 67.6% at 1,500+ nodes (99% good INP, 63ms median).
By Arjen Karel · 8,246 crawled Shopify sites (3,818 with desktop Chrome field data, October 2026). How we measured.