Ecommerce

Why Your BFCM Numbers Won't Match Last Year

•9 min read
Why Your BFCM Numbers Won't Match Last Year

Every year, the peak trading post-mortem opens the same way: this year versus last year. Revenue, ROAS, conversion rate, channel mix. The comparison feels like the safest number in the deck, because it is the same metric measured the same way twelve months apart.

That assumption is wrong this year.

Since BFCM 2025, at least ten definitions have changed across the platforms most Australian retailers run on. Not the numbers. The definitions. A conversion means something different to Meta than it did in November. Google Ads is matching conversions from more sources than it was. Klaviyo may have quietly rewritten your history. None of it appears as a warning on a dashboard.

Below is each change, what it does to a year-on-year comparison, and how to check it. The whole list takes about half an hour to work through.

1. Meta changed what counts as a click

What changed. On 3 March 2026, Meta narrowed click-through attribution to actual link clicks — clicks that send someone to a website, app or lead form. Likes, shares, comments and other engagement moved into a separate category, engage-through, with its own short window.

What it does to your comparison. Click-through conversions drop, with no change in performance. Meta's stated intent was to bring its reporting closer to third-party tools, which is an improvement, but it means pre-March and post-March Meta data are two different measurement systems.

How to check. In Ads Manager, open an ad set and look at the attribution setting. Confirm whether engage-through is on. Use the Compare Attribution Settings tool to see how your volume splits across windows without changing anything live.

2. Meta removed its long view windows

What changed. From 12 January 2026, the 7-day view and 28-day view attribution windows stopped returning data in the Ads Insights API, across all versions.

What it does to your comparison. If a dashboard, warehouse job or agency report requested those windows for BFCM 2025, the equivalent request now returns nothing. The failure is silent: a blank column, not an error anyone reads.

How to check. Run last year's report definition against a recent date range. Any metric that comes back empty was pulling a window that no longer exists.

3. Meta now deletes your granular history

What changed. In the same round of updates, Meta limited historical availability for some breakdowns: frequency data to six months, and hourly and unique-count breakdowns to thirteen months.

What it does to your comparison. Frequency data from BFCM 2025 is already gone. Hourly data from last peak runs out around the end of this year. Any analysis of how often you hit people last November, or which hours converted, cannot be rebuilt after the fact.

How to check. Nothing to check — just export. Pull this year's hourly and frequency breakdowns into your warehouse or a sheet in the week after peak, while they still exist.

What changed. From 15 June 2026, Google Analytics moved to using Consent Mode within Google Ads as the single control over advertising data. For linked properties, Google Ads settings exclusively control Google Ads data, and Analytics settings exclusively control behavioural reporting inside GA4.

What it does to your comparison. Google Signals used to act as a second gate. It no longer does. If your CMP defaults were wrong, or the handoff between banner and tag is fragile, advertising data either started flowing that should not have, or stopped flowing and took your audience sizes and conversion counts with it. Either way, the June boundary sits in the middle of your year.

How to check. Compare Google Ads conversion volume and remarketing audience sizes for the fortnight before 15 June against the fortnight after. A step change on that date is a configuration story, not a performance one.

5. Google Ads merged enhanced conversions and migrated everyone

What changed. Enhanced conversions for web and enhanced conversions for leads became a single on/off setting. From April 2026, Google Ads accepts user-provided data from website tags, Data Manager and API connections simultaneously, and existing users were automatically migrated to the unified setting.

What it does to your comparison. The inputs to conversion matching changed without anyone in your team touching a setting. More matched conversions is a reporting improvement, not a sales increase — but it lands in the same column as your sales.

How to check. In Google Ads, open Goals, then Settings, and look at the enhanced conversions status. Note when the unified setting took effect on your account, then check whether conversion volume stepped up around that date independently of spend.

6. Offline conversion uploads moved house

What changed. From 15 June 2026, offline conversion imports and enhanced conversions for leads uploads migrated to the Data Manager API and were blocked in the Google Ads API for developer tokens that had not already been using them.

What it does to your comparison. This hits anyone importing in-store sales, phone sales or CRM outcomes back into Google Ads. If an integration broke or was rebuilt this year, the offline portion of your conversion data has a discontinuity in it.

