Key takeaways
- Run one structured readout in the week after Cyber Monday, while the context is fresh. Everything you need is in Shopify Analytics: new vs returning customer reports, cohort analysis, discount reports, and returns.
- Four metrics carry almost all the signal: new-customer share of BFCM revenue, discount depth against contribution margin, cohort repeat rate at 30/60/90 days, and the returns rate once it has fully landed.
- De-emphasise blended ROAS during the spike, session-level conversion swings, and raw traffic records. They describe the promotion, not the business.
- The cohort question is the whole game: did BFCM buyers ever come back? Shopify’s customer cohort analysis report answers it with the November first-purchase cohort, a close proxy for the BFCM window, no spreadsheet required.
- The readout only pays off if it changes next year’s build: which PDPs to rework, which landing pages to rebuild, and what to fix about site speed before the next peak.
The sale is over, the banners are down, and your dashboard is a wall of record-breaking numbers that may or may not mean anything. Post-BFCM analytics is the discipline of working out which of those numbers deserve a decision and which are just noise from the spike.
This guide is the readout we run with brands every year: what to pull from Shopify Analytics in the week after Cyber Monday, the four metrics that carry real signal, the metrics to actively ignore, and how to turn the whole exercise into next year’s storefront plan.
Why you can trust us
We have been in the Shopify space for over four years and have helped hundreds of Shopify brands with their storefronts, including plenty of BFCM builds and the post-mortems that follow them. We build Fudge, an AI page builder and storefront editor with a 4.9 rating on the Shopify App Store, so we see what the week after BFCM looks like across many stores at once, not just one.
What should a post-BFCM readout include?
One document, produced in the week after Cyber Monday, answering five questions:
- Who bought? New customers or existing ones, and in what proportion.
- What did the discounting actually cost? Depth, breadth, and margin impact.
- Will they come back? A cohort view you revisit at 30, 60, and 90 days.
- What came back to you? Returns, and the operational lessons next to them.
- What does this change for next year? Concrete storefront and ops fixes.
Do it in that week even though the retention and returns data is incomplete. You write the framing now, book the 30/60/90-day check-ins, and fill in the blanks on schedule. Wait until January and the context is gone.
For scale: Shopify merchants sold $14.6 billion over BFCM 2025, up 27% year over year, with an average cart of $114.70 and 81+ million consumers buying from Shopify-powered brands.1 Your spike sits inside a platform-wide spike, which is exactly why your own comparisons need to be internal, not headline-driven.
What to pull from Shopify Analytics in 2026
The new Shopify Analytics experience is now the default for every store: real-time data, customizable dashboards, and data explorations that let you combine any metrics and dimensions into a custom report.2 For the readout, five pulls cover it.
New vs returning customers. The customers section ships dedicated reports: “New vs returning customers”, “New customers over time”, “Returning customers”, and “One-time customers”.3 Filter to your BFCM window and you have question one answered.
Customer cohort analysis. Shopify’s built-in cohort report groups customers by the month of their first purchase and shows repeat purchase behavior over time as a heatmap or retention curve.3 Your November acquisition cohort gets its own row automatically.
Sales and discount reports. Sales over time with discounts, gross and net breakdowns per order. Segment by discount code if you ran distinct offers (sitewide vs VIP early access, for example).
Returns. Returns lag the sale by weeks, so this pull is a placeholder in week one and a real number at your 30- and 60-day check-ins.
Sessions and landing pages. Which entry pages carried the traffic and what converted from them. This feeds the storefront plan at the end, not a verdict on the marketing.
If a question does not fit a default report, build it as a data exploration or a custom report rather than exporting to a spreadsheet. The point of the readout is that it is repeatable next year.
Which post-BFCM metrics actually matter?
Four metrics, each tied to a decision.
New-customer share of BFCM revenue
What percentage of BFCM revenue came from first-time buyers? This single number tells you what the event was for your brand.
High new-customer share means BFCM worked as an acquisition engine, and the follow-up question is whether those buyers return (the cohort section below). Low new-customer share means you mostly sold discounted product to people who already buy from you, and next year’s offer structure should protect margin on that group.
Neither outcome is bad on its own. Not knowing which one happened is.
Discount depth vs contribution margin
Revenue is a vanity number during a sale. The honest question is what each order contributed after discount, COGS, shipping, and payment costs.
You do not need a finance team for a first pass. Take net sales by discount code, subtract landed product cost and fulfillment for those orders, and compare contribution per order against a normal week. If your deepest discount tier contributed close to nothing per order, you bought revenue, not profit.
One caveat: the margin math is only as accurate as the inputs. Check that product costs, shipping, payment fees, discounts, and returns are recorded correctly before trusting the result.
This is the metric that changes next year’s offer design more than any other.
Cohort repeat rate at 30, 60, and 90 days
The November cohort in Shopify’s cohort analysis report is your BFCM class in practice: the report groups by first-purchase month, which is close enough for this purpose. Put three dates in the calendar now and read one number each time: what share of that cohort has placed a second order.
Compare it against your October and September cohorts at the same age, not against an industry benchmark. Discount-acquired buyers are usually weaker repeaters than full-price buyers; the useful finding is how much weaker they are for your store, because that gap sets how much you can afford to pay for a BFCM customer.
Returns rate, after the lag
BFCM returns arrive through December and into January, so any returns number you read in the first week is incomplete. Returns lag the sale, and the early number understates the final rate, so treat it as directional at best. Log the metric, revisit it at 30 and 60 days, and read it by product.
A product with an outsized return rate after a gifting-heavy sale is usually telling you something specific: a sizing problem, a misleading PDP image, or a description that oversells. That is a storefront fix, and it goes straight into the next-year plan.
What to ignore in post-BFCM analytics
| Measure | Ignore |
|---|---|
| New-customer share of BFCM revenue | Total revenue vs “last year’s record” |
| Discount depth vs contribution margin | Blended ROAS during the spike |
| Cohort repeat rate at 30/60/90 days | Session-level conversion rate swings |
| Returns rate once it has fully landed | Traffic records and sessions milestones |
| Landing page and PDP conversion by entry | Rankings of “top” products by unit volume |
Blended ROAS during the spike. Attribution is at its least trustworthy exactly when spend, email volume, and organic intent all peak simultaneously. Your ads platform will claim credit for buyers your email list and brand demand delivered. You do not need to delete the number: de-emphasise it, annotate the BFCM window in your reporting, and avoid treating it as a baseline. If you want ad measurement you can act on, that is a data-quality project for the off-season; our guide to the Meta Conversions API on Shopify covers the server-side setup that makes those numbers less wrong.
Session-level conversion rate swings. Your conversion rate during BFCM reflects the discount, the traffic mix, and the deadline. It tells you almost nothing about your storefront’s baseline persuasiveness, so neither the spike nor the post-sale slump is a verdict on your pages.
Vanity traffic. Record sessions are an input, not an outcome. The only traffic question worth carrying into the readout is which landing pages that traffic hit and what happened next.
Do BFCM buyers ever come back? A simple cohort framing
Here is the entire framework, no data warehouse required.
Define the cohort. Everyone whose first-ever order landed in your BFCM window. Shopify’s cohort analysis report groups customers by first purchase month, not by exact dates, so the November cohort is a practical proxy that also includes early-November buyers.3 If you need the exact BFCM window, build it as a custom data exploration or export the orders to CSV.
Read one number three times. At 30, 60, and 90 days: the share of the cohort with a second order. In plain terms, that is the percentage of BFCM-cohort customers who placed a second order within that many days of their first purchase. Write all three into the readout document you started in week one.
Compare against your own baseline. The same repeat-rate at the same cohort age for September and October. The gap between your BFCM cohort and your normal cohorts is your discount-buyer quality discount.
Then decide. Three broad outcomes:
- BFCM cohort repeats close to baseline. BFCM is genuine acquisition for you. Next year, spend and discount confidently, and invest in the post-purchase flow for that cohort.
- BFCM cohort repeats far below baseline. You are renting one-time buyers. Next year, shift the offer toward margin protection: shallower sitewide discounts, bundles, or gift-with-purchase instead of blanket percentage cuts.
- Somewhere in between. The usual case. The number tells you what a BFCM customer is actually worth, which sets your acquisition spend ceiling for next year.
One honest warning: do not read a 30-day repeat rate as a final grade if your product’s natural repurchase cycle is longer. A skincare brand can judge at 60 days; a coat brand cannot.
Inventory and ops learnings worth writing down
The analytics readout should carry an ops page, because the numbers and the operations failures explain each other.
- Sell-through by variant, not just product. Which sizes and colorways sold out early, and what revenue did stockouts on your top sellers cost during the peak days?
- Discounted-to-death inventory. Product that only moved at the deepest discount tier is a buying signal for next year, not a merchandising win.
- Fulfillment latency. Days from order to shipment across the peak. Late deliveries after a gifting sale convert directly into support tickets and returns.
- Support ticket themes. The top five question types during the sale are free UX research. “Where is my order” points at shipping communication; sizing questions point at PDPs.
None of these need new tooling. They need someone to write them down while the pain is fresh.
Turning the readout into next year’s plan
The readout ends with a build list, or it was a book report. The off-season, roughly February through September, is when the storefront work happens.
PDPs, driven by returns and support data. Products with high return rates or repetitive pre-sale questions get reworked pages: better size guidance, honest photography, answers to the questions people actually asked. Our Shopify CRO guide covers how to prioritize this work page by page.
Landing pages, driven by entry-page data. If your BFCM traffic landed on collection pages and generic homepages, purpose-built campaign landing pages are the single biggest structural fix available before next November. This is where we should be honest about our own product: building those pages as native theme code, without another app layer slowing the site down, is exactly what the Fudge page builder is for.
Speed, before the peak, not during it. Whatever site speed problems you had in November will be worse next year with more apps installed. Audit early enough to act.
Test the big changes properly. Off-season traffic is lower, which means experiments need realistic expectations about duration; run the numbers with our A/B test sample size guide before committing to a test calendar, and see Shopify conversion testing for how to structure the tests themselves.
Then put a date in the calendar for next year’s readout. The second year is when this compounds: you will have last year’s document, the same reports, and a real answer to whether the fixes worked.
FAQ
Four carry most of the signal: the share of BFCM revenue that came from new customers, discount depth measured against contribution margin per order, the repeat purchase rate of your BFCM cohort at 30, 60, and 90 days, and the returns rate once returns have fully landed. Each one maps to a concrete decision about next year, which is the test of whether a metric belongs in the readout.
Shopify Analytics ships dedicated customer reports, including "New vs returning customers", "New customers over time", and "Returning customers". Open the report, filter the date range to your BFCM window, and you have the split without any exports. On the current analytics experience you can also build a custom data exploration if you want the split segmented further, for example by discount code.
Yes. The customer cohort analysis report groups customers by the month of their first purchase and shows repeat purchase behavior over time as a heatmap or retention curve. Because the grouping is monthly, the November cohort is a close proxy for your BFCM buyers rather than an exact date-range match. For most readouts the proxy is fine; if you need the exact window, build a custom data exploration or export the orders to CSV.
Because attribution is least reliable exactly when everything peaks at once. Ad spend, email sends, organic demand, and deadline urgency all spike together, and your ads platform claims credit for buyers who would have purchased anyway. Blended ROAS from that window is not comparable to any other period, so it should not drive budget decisions. Fixing measurement quality in the off-season is the more useful response.
Check the cohort at 30, 60, and 90 days after the sale, and compare against your September and October cohorts at the same age rather than against industry benchmarks. Respect your product cycle: a consumable brand can judge at 60 days, while a durable-goods brand may need six months or more before a low repeat rate means anything.
Returns typically arrive through December and into January, especially for gifted products, so a returns rate read in the first week after the sale is incomplete and will understate the final number. Log the metric as a placeholder in your readout, then fill it in at your 30- and 60-day check-ins. Read it by product: an outlier usually points at a sizing issue or a PDP that oversells.
Let the readout choose. Products with high returns or repetitive support questions get PDP rework. If peak traffic landed on generic pages, build dedicated campaign landing pages. If the site slowed under load, fix speed early in the year. Structural work belongs in the off-season, when there is time to test properly, not in the weeks before the sale.
Footnotes
-
Shopify, “Shopify merchants generate record-breaking $14.6 billion in Black Friday Cyber Monday sales” - $14.6B in BFCM 2025 sales, up 27% year over year, 81+ million consumers, $114.70 average cart, peak of $5.1 million in sales per minute. https://www.shopify.com/news/bfcm-data-2025 ↩
-
Shopify Changelog, “New Analytics is now the default” - the current analytics experience with real-time data, custom dashboards, and data explorations for combining metrics and dimensions into custom reports. https://changelog.shopify.com/posts/new-analytics-is-now-the-default ↩
-
Shopify Help Center, “Customer reports” - the customer report set including “New vs returning customers”, “Returning customers”, “One-time customers”, and the customer cohort analysis report, which groups customers by first purchase date and visualizes repeat purchases as a heatmap or retention curve. https://help.shopify.com/en/manual/reports-and-analytics/shopify-reports/report-types/default-reports/customers-reports ↩ ↩2 ↩3