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
-
Go to Analytics > Reports > New exploration (top-right button).
-
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
FROMat the start - havingFROM FROMwill 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
FROMat the start -FROM FROMwill 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
FROMat the start -FROM FROMwill 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:
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! 🚀





