Free BFCM Reporting Template for Shopify (Google Sheets)

Track hourly and daily BFCM sales, discounts, refunds, and year-over-year performance in a free Google Sheets template that updates from your Shopify store with SyncRange.

Black Friday Cyber Monday is the one weekend where checking Shopify Analytics once a day is not enough. You want to know which hour your sales spike, which discount codes are paying for themselves, whether you are ahead of last year, and how many refunds are coming. We built a free Google Sheets template that answers those questions and updates itself from your Shopify store.

This guide covers what to track over BFCM, what is in each tab of the template, and how to set it up with SyncRange step by step. It works with Shopify data alone. If you want Meta spend alongside it, you can add it yourself with a second SyncRange export into a new tab. The free plan is enough to get started, no credit card required.

Get the template: Make a copy of the free BFCM template

See it first: View the sample sheet with demo data

What to track over Black Friday Cyber Monday

Black Friday is on Friday 27 November this year and Cyber Monday on Monday 30 November. Here is the scorecard we built the template around. You can use it even if you never open our sheet.

MetricWhy it matters during BFCM
Net salesThe headline number. Shopify defines it as gross sales minus discounts and returns.
OrdersVolume, separate from revenue, so you can see whether you are winning on traffic or on basket size.
Average order value (AOV)Discounts tend to pull AOV down. You want to know by how much.
Discount rateDiscounts as a share of gross sales. This is the cost of the promotion.
New vs returning customersIs BFCM bringing you new buyers, or discounting people who would have paid full price?
RefundsBFCM refunds arrive for weeks. Track them by product and by reason.
Hourly and daily patternWhich hours and days drive sales, so you can time emails, ads and stock.
Year-over-yearThis year vs last year, aligned by day (Black Friday is a different calendar date every year).

What is in the template

The template has raw data tabs that SyncRange fills for you, and dashboard tabs that read from them. You never type into the raw tabs.

A note on two of these. New vs returning customers is an estimate: the sheet treats a customer as new on the first order date it sees in your exports, so a customer whose earlier orders fall outside the exported range can be counted as new. Compare it with Shopify Admin's new vs returning report. The Hourly tab uses the order timestamp, so compare a few orders with Shopify Admin and, if the hours look off, change the hour offset on the Settings tab.

How to set it up with SyncRange

You need a SyncRange account and the Shopify store you want to report on. It takes about 15 minutes. Start free or install from the Shopify App Store, no credit card required.

Step 1: Copy the template

Open the template link and click Make a copy so you own your version. Start on the START HERE tab, which walks you through the setup. Do not edit the raw data tabs; SyncRange will rewrite them on every sync.

Step 2: Connect Shopify

In SyncRange, connect your store by following Connecting Your Shopify Store. SyncRange asks for read-only access, so it cannot change anything in your store.

Step 3: Connect your copy of the sheet as a destination

Add your copy of the template as a destination by following Configuring Google Sheets and choosing Select an Existing Sheet.

Step 4: Create the Shopify export

Go to Export Builder and create a new Shopify export pointing at your sheet, as described in Configuring Shopify Exports and Creating Data Exporters.

Run the export once manually and check that the raw tabs fill with data.

Step 5: Schedule it

Set a schedule following Setting Export Schedules. The free plan syncs daily and lets you refresh manually. Paid plans can sync as often as every hour, which is handy on Black Friday and Cyber Monday itself.

Step 6: Pull last year's BFCM for the comparison

The YoY tab needs last year's numbers, and this is a one-time export. Create another Shopify export to the same sheet with a Custom range from 1 November 2025 to 15 December 2025 and run it once with Run now. A custom range can cover up to one year, and scheduled runs are paused for it by design, which suits last year's data because it does not change. This is an additional export, so check your plan's export allowance on the pricing page. Do this now while you have time, not on Black Friday.

Step 7: Check the numbers

Compare net sales, orders and AOV on the BFCM Summary tab with Shopify Admin for the same dates. Small differences usually come from refund timing, because Shopify applies refunds as they are processed. See the Shopify export notes on orders and refunds for how Orders, Line Items and refunds are filtered.

Tips for getting the most out of it

Frequently asked questions

Is the template really free? Yes. The template is free to copy. SyncRange also has a free plan, and you do not need a credit card to start.

Do I need Meta Ads connected? No. The template is Shopify-only and every tab works with Shopify data alone. If you want Meta spend next to your sales, you can add it yourself with a second SyncRange export into a new tab.

Does it work with Google Ads, TikTok or GA4? This version covers Shopify only. SyncRange can sync ad platforms to Google Sheets, but they are not wired into this template; you can add one with a second export into a new tab.

Will it change anything in my Shopify store? No. SyncRange only asks for read-only access to your store data.

How often does the data update? You choose the schedule. The free plan syncs daily with manual refresh, and paid plans can sync as often as every hour. You can also run an export manually at any time.

Can I compare this year with last year? Yes. Run the one-time custom-range export in step 6 for last year's BFCM, and the YoY tab lines the days up relative to Black Friday.

Why don't my numbers match Shopify exactly? The usual cause is refund timing: Shopify applies refunds on the day they are processed, so a refund issued later can change an earlier day's net sales. Also compare like with like (same date range and time zone).

Why do the hours on the Hourly tab look shifted? Compare a few orders with Shopify Admin. If the hours are offset from your store's time zone, change the hour offset on the Settings tab.

Which currency does it use? Set your store currency in the Settings tab; the currency filter keeps orders in other currencies out of the totals.

Can I use it for more than one store? Create one copy of the template per store, each with its own exports.

Can I send the data to BigQuery or Excel instead? SyncRange also exports Shopify data to BigQuery and Excel. This template is built for Google Sheets. See exporting Shopify orders to Google Sheets for the basics.

Get your BFCM reporting ready before Black Friday

Black Friday is on 27 November and Cyber Monday on 30 November, so there are about three weeks to go. A few minutes now means you will see the numbers as they happen, not scramble for them afterwards.

Start syncing your ecommerce data in minutes Start free today. No credit card required.