Shopify Plus Reporting: ShopifyQL, Custom Reports and When You Need a Data Warehouse

DDevjour Technologies

Shopify Plus reporting has improved a lot in the last couple of years, and many brands are still paying for spreadsheets and third-party dashboards that duplicate what the admin can now do. At the same time, some questions simply cannot be answered inside Shopify, no matter how clever the report. This guide walks through what built-in analytics and ShopifyQL-based custom reports handle well, where they run out, and how to decide when a data warehouse and BI tool are worth the money.

What Built-In Shopify Plus Reporting Covers

Shopify's analytics section includes a dashboard of core metrics and a library of prebuilt reports grouped by topic: sales, orders, customers, acquisition, behavior, inventory, finances and more. On Plus, you generally get the full report library plus the ability to build and save custom reports. Report availability varies by plan, so check Shopify's current plan comparison if you are deciding between Advanced and Plus partly on reporting.

The prebuilt reports cover the questions most teams ask every week:

  • Sales over time, by channel, by product, by variant, by discount code.
  • Sessions and conversion rate, including by landing page, device and referrer.
  • New versus returning customer sales.
  • Inventory levels and sell-through, including by location for multi-location setups.
  • Finance summaries covering gross sales, discounts, returns, taxes and shipping.

For a single store selling mostly through its online store, this is often enough for day-to-day decisions. The limits appear when you need to combine data, look at customers over long periods, or reconcile marketing spend against revenue.

ShopifyQL and Custom Reports Explained

ShopifyQL is Shopify's query language for commerce data. You do not need to write it to benefit from it: the current analytics editor lets you build reports by choosing metrics, dimensions, filters and date ranges, and it generates ShopifyQL behind the scenes. Analysts who prefer to type queries can switch to the code view and edit the query directly.

A simple example of the kind of query it supports:

FROM sales
SHOW net_sales, orders
GROUP BY product_title
SINCE -90d
ORDER BY net_sales DESC
LIMIT 20

That returns your top 20 products by net sales over the last 90 days. The syntax reads close to plain English, which makes it easier for a merchandiser to learn than full SQL.

A note on ShopifyQL Notebooks

You may see older guides mention ShopifyQL Notebooks, a separate app where analysts could write queries and chart them. Shopify has since folded query-based reporting into the main analytics experience, and at the time of writing the standalone Notebooks app is no longer the recommended path. Names and features in this area have changed more than once, so check Shopify's help center for the current tooling rather than following old screenshots.

Useful custom reports to build

Reports we commonly set up for Plus clients inside the admin:

  • Discount code performance: orders, net sales and average order value by code, to separate promotions that grow revenue from ones that just give away margin.
  • Product mix by channel: what sells online versus in retail through POS versus wholesale through B2B.
  • Return rate by product: returns as a share of gross sales by product or vendor, to flag items that need better sizing information or quality review.
  • Sales by customer tag: useful when tags mark VIPs, wholesale accounts, or customers acquired through a partnership.
  • Weekly trading snapshot: a saved report the team checks every Monday, so everyone argues about the same numbers.

The key advantage of building these in Shopify is that the data is live and nobody has to maintain an export.

Cohort and LTV Reporting on Shopify Plus

Customer lifetime value is where many brands first feel the limits of built-in reporting.

Shopify includes customer cohort analysis at the time of writing, showing how groups of customers acquired in a given month keep buying in the months after. That is a good starting point: you can see whether customers acquired in November behave differently from those acquired in March, and whether repeat rates are improving.

What built-in cohort reporting usually cannot do well:

  • Cohorts by acquisition channel with real cost. You can often see a customer's first-order referrer, but combining that with actual ad spend by campaign to calculate payback period requires ad platform data Shopify does not hold.
  • Contribution margin LTV. True LTV should subtract product cost, shipping, payment fees, returns and discounts. Shopify holds some of this (product cost if you enter it, discounts, returns), but shipping labels bought elsewhere, 3PL fees and marketing costs live in other systems.
  • Subscription-specific cohorts. Churn and retention by subscription plan often sit in your subscription app's data, not in standard reports.
  • Cross-store views. If you run several Plus stores for different regions or brands, combining cohorts across stores is not something the admin does in one report.

If your LTV question is "Are repeat purchase rates going up or down?", Shopify is enough. If it is "Which campaigns bring customers who are profitable after 12 months, net of all costs?", you are heading toward a warehouse.

Attribution Limits You Should Understand

No reporting setup solves attribution perfectly, and it is worth being honest about that before spending money on tools.

Shopify's own reports attribute sessions and orders using data like referrer and UTM parameters. Ad platforms such as Meta and Google use their own tracking and attribution windows, and they frequently each claim credit for the same order. Browser privacy features and consent choices mean some sessions cannot be tracked at all. The result is that the sum of revenue claimed by your ad platforms can be much higher than your actual revenue.

Practical guidance:

  • Treat Shopify orders as the source of truth for revenue.
  • Use ad platform reporting to compare ads and campaigns against each other within that platform.
  • Use blended metrics, such as total marketing spend divided by total new customers, as a sanity check.
  • For larger budgets, consider incrementality tests (for example, pausing a channel in one region) rather than trusting any single attribution model.

A warehouse does not remove these limits. It lets you put all the data side by side and apply your own rules consistently.

