My theme shows up slow, is that bad?

Not necessarily! The real-user performance of a store is dependant on a lot of factors, including, but not limited to: the theme code, customizations to the theme code, installed apps, and additional third-party JavaScript, including tag managers.

However, when looking at aggregated data across multiple websites, the theme code has the highest correlation to store performance.

Where does Theme Vitals get Shopify theme performance data?

All of the data reported here is publicly available through HTTPArchive and the Chrome User Experience Report (CrUX) via BigQuery. Information about whether a website is on Shopify, which theme it uses, and the distribution of theme versions comes from HTTPArchive. That data is then joined with CrUX to obtain real-user performance metrics from sessions in Chrome browsers.

Are all themes included? How were themes selected?

No, not all themes are included. Themes must be in the Shopify theme store and have at least 1 origin (website) in HTTP Archive in the latest month's data to show up in the all themes page. So new, growing themes can be included, but older diminishing ones will be dropped even if they have data in earlier months.

For performance data to show up, that theme must have at least 50 origins for a given month. This is to help prevent the data skewing too much.

Note that not all websites are included in HTTP Archive and the Chrome User Experience report so the number of origins is not equal to the number of theme installs. Learn more about the eligibility for inclusion.

Why do you include vintage and retired themes?
While vintage and retired themes may not longer be available for download, many are still being used on Shopify storefronts. For example, Debut is #2 in market share and is the vintage flagship theme from Shopify. While it is no longer maintained, it's still useful to see how its performance compares to other themes. Merchants with vintage themes will be able to weigh their options better between keeping their theme or upgrading to a newer one by balancing performance with other features.
What can I do if my theme is missing?

Do you think your theme is missing? Note that it must have at least one data point in HTTP Archive for the latest month to show market share and theme version data.

First, check to see if your theme is in my confirmed themes list and that all its data is correct. I might have missed yours.

If your theme is not on there or is incorrect, contact me with the name and theme store ID. You can also DM me in the Shopify Partners Slack.

Which pages were included? Can I see data split out by page type or template (e.g., home, product, collection)?

The Chrome User Experience Report (CrUX) data set only reports cumulative data for an entire origin, or website. Thus, the data includes all pages.

It is not possible to split the data by page type. However, you can use the CrUX API to try to find page-level CrUX data for your own website. The easiest way to do this is to run Page Speed Insights on your home page, your most popular collection page, and your most popular product page. If that individual page has enough data, you will be able to toggle the 'This URL/Origin' selector at the top right of the Core Web Vitals assessment. 'Origin' shows data for the entire site, and 'This URL' shows only the data for that page's URL.

How is this different from the data on the Shopify Performance site?

The primary difference is the source of the data. Their page, Aggregated Theme Performance data, uses internal, non-public data collected by Shopify. This site uses the publicly-accessible Chrome User Experience Report (CrUX) data.

Another difference is that more recently, they began limiting the data to only the 3 most recent versions of a theme. Here, I am including all versions that are on live websites as well as providing you a chart of the distribution of versions for your theme.

This site also provides additional metrics like TTFB, FCP, number of origins, and estimated market share (at the time of writing this FAQ).

These two sites are great to use together. This site contains all theme versions plus additional data while that one shows the trend for the more recent versions.

How is estimated market share calculated?

First, I count the total number of Shopify sites in the Chrome User Experience Report (CrUX) data set. I use that as the denominator for the market share calculation of an individual theme.

This metric is not the total market share of all Shopify sites. Rather, it is the total market share of sites with enough traffic to be included in CrUX.

What does the % Passing CWV number mean? What does 'good' mean for each metric?

This is the percentage of websites using the theme that 'pass' all Core Web Vitals. A passing score for a website means that 75% of users experience a good LCP, CLS, and INP. Learn more about these metrics on web.dev.

  • Largest Contentful Paint (LCP): measures loading performance. To provide a good user experience, LCP should occur within 2.5 seconds of when the page first starts loading.
  • Interaction to Next Paint (INP): measures interactivity. To provide a good user experience, pages should have a INP of 200 milliseconds or less.
  • Cumulative Layout Shift (CLS): measures visual stability. To provide a good user experience, pages should maintain a CLS of 0.1. or less.
What do the red, yellow, and green categories mean for each metric (e.g., LCP)?

The green number is the percentage of websites for the theme that achieve 'good' for that metric. Good is defined as at least 75% of users having a good experience. For example, at the time of writing, a 'good' LCP occurs if the Largest Contentful paint happens in 2.5 seconds or less.

The red number is the percentage of websites for the theme that achieve 'poor' for that metric. Poor is defined as 25% of users or more having a poor experience. For example, at the time of writing, a 'poor' LCP occurs if the Largest Contentful paint happens in more than 4.0 seconds.

The yellow number is the percentage of websites for the theme that 'need improvement' for that metric. It is calculated as difference between the good and poor numbers. For example, if 80% of the theme's origins have a good LCP and 5% have poor, then 15% need improvement.

Learn more about these metrics on web.dev.

How often does Theme Vitals update Shopify theme performance data?

We update performance data every month to capture the latest Core Web Vitals real-user results. Shopify themes evolve over time, and this regular refresh ensures you're always comparing themes using current speed and usability data.

The CrUX data is released every second Tuesday of the month, and this website is updated by the end of that day.

Do Shopify theme speeds affect SEO rankings?

According to Google at the time of writing, 'We highly recommend site owners achieve good Core Web Vitals for success with Search and to ensure a great user experience generally. This, along with other page experience aspects, aligns with what our core ranking systems seek to reward.' Google Search Central.

I noticed an error. Where can I report it?

Thanks for the catch! Contact me via the contact form or DM me in the Shopify Partners Slack.

I have a performance problem. Where can I get help?
I offer theme and storefront optimization services for both theme developers and merchants to get your Core Web Vitals passing. To get started, contact me today.

Struggling to achieve good Core Web Vitals performance?

Get assistance