By El Ghali Bennis · Published
Shopify Custom Reports: How to Build Them by Plan
Shopify custom reports explained: which plans unlock the report builder, ShopifyQL basics, profit, cohort and LTV reports, and exports.

Shopify custom reports are reports you build yourself by choosing metrics, dimensions, filters and date ranges, then saving them for reuse. According to Shopify's pricing page, the full custom report builder is reserved for higher tiers, while Basic plans get a limited set of standard reports. Here's how each piece works and where it breaks.
Which plans include Shopify custom reports?
Short answer: the ability to create and edit custom reports sits on the Advanced and Plus plans, while Basic and Grow get prebuilt reports with date and filter controls. Shopify adjusts what each tier includes, so check Shopify's pricing page and your own admin before you upgrade for reports alone. Treat the table below as a general guide, not a contract.
This is the root of the most common complaint: shopify reports not available basic plan. You open Analytics, click a report, and find it locked or missing. It isn't a bug. It's a tier gate. For a full tier-by-tier breakdown, see our guide to Shopify analytics plans compared.
| Plan tier | Reports you can expect | Custom reporting |
|---|---|---|
| Basic | Overview dashboard, live view, core sales and traffic reports | No report builder; you can filter and date-range prebuilt reports |
| Grow / Shopify | Adds more standard reports, such as customer, product and acquisition reports | Generally no full editing; confirm in your admin which reports open in the explorer |
| Advanced | Custom report builder and the full report library | Create, edit and save your own reports |
| Plus | Everything in Advanced plus higher limits | Create, edit and save your own reports |
The jump from a mid tier to Advanced is steep. Shopify's pricing page has listed Advanced at about $399 a month on monthly billing, with discounts on annual plans. If you only want one profit report or one cohort view, that's a lot to pay for a spreadsheet's worth of insight. We cover that wider math in the real price of Shopify.
Prebuilt reports vs custom reports
This distinction trips people up. Prebuilt reports are Shopify's templates: Sales over time, Sales by product, Sales by channel, Retail sales, Customer cohort analysis and similar. You can open them, change the date range and apply some filters. Custom reports are ones you create or edit: you change the metrics and dimensions, rewrite the query, and save your own version. So "I can see the cohort report" and "I can build a cohort report" are different statements, and only the second needs the higher tier.
Limits to know about before you plan around reports:
- Data starts when it's recorded. Profit and margin figures only cover orders where item costs were already entered.
- Reports are store-level. Combining data from several stores or from ad platforms needs exports or an outside tool.
- Exports are snapshots. They don't refresh themselves.
- Attribution is imperfect. Channel numbers rarely match ad platforms.
How to build Shopify custom reports in the report builder
You build a custom report from Analytics, then Reports, then Create custom report. You pick a starting template, change metrics and dimensions, set filters, and save. The whole thing takes about five minutes once you know what question you're asking. This Shopify report builder workflow is the same for every report type below.
- Open Analytics > Reports in your Shopify admin.
- Choose a template close to what you want, such as Sales over time or Sales by product.
- Click Customize or Create custom report to open the explorer.
- Add metrics: gross sales, net sales, orders, average order value, returns.
- Add dimensions: product, channel, location, customer type, day or month.
- Apply filters and a date range. Compare against the previous period.
- Save the report and name it something you'll recognize in three months.
A practical tip: build reports around decisions, not curiosity. "Which products drive repeat purchases?" beats "show me everything by product." Name each report after the decision it informs, and review it on a fixed day each week.
What is ShopifyQL and when should you use it for custom reports?
ShopifyQL is Shopify's query language for pulling data from your store, with syntax that reads like SQL. You use it inside the report editor to write precise queries when the point-and-click builder can't slice data the way you need.
A basic query looks like this:
FROM sales
SHOW total_sales, orders
GROUP BY product_title
SINCE -90d UNTIL today
ORDER BY total_sales DESC
LIMIT 20
Here's what each line does:
FROM salespicks the data table. Others cover areas such as customers and sessions.SHOW total_sales, orderslists the metrics you want as columns.GROUP BY product_titlesets the row dimension, so you get one row per product.SINCE -90d UNTIL todaysets a rolling 90-day window.ORDER BYandLIMITsort the rows and keep only the top 20.
The output is a table with three columns (product title, total sales, orders) and up to 20 rows, best seller first. Change GROUP BY to month, channel or country, and add WHERE clauses to isolate a campaign or customer segment.
Treat this as a pattern, not copy-paste code. Shopify has revised ShopifyQL field names and keywords over time, and the editor's autocomplete shows what your store accepts. If a field errors, swap in the name the editor suggests, and check Shopify's developer documentation for current syntax.
Use it when you need a repeatable view of something the templates don't offer, or when you're tired of rebuilding the same filters. Skip it if you've never written a query. A clumsy query returns wrong numbers confidently, which is worse than having no report. Sanity-check any new query by comparing its total with the matching prebuilt report for the same dates. If the two differ by more than a rounding error, check your date range, time zone and whether returns are included.
Which Shopify custom reports matter most for your store?
Four reports earn their keep for most stores: profit, cohort retention, customer lifetime value, and acquisition-channel performance. Each answers a money question that the default dashboard hides.
Shopify profit report
A Shopify profit report requires cost per item, which you enter on each product variant. Once costs are in, Shopify can show gross margin by product, collection or channel. Without costs entered, "profit" is just revenue with a nicer label. Add shipping and payment fees separately; our breakdown of Shopify payment gateway charges shows what to subtract.
To build it:
- Enter "Cost per item" on every variant (a bulk CSV import is faster for large catalogs).
- Start from Sales by product and add gross margin and net sales as metrics.
- Group by product, then by channel, to see where margin is thin.
- Export and subtract payment fees, shipping you absorbed, and ad spend in a sheet to reach true contribution profit.
Worked example with made-up numbers: a candle sells for $30 with a $9 item cost, so gross margin is $21 (70%). Subtract roughly $1.17 in card fees (2.9% plus 30 cents), $5 in absorbed shipping and $8 in ad spend per order, and contribution profit falls to about $6.83, or 23%. The product looked like a 70% winner; it's really a 23% one.
Shopify cohort analysis
Shopify cohort analysis groups customers by the month of their first order, then tracks how many come back. It tells you whether January's buyers behave differently from July's. If retention at month three is falling cohort over cohort, your acquisition is getting less qualified, whatever your total revenue says.
To build it, open the prebuilt customer cohort analysis report, set the cohort period to month, and choose the metric (customer retention rate or repeat purchase). Read it row by row: each row is a first-order month, each column is months since. Look for the column where retention drops sharply, then time your win-back emails just before it. Filter by first product or channel to find which cohort holds up best.
Shopify customer lifetime value report
A Shopify customer lifetime value report shows cumulative revenue per customer over time, often split by first product or channel. Compare it to what you spend to acquire a customer.
To build it:
- Use the customer cohort report, or a ShopifyQL query on customers, and select a revenue-per-customer metric.
- Split by acquisition channel or first product purchased.
- Read cumulative value at 90, 180 and 365 days.
- Divide by your cost to acquire a customer for each channel.
As a hypothetical illustration (not store data): if a channel brings customers at $40 who are worth $55 over a year, it's thin. If another brings $60 customers worth $190, shift budget. Many ecommerce marketers aim for lifetime value of around three times acquisition cost. It's an industry rule of thumb, not a Shopify benchmark, and the right ratio depends on your margins. Use margin-based lifetime value, not revenue, if your profit report shows thin margins.
Channel and attribution reports
These show where orders originate, using reports such as Sales by channel, Sessions by traffic source and the acquisition reports. They answer questions like which channel brings first orders and which brings repeat buyers.
How to use them well:
- Compare first-order and repeat-order channels. Paid social often wins first orders while email wins repeats, so judging by last click alone undervalues one of them.
- Watch the "direct" bucket. Untracked traffic often lands in direct, which inflates it.
- Use UTM tags consistently. One misspelled campaign name splits a report into two rows.
- Pair with ad spend. Export the channel report and divide spend by orders to get cost per order per channel.
Be careful: numbers rarely match your ad platforms, for reasons covered in Shopify attribution explained. Use Shopify's figures for trend direction and the ad platform's for in-platform optimization.
How do you export Shopify reports and use the analytics dashboard?
You export Shopify reports with the Export button at the top of any report, which downloads a CSV you can open in Excel or Google Sheets. The Shopify analytics dashboard gives the live overview; exports are for deeper analysis.
A workable routine for a small team:
- Daily (2 minutes): check the analytics dashboard for sales, sessions, conversion rate and top products.
- Weekly (15 minutes): review your saved custom reports and export them to a shared sheet.
- Monthly (45 minutes): run cohort and lifetime value views, and compare to ad spend.
Exports have limits. They're snapshots, so you'll need to re-export to refresh. Large date ranges can be slow, and some reports export summaries rather than order-level rows. If you want automation, connect Shopify to a spreadsheet or reporting tool, though that often means another paid app. Our post on reducing Shopify app costs explains why stacking those up gets expensive.
What if your plan locks the Shopify custom reports you need?
You have four realistic options: upgrade, export to a spreadsheet, pay for a reporting app, or move to a platform that includes reporting in the base price. The right one depends on how often you'll use the data.
- Upgrade: sensible if your monthly revenue comfortably absorbs an extra few hundred dollars and you'll use the reports weekly.
- Use exports plus a spreadsheet: free, but manual. Fine under a few hundred orders a month.
- Add an analytics app: faster, though it adds a monthly bill and another tool to maintain.
- Switch platforms: worth considering if reporting, abandoned cart, reviews and loyalty all sit behind paid tiers or apps. See our Shopify alternatives roundup for options.
Whichever route you choose, track the same handful of numbers: net sales, margin, repeat purchase rate, customer lifetime value, and cost to acquire a customer. Five numbers reviewed weekly beat fifty reviewed never.
Get the reporting you need without the tier gate
Shopify custom reports are powerful once you're on the right plan and know your questions. Start with profit, cohorts and lifetime value, use ShopifyQL only when templates fall short, and export weekly to keep a history. If you'd rather not pay more for basic visibility, Rovela builds a complete store from a conversation, with analytics, abandoned cart, reviews and loyalty included in one flat subscription. Check Rovela's pricing to compare it with your current stack.