How to check. Ask whoever owns the integration when it last successfully uploaded, and whether it now runs through the Data Manager API. Then plot monthly offline conversion volume across 2026 and look for the cliff.

7. GA4 loosened its conversion windows

What changed. On 11 August 2026, GA4 allowed click-through conversion windows to be set to any number of days from 1 to 90, and engaged-view windows from 1 to 30. The engaged-view window had previously been fixed at 3 days.

What it does to your comparison. If anyone tuned these, conversion credit shifted between channels. Nothing about the underlying behaviour changed.

How to check. In Admin, open Attribution settings and note the current values. Ask whether they have been changed this year, and when.

8. GA4 split out AI assistant traffic

What changed. On 13 May 2026, GA4 introduced a dedicated AI Assistant channel for traffic from recognised AI assistant sources such as ChatGPT, Gemini and Claude.

What it does to your comparison. Traffic that previously sat inside Referral, and revenue along with it, now sits in a channel that did not exist last November. Channel-level year-on-year is not like-for-like, and the effect grows as AI-assistant referrals grow.

How to check. Open the Traffic acquisition report and add AI Assistant to your view. Size it. Then decide whether your year-on-year channel comparison should fold it back into Referral for consistency.

9. Shopify sunset script tags on the thank-you page

What changed. Per Shopify's own documentation, checkout.liquid and additional scripts were sunset for the Thank you and Order status pages on 28 August 2025. Script tags on those pages were sunset for Plus stores on 28 August 2025, and for non-Plus stores on 26 August 2026. Tracking that used to live there belongs in web pixel extensions now.

What it does to your comparison. For non-Plus stores, anything an app was injecting into those pages via script tags stopped last month — after last peak, before this one. If nobody rebuilt it as a pixel, purchase events may have been missing for weeks without a single alert firing.

How to check. Place a live test order. Open the browser network tab on the thank-you page and confirm your purchase events actually fire for GA4, Meta, Google Ads and any affiliate tag. This is the single highest-value check on the list, because the failure mode is total rather than partial.

10. Klaviyo rewrites history when you change a setting

What changed. Nothing dated — this is how Klaviyo has always worked, and almost nobody accounts for it. Klaviyo's documentation states that its attribution model recalculates historical data after attribution settings are updated, so that past and future data stay consistent. Updates can take up to 36 hours to appear.

What it does to your comparison. If anyone adjusted the email or SMS conversion windows this year, last year's attributed revenue has already been restated under the new rules. There is no frozen record of what was originally reported. The BFCM 2025 number in your board deck and the BFCM 2025 number in Klaviyo today may not match.

How to check. In Klaviyo settings, look at the attribution windows and ask when they last changed. If they did change, treat your exported 2025 reporting — not the live dashboard — as the historical record.

And one macro change: surcharges

From 1 October 2026, surcharges on eftpos, Mastercard and Visa transactions are gone in Australia. For any merchant whose purchase value previously included a surcharge, average order value now means something slightly different. Where the cost gets absorbed into base prices instead, AOV moves again — in the other direction, and with no extra units sold.

It is a small effect next to the platform changes, but it lands three weeks before peak trading begins and it touches the one metric everybody quotes.

What we deliberately left out

Two things that circulate widely and did not survive checking.

Safari click-ID stripping. Safari 26 shipped in September 2025, before last peak, so it is not a year-on-year change. Its actual scope is also contested: testing of the released version suggests click identifiers still pass through in normal browsing, while several write-ups claim otherwise.

TikTok's Attribution Portfolio. Vendor coverage describes a May 2026 suite that blends click-through and view-through into a single aggregated ROAS figure. We could not confirm it in TikTok's own documentation, so it stays off the list until we can.


The half-hour before you write the report

Four things, in order.

  1. Build a change log. One row per platform: what changed, the date, and who touched it. Most teams can reconstruct this in twenty minutes from memory and a settings screen.
  2. Restate last year on this year's definitions where you can, and footnote it where you cannot. A footnote is more honest than a clean number nobody can defend.
  3. Export the perishable data. Meta's hourly and frequency breakdowns, and your current Klaviyo reporting, both have expiry dates.
  4. Run the live purchase test described in point 9. Do it today rather than in November.

The goal is not perfect comparability. It does not exist this year. The goal is being able to answer the only question that matters when the number is down: is this the business, or is this the ruler?