Shopify Monthly Reporting (The exact template I use for clients)

Shopify Monthly Reporting Template

If you’re running a Shopify store, you probably check your numbers regularly - revenue, sessions, conversion rate, AOV, the usual suspects.

But it can feel overwhelming.

  • Are we up or down compared to last month or last year?

  • How do we look versus target?

  • Did a recent change have the impact we expected?

In today’s article, I’m sharing the exact reporting template I use for all my clients.

It helps you quickly spot the good, the bad, and the ugly - and then dig into the specifics behind those results.

The template works for all kinds of users: if you prefer looking at:

  • numbers

  • visual graphs

  • or simple red/amber/green colour coding

You/your team can easily see what’s happening in your store.

Most of this data is coming directly from your Shopify store and below, I’ve included step-by-step instructions on building out the reports, so you can simply copy and paste the data each month.

Additional data is pulled from Google Search Console and Google/Meta ads - but entering everything should take no more than 15 minutes per month, while the insights you gain far outweigh this effort.

What’s included in the template

The Monthly Reporting Template is built to be practical and easy to use.

It includes:

  • MoM and YoY performance for key metrics

  • Clear visual charts to highlight trends

  • Charts showing performance vs targets

  • Auto-summed rows (with built-in warnings) to prevent errors

  • Tips and insights on key metrics to guide you on what’s normal

Rows that are auto-summed are clearly marked with a Σ symbol, so you always know what shouldn’t be touched.

Anyway, let’s get into it - follow the instructions below and you’ll have a rock-solid Shopify reporting system…


First, we’ll create three reports in your Shopify back office.

Report 1: Sales

  1. Go to Analytics > Reports > New exploration (top-right button).

  2. At the top, enter a query (you may need to click the dropdown arrow). You’re looking for something like this:


In this section, we want to paste in the following code:

FROM sales

SHOW total_sales, gross_sales, orders, average_order_value,

quantity_ordered_per_order, new_customers, returning_customers,

number_of_orders_per_customer, returning_customer_rate

WHERE sales_channel = 'Online Store'

GROUP BY month WITH TOTALS, CURRENCY 'GBP'

TIMESERIES month

SINCE startOfMonth(-24m) UNTIL endOfMonth(-1m)

ORDER BY month ASC

LIMIT 1000

VISUALIZE total_sales TYPE line

  • Make sure you only have one FROM at the start - having FROM FROM will cause an error.

  • Then, click Run.

    Save this report as: LR Digital - MoM Reporting - Sales

  • ✅ That’s the first of three reports completed.


Report 2: Sessions

Next, repeat the same steps, but this time paste in the following code:

FROM sessions, discounts, sales, search_conversions

SHOW sessions, added_to_cart_rate, reached_checkout_rate, conversion_rate,

completed_checkout_rate, discounted_orders, returned_quantity_rate, pageviews,

bounce_rate, sessions_with_searches

GROUP BY month WITH TOTALS, CURRENCY 'GBP'

TIMESERIES month

SINCE startOfMonth(-24m) UNTIL endOfMonth(-1m)

ORDER BY month ASC

LIMIT 1000

VISUALIZE conversion_rate TYPE line

  • Again, make sure you only have one FROM at the start - FROM FROM will cause an error.

  • Then, click Run.

  • Save this report as: LR Digital - MoM Reporting - Sessions

  • ✅ That’s the second of three charts completed.


Report 3: Frequency

The third and final chart is a pie chart, but it’s created the same way. Go to Analytics > Reports > New exploration and paste in the following code:

FROM customers, sales

SHOW percent_of_customers, new_customer_records, orders, total_sales,

gross_sales, average_order_value, quantity_ordered_per_order

WHERE customer_number_of_orders != 0

GROUP BY customer_number_of_orders WITH TOTALS

SINCE startOfYear(-56y) UNTIL endOfYear(-1y)

ORDER BY customer_number_of_orders ASC

VISUALIZE percent_of_customers TYPE donut MAX 4

  • Again, make sure you only have one FROM at the start - FROM FROM will cause an error.

  • Then, click Run.

  • Save this report as: LR Digital - MoM Reporting - Frequency

  • ✅ All three charts are now set up.


Copying the report template (Google Sheet)

Next, duplicate the reporting template. Click the button below and save your own copy:

Make a copy


Setting the start date

Great - you should now have your own copy of the report.

First, go to the sheet named MoM Reporting, double-click cell C1, and choose your starting date.

If possible, start 24 months back so you can see Year-over-Year performance. You can go further if you like, but I wouldn’t go back more than 3 years, since this report is designed to show up to 10 years worth of data.


Data inputting

Now, it’s time to pull in the metrics for each month. The sections on the sheet match the sections of the Shopify reports we created.

Start with the Sales section by opening the report named LR Digital - MoM Reporting - Sales.

You’ll notice the metrics are in the same order as the sheet. Simply work through each row and enter the correct values.

Then repeat the process for the Sessions and Frequency sections.

Tip: Rows marked with the Σ icon are auto-summed, so these will calculate automatically.


SEO

The SEO reporting section pulls data from your Google Search Console.

I find it much easier to use my SEO dashboard, as it does most of the heavy lifting for you - no need to export, filter, and manipulate data manually in spreadsheets.

With my SEO dashboard, the report provides a dropdown filter, so you just need to make sure the date filters are correct and then copy the values into the sheet. This saves a lot of time.

If you prefer, it’s still possible to do this manually by exporting and filtering the data yourself, which can help keep costs down.


PPC

The PPC section is designed for your Google and Meta ads. Simply pull the relevant data from these platforms to track performance and see how campaigns are performing over time.


Target setting

At the top of the Google Sheet, on the MoM Reporting tab, you’ll see a yellow row.

Here, you can enter your monthly revenue targets. Once entered, the Charts tab will display a dotted line for your targets and a solid line for your actual revenue.

This visual makes it easy to see how your store is performing against targets and quickly spot if any adjustments are needed.

It’ll look something like this:


Annotations

Finally, there are spots within the sheet where I recommend adding annotations - for example:

  • installing a new app

  • launching products

  • making theme updates

  • running influencer promotions

  • or anything else that could impact your results

Adding these notes helps you connect trends to actions. For example, if a metric dips, you can quickly see whether a new app or change may have caused it.

You can enter annotations in the darker grey rows for specific sections, or use the black row at the top for overall site notes.


Top tip: Look out for cells in Column A with a small black triangle in the top-right corner - they contain helpful insights and rough guidelines.


I hope this gives you/your team clear insight into your Shopify store’s performance. This is the same system I use with my clients, and it works really well.

If you have any questions, run into issues, or have ideas for improvements, please let me know.

Happy reporting - and growing! 🚀

Leave a comment

Please note, comments need to be approved before they are published.

This site is protected by hCaptcha and the hCaptcha Privacy Policy and Terms of Service apply.