Free BFCM Reporting Template for Shopify (Google Sheets)
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.
| Metric | Why it matters during BFCM |
|---|---|
| Net sales | The headline number. Shopify defines it as gross sales minus discounts and returns. |
| Orders | Volume, 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 rate | Discounts as a share of gross sales. This is the cost of the promotion. |
| New vs returning customers | Is BFCM bringing you new buyers, or discounting people who would have paid full price? |
| Refunds | BFCM refunds arrive for weeks. Track them by product and by reason. |
| Hourly and daily pattern | Which hours and days drive sales, so you can time emails, ads and stock. |
| Year-over-year | This 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.
- START HERE. A short setup guide, the list of exports and columns to tick in SyncRange, and checks that your data has arrived.
- Settings. Your BFCM dates, a currency filter, an hour offset so the Hourly tab matches your store's time zone, and a tab-name map that tells the template which tabs SyncRange wrote your data into.
- BFCM Summary. Headline tiles for net sales, orders, AOV, discount rate, units per order, shipping collected and refunds, for your BFCM window and last year's, with the change between them.
- Daily. Day-by-day sales, orders, AOV and discounts from the weeks before BFCM through the days after, with a chart so you can see the ramp, Black Friday and the Cyber Monday peak.
- Hourly. A heatmap of orders by hour and day, built from the order timestamp, so you can see when buyers actually check out.
- YoY. This year's BFCM next to last year's, lined up by days from Black Friday, so Thursday compares with Thursday.
- Top Products. Best sellers by revenue and units for the BFCM window, with refund rates alongside.
- Discounts. Orders, AOV and discount share by discount code and automatic discount, so you can see which offers worked. Discounts are recorded at order level, so when a customer stacks codes on one order they share the discount amount.
- Customers. New vs returning customers, with orders and sales for each group.
- Refunds. Refund amounts, refund rate by product and days to refund, as they come in.
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.
- Pick the tabs and columns listed on the template's START HERE tab, then enter the names of the tabs SyncRange created in the tab-name map on the Settings tab. They include Orders, Sales Metrics, Line Items, Refund Analysis and Discounts (the Shopify data reference describes every column).
- Set the date range to a rolling preset such as Last 90 days, so the sheet always holds your normal weeks plus BFCM. Rolling presets recalculate on every run and work with schedules.
- Leave data handling on Replace so each run writes a fresh snapshot.
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
- Set up before the rush. Merchants freeze their stores before BFCM. Setting up reporting is a read-only job and does not touch your store.
- Set your BFCM dates and currency in Settings. The template uses the window you enter, so you can include Thursday through Cyber Monday or whatever you plan to run, and the currency filter keeps multi-currency orders from mixing.
- Re-sync in December. Refunds on BFCM orders keep arriving, so the Refunds tab and the net sales figures settle a few weeks later.
- Use a longer view for repeat buyers. The new vs returning estimate improves the more order history your exports include.
- Build on top of it. The sheet is a normal Google Sheet, so you can add your own tabs and charts, or build a Looker Studio report on top of the sheet if your team prefers that.
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.
- Get the template: Make a copy of the free BFCM template
- Start free, no credit card required: syncrange.com
- Install from the Shopify App Store: SyncRange on Shopify
Related posts
- How to Compare Shopify BFCM Sales Year Over Year in Google Sheets Compare Black Friday Cyber Monday with last year in Google Sheets by lining days up from Black Friday, not by calendar date. Pull last year’s Shopify data once and watch the refund timing gap.
- How to Export Shopify Orders to Google Sheets: Manual and Automated Methods Exporting your Shopify orders to Google Sheets can help you analyze sales, manage inventory, and keep financial records up to date.
- How to Back Up Your Shopify Data to Google Sheets and BigQuery Safeguarding your Shopify store data is crucial. Unlike some systems, Shopify has no built-in recycle bin, if data is deleted, it’s gone unless you have an external copy.