What we repeatedly see in ecommerce performance audits is simple: a store has one generic speed target, but five very different templates. The homepage carries campaign media, collection pages repeat dozens of cards, product pages load galleries and reviews, the cart calculates incentives, and checkout calls payment services. A single “keep pages below 2 MB” rule cannot govern all of that intelligently.
The useful alternative is a template-level page-weight budget. It connects bytes and requests to what the shopper is trying to do, then gives teams a limit they can enforce before a release reaches production.

Table of contents
- Keyword decision and search intent
- What the 2025 data says
- Why ecommerce needs template budgets
- A practical budget table
- How to allocate the budget
- Measure field outcomes, not bytes alone
- A release-control workflow
- Common budget mistakes
- A 30-day implementation plan
- EcomToolkit point of view
Keyword decision and search intent
- Primary keyword: ecommerce performance statistics
- Secondary keywords: ecommerce page-weight statistics, ecommerce performance budget, page-size budget by template
- Search intent: informational-commercial
- Funnel stage: mid-funnel
- Page type: evidence-led operational guide
- Why this angle can win: current performance reports quantify web bloat, while most ecommerce advice stops before translating the data into template ownership and release rules.
What the 2025 data says
The HTTP Archive 2025 Page Weight chapter reports that the median mobile homepage reached roughly 2.6 MB, up 8.4% year over year. Median mobile inner pages were lighter at about 1.8 MB. The same research found a clear relationship between weight and Core Web Vitals: 57% of mobile homepages below 1 MB passed all three metrics, compared with 30% of pages at 5 MB or more.
JavaScript deserves special treatment. The median mobile page shipped about 646 KB of compressed JavaScript, while the 90th percentile approached 1.9 MB. The median mobile page also contained roughly 251 KB of uncompressed JavaScript that Lighthouse considered unused. Those figures are not ecommerce targets; they are warnings about the normal state of the web.
The 2025 Ecommerce chapter reinforces why commerce teams should care. Ecommerce pages are unusually sensitive to heavy scripts, third-party tags and main-thread contention because shoppers continuously interact with filters, variants, drawers and payment controls.
| Current web signal | Reported 2025 level | Ecommerce interpretation |
|---|---|---|
| Median mobile homepage weight | about 2.6 MB | “Normal” is already heavier than many stores should accept |
| Median mobile inner-page weight | about 1.8 MB | PDP and PLP budgets should not inherit homepage excess |
| Median mobile JavaScript | about 646 KB compressed | Apps and tags can consume the interactive budget quickly |
| Median unused mobile JavaScript | about 251 KB uncompressed | Feature presence does not prove shopper value |
| Mobile CWV pass rate, homepage under 1 MB | 57% | Lighter delivery improves the probability of a good experience |
| Mobile CWV pass rate, homepage 5 MB+ | 30% | Weight is not destiny, but heavy pages face worse odds |
These numbers should inform a baseline, not become your SLA. Your own device mix, markets, templates and conversion paths matter more than an industry median.
Why ecommerce needs template budgets
A performance budget is a constraint agreed before implementation. It can cover transfer size, request count, image weight, JavaScript, long tasks or user-centric timings. The purpose is not minimalism for its own sake. The purpose is preventing low-value functionality from silently consuming the experience.
Template context changes the value equation:
- A homepage may justify one campaign image but not three autoplay videos.
- A collection page needs enough imagery for comparison, but repeated card scripts multiply rapidly.
- A product page can justify richer media when it resolves buying uncertainty.
- A cart must prioritise instant quantity and removal feedback over recommendation density.
- Checkout should protect form and payment responsiveness above almost everything else.
That is why page weight must be paired with commercial intent. A 150 KB size-guide interaction may be valuable on a technical apparel PDP. The same payload on every page, including cart and policy pages, is waste.
A practical budget table
The limits below are starting hypotheses for mobile cold loads, not universal standards. Test them against real-user data and business requirements.
| Template | Total transfer starting budget | JavaScript starting budget | Image/media bias | Primary commercial safeguard |
|---|---|---|---|---|
| Homepage | 1.5–2.0 MB | 250–350 KB | One prioritised hero; defer lower modules | Fast route into a relevant category |
| Collection / search | 1.2–1.8 MB | 220–320 KB | Responsive thumbnails; strict card repetition | Stable filters, sort and scroll |
| Product detail | 1.5–2.2 MB | 280–400 KB | First product image first; defer gallery depth | Variant and add-to-cart responsiveness |
| Cart | 0.8–1.3 MB | 180–280 KB | Minimal merchandising media | Immediate totals and quantity feedback |
| Checkout | Platform-dependent, keep additions minimal | Govern every extension | Avoid decorative media | Reliable form and payment interaction |
| Editorial / guide | 1.0–1.6 MB | 120–220 KB | Lazy-load in-article media | Readability and discovery |
Use a range because catalogs differ. A furniture PDP may need more visual evidence than a replenishment product. The governance question is whether every byte supports the next decision.
How to allocate the budget
Images: prioritise the decision image
The first visible product or campaign image often becomes the Largest Contentful Paint element. Give it explicit dimensions, an appropriate responsive source and high priority only when it is truly above the fold. Do not eagerly load an entire gallery.
Collection pages require a different policy. Product cards repeat, so a small per-card excess becomes a large list-level penalty. Control intrinsic dimensions, thumbnail widths and offscreen loading. For a deeper workflow, see ecommerce image priority performance statistics.
JavaScript: budget execution, not only transfer
Compressed size is an incomplete proxy. Code must be parsed, compiled and executed, and lower-tier phones pay more for the same bundle. Track:
- transferred and uncompressed bytes,
- long-task time,
- unused code,
- main-thread time before key interactions,
- script cost by owner and feature.
An app that adds 40 KB but performs expensive DOM work may be riskier than a larger, rarely executed library.
Fonts and CSS: keep the critical route boring
Reduce font weights, subset where appropriate and avoid loading decorative families before content. Keep critical CSS specific enough to render the initial viewport without shipping an entire design system as blocking code.
Third parties: require an owner and expiry date
Every tag should have:
- a business owner,
- a documented purpose,
- templates where it is allowed,
- consent behaviour,
- a performance cost,
- a review or expiry date.
Without this register, scripts accumulate because removing them feels riskier than keeping them.

