Performance reports
How fast your storefronts feel to real visitors — Core Web Vitals measured from actual sessions, store by store, so a slow theme shows up before it costs you sales.
9 built-in reports — every one opens in the report editor, runs across all connected stores in one currency, and can be saved, exported or scheduled. The query under each report is the whole report — readable, and yours to change.
Cumulative Layout Shift (CLS): Over Time
Daily 75th-percentile layout shift with the good / needs-improvement / poor split, as Shopify measures it.
FROM web_performance
SHOW cls_p75, cls_good_rate, cls_measurements, cls_good, cls_needs_improvement, cls_poor
WHERE grain = 'day'
SINCE startOfDay(-30d) UNTIL yesterday
TIMESERIES day WITH TOTALS
ORDER BY timeseries ASC
VISUALIZE cls_p75 TYPE line
Largest Contentful Paint (LCP): Over Time
Daily 75th-percentile largest contentful paint in milliseconds, with the good / needs-improvement / poor split.
FROM web_performance
SHOW lcp_p75, lcp_good_rate, lcp_measurements, lcp_good, lcp_needs_improvement, lcp_poor
WHERE grain = 'day'
SINCE startOfDay(-30d) UNTIL yesterday
TIMESERIES day WITH TOTALS
ORDER BY timeseries ASC
VISUALIZE lcp_p75 TYPE line
Interaction to Next Paint (INP): Over Time
Daily 75th-percentile interaction to next paint in milliseconds, with the good / needs-improvement / poor split.
FROM web_performance
SHOW inp_p75, inp_good_rate, inp_measurements, inp_good, inp_needs_improvement, inp_poor
WHERE grain = 'day'
SINCE startOfDay(-30d) UNTIL yesterday
TIMESERIES day WITH TOTALS
ORDER BY timeseries ASC
VISUALIZE inp_p75 TYPE line
Cumulative Layout Shift (CLS): Page Type
Layout shift by page type — share of page loads, traffic, and the good / needs-improvement / poor split.
FROM web_performance
SHOW percent_of_page_loads, page_loads, cls_p75, cls_good_rate, cls_measurements, cls_good, cls_needs_improvement, cls_poor
WHERE grain = 'day_page'
SINCE startOfDay(-30d) UNTIL yesterday
GROUP BY page_type WITH TOTALS
ORDER BY percent_of_page_loads DESC
LIMIT 1000
VISUALIZE percent_of_page_loads TYPE horizontal_bar
Cumulative Layout Shift (CLS): Page URL
Layout shift by page URL — share of page loads, traffic, and the good / needs-improvement / poor split.
FROM web_performance
SHOW percent_of_page_loads, page_loads, cls_p75, cls_good_rate, cls_measurements, cls_good, cls_needs_improvement, cls_poor
WHERE grain = 'day_page'
SINCE startOfDay(-30d) UNTIL yesterday
GROUP BY page_path WITH TOTALS
ORDER BY percent_of_page_loads DESC
LIMIT 1000
VISUALIZE percent_of_page_loads TYPE horizontal_bar
Largest Contentful Paint (LCP): Page Type
Largest contentful paint by page type — share of page loads, traffic, and the good / needs-improvement / poor split.
FROM web_performance
SHOW percent_of_page_loads, page_loads, lcp_p75, lcp_good_rate, lcp_measurements, lcp_good, lcp_needs_improvement, lcp_poor
WHERE grain = 'day_page'
SINCE startOfDay(-30d) UNTIL yesterday
GROUP BY page_type WITH TOTALS
ORDER BY percent_of_page_loads DESC
LIMIT 1000
VISUALIZE percent_of_page_loads TYPE horizontal_bar
Largest Contentful Paint (LCP): Page URL
Largest contentful paint by page URL — share of page loads, traffic, and the good / needs-improvement / poor split.
FROM web_performance
SHOW percent_of_page_loads, page_loads, lcp_p75, lcp_good_rate, lcp_measurements, lcp_good, lcp_needs_improvement, lcp_poor
WHERE grain = 'day_page'
SINCE startOfDay(-30d) UNTIL yesterday
GROUP BY page_path WITH TOTALS
ORDER BY percent_of_page_loads DESC
LIMIT 1000
VISUALIZE percent_of_page_loads TYPE horizontal_bar
Interaction to Next Paint (INP): Page Type
Interaction to next paint by page type — share of page loads, traffic, and the good / needs-improvement / poor split.
FROM web_performance
SHOW percent_of_page_loads, page_loads, inp_p75, inp_good_rate, inp_measurements, inp_good, inp_needs_improvement, inp_poor
WHERE grain = 'day_page'
SINCE startOfDay(-30d) UNTIL yesterday
GROUP BY page_type WITH TOTALS
ORDER BY percent_of_page_loads DESC
LIMIT 1000
VISUALIZE percent_of_page_loads TYPE horizontal_bar
Interaction to Next Paint (INP): Page URL
Interaction to next paint by page URL — share of page loads, traffic, and the good / needs-improvement / poor split.
FROM web_performance
SHOW percent_of_page_loads, page_loads, inp_p75, inp_good_rate, inp_measurements, inp_good, inp_needs_improvement, inp_poor
WHERE grain = 'day_page'
SINCE startOfDay(-30d) UNTIL yesterday
GROUP BY page_path WITH TOTALS
ORDER BY percent_of_page_loads DESC
LIMIT 1000
VISUALIZE percent_of_page_loads TYPE horizontal_bar
FAQ
Do these performance reports cover all my Shopify stores? Yes — every report on this page aggregates across all connected stores and converts to one currency. Group by store inside any of them for the per-store split.
Can I change what a report shows? Yes — every report opens in the report editor, where metrics, groupings, filters, date ranges and the chart are all editable, and your version saves to your own library.
Can I get these reports automatically? Yes — any report can be downloaded as CSV or Excel, or scheduled to arrive by email or FTP on the cadence you choose.