When You Need a Data Warehouse

A data warehouse is a database designed for analysis, such as Google BigQuery, Snowflake, Amazon Redshift or Databricks. Data from Shopify and your other systems is copied into it on a schedule, and reports are built on top.

Signs it is time:

  • Your team spends hours each week stitching exports from Shopify, ad platforms, your 3PL and accounting software in spreadsheets.
  • You run multiple Shopify stores and need consolidated reporting.
  • You need margin-level reporting that combines product cost, fulfillment cost, returns and marketing spend.
  • Finance and operations need historical snapshots (for example, inventory position on the last day of each month) that live systems do not keep.
  • You want to feed clean data into forecasting, customer segmentation or AI models.

Signs it is not time yet: one store, one or two ad channels, and a team whose questions are answered by the reports above. A warehouse adds cost and maintenance, and it is only worth it if people will actually use the output.

How data gets from Shopify to the warehouse

There are two common approaches:

  • Managed connectors. Tools like Fivetran, Airbyte, Stitch or Supermetrics offer prebuilt Shopify connectors that sync orders, customers, products and more into your warehouse. Pricing is usually usage-based (by rows or data volume), and for mid-sized stores it typically ranges from a few hundred to a couple of thousand dollars per month depending on volume and the number of sources. Check each vendor's current pricing.
  • Custom pipelines. A developer builds a sync using Shopify's GraphQL Admin API (including bulk operations for large exports) and webhooks for near-real-time updates. This avoids ongoing connector fees and gives full control over what is captured, but you own the maintenance when APIs change. Shopify versions its API quarterly, so plan for regular updates.

Many brands use a mix: managed connectors for ad platforms and standard sources, custom pipelines for Shopify data they need in a specific shape, or for systems without a good connector. Our Shopify integrations team builds and maintains both kinds.

BI tools on top

Once data is in the warehouse, a BI tool turns it into dashboards. Common choices include Looker Studio (free, simple), Power BI and Tableau (popular with finance teams), Looker, and Metabase (open source with a hosted option). The right one usually depends on what your finance team already uses and who will build reports.

Between the warehouse, BI tool and data modeling, the modeling is the part that matters most. Raw Shopify data has quirks: refunds recorded separately from orders, discounts allocated across line items, currency conversions for international sales, and edits to orders after they are placed. Someone needs to define "net revenue" and "new customer" once, in the warehouse, so every dashboard uses the same logic. Tools such as dbt are commonly used for this layer.

What a Reporting Setup Costs

Realistic ranges from our projects, to help you plan:

  • Custom reports inside Shopify: a few hours to a few days of work to design and build a set of saved reports, with no ongoing tool cost beyond your plan.
  • Lightweight external dashboard: Shopify plus ad platforms into Looker Studio through a connector. Typically $2,000 to $6,000 to set up, plus connector fees.
  • Full warehouse setup: Shopify, ad platforms, 3PL and accounting data into BigQuery or Snowflake, modeled with a tool like dbt, with a BI layer. Typically $12,000 to $40,000 for the initial build, depending on sources and complexity, plus monthly costs for connectors, warehouse compute and BI licenses that commonly run from a few hundred to a few thousand dollars.
  • Ongoing support: someone has to fix a broken sync, add new metrics and answer questions. Budget either internal analyst time or a retainer.

The most expensive mistake we see is building a large warehouse before agreeing on the ten metrics that matter. Start with the decisions you want to make, then build backward to the data.

A Sensible Path for Plus Brands

  1. Audit what you use. List the reports and spreadsheets your team relies on each week and note where the data comes from.
  2. Rebuild what you can in Shopify. Move anything that only needs Shopify data into saved custom reports.
  3. Define key metrics in writing. Net revenue, contribution margin, new customer, CAC, LTV. Agree on formulas with finance.
  4. Add a warehouse when the gaps are clear, starting with Shopify and your biggest ad channel, then expanding.
  5. Review quarterly. Remove dashboards nobody opens and add the questions that keep coming up.

If you are weighing reporting as part of a broader Plus upgrade or optimization, our Shopify Plus services cover analytics setup alongside the rest of the platform.

FAQ

Do I need to learn ShopifyQL to build custom reports?

No. The report editor lets you pick metrics, dimensions and filters visually. ShopifyQL is available if you want finer control, and its syntax is simpler than standard SQL.

Can I export all my Shopify data to BigQuery?

You can export most commerce data, including orders, line items, customers, products and inventory, through connectors or the Admin API. Some session-level behavior data is not available in the same raw form, so check what your chosen connector supports before committing.

Is a data warehouse worth it for a single Shopify store?

Usually only if you need margin-level reporting across several systems or have a large ad budget to evaluate. Many single-store brands get more value from well-built custom reports and one lightweight dashboard.

Will a warehouse fix my attribution problems?

It will not make tracking more complete, but it lets you compare Shopify orders with ad spend under consistent rules and run your own analyses, which is usually more reliable than trusting each ad platform's numbers.

If you want an outside view on what your reporting should look like, book a free 1-hour strategy call through our contact page.

Need help with your website?

Get a free 1-hour strategy call with our team. Clear plan, fixed quote, no obligation.

Get in touch

Comments

Leave a comment

Comments are moderated and appear after approval.