Measure field outcomes, not bytes alone
A store can meet a transfer budget and still feel slow. Conversely, a media-rich PDP can perform acceptably when delivery and interaction are carefully sequenced. Pair budgets with field measures:
| Layer | Metric | Segment |
|---|---|---|
| Loading | LCP and hero request timing | template, device, market |
| Responsiveness | INP and long tasks | interaction type, template |
| Stability | CLS | component and release |
| Commerce | product view, add-to-cart, checkout start | speed band |
| Reliability | script error and API failure rate | browser, release |
| Weight | total, JS, image and third-party bytes | template, build |
The important analysis compares distributions. Do not report one site-wide average. Review the 75th percentile on mobile, then separate high-traffic templates and economically important markets.
A release-control workflow
- Capture a representative URL for each template.
- Record today’s resource waterfall, field CWV and conversion path.
- Set a total budget plus resource-specific limits.
- Assign each existing script and major asset to an owner.
- Add automated build checks for predictable assets.
- Run lab journeys for filter, variant, cart and checkout interactions.
- Compare field data after release; lab scores alone do not close the loop.
- Maintain an exception log with a business reason and review date.
For governance across theme and app changes, use the Shopify performance budget policy as a companion model even if your platform is not Shopify.
Common budget mistakes
Treating the median as a goal
Industry medians describe the market, including poorly controlled sites. They do not define good.
Optimising the homepage while PDPs grow
Inner templates often carry the commercial work. Track page weight by template and route transition, not only the URL used in a weekly speed test.
Counting bytes but ignoring repeated components
A lightweight product-card feature can become expensive when instantiated 48 times. Measure component multiplicity and DOM impact.
Allowing permanent exceptions
A seasonal campaign exemption should expire. Otherwise temporary media, tags and experiments become the new baseline.
Removing functionality without measuring value
Performance work should improve the buying journey, not merely produce a smaller waterfall. Record the feature’s commercial contribution before removal.
A 30-day implementation plan
Week 1: inventory
- Select two representative URLs per template.
- Export resource weight and request counts.
- Map apps, tags, fonts and media to owners.
- Establish mobile field baselines.
Week 2: define
- Agree total and JavaScript budgets.
- Create template-specific image rules.
- Set a third-party approval policy.
- Choose commercial guardrails such as add-to-cart and checkout-start rate.
Week 3: enforce
- Add build thresholds where possible.
- Defer below-fold media and non-essential scripts.
- Remove confirmed unused code.
- Test on a mid-tier mobile device and constrained network.
Week 4: govern
- Publish a dashboard by template.
- Review exceptions with product and trading teams.
- Add performance sign-off to release readiness.
- Schedule a monthly script and asset review.
EcomToolkit point of view
The best page-weight budget is not the smallest number a developer can defend. It is the clearest boundary a cross-functional team can enforce. Ecommerce performance improves when every template has a job, every costly feature has an owner, and every exception expires.
Start with current web statistics, but finish with your own field data and commercial journey. If you need a practical baseline, use the ecommerce website performance analysis framework and contact EcomToolkit for an audit that connects resource cost to trading priorities.