TL;DR
Black Friday to Cyber Monday 2026 runs November 27 to 30, and the comparison everyone makes is against November 28 to December 1, 2025. Six platform dates sit between those weekends, from Meta's January 12 API change to Shopify's October 1 script-tag freeze. Most move the numbers you hold GA4 against, or move GA4 only on exposed stores. Annotate each under the name of the system that changed, add the dates only your store knows, and read orders and revenue first.
Key Takeaways
- GA4 annotations need Analyst access or above to create, allow 1,000 per property, and take a 60-character title and a 150-character description [1].
- Prefix every title with the system that changed (
Shopify:,Meta API:,Store:), so a step in a GA4 chart is never blamed on the wrong side. - Annotate the day you edited a conversion window, not August 11. Google doesn't say whether the new custom windows reprocess history, so the annotation marks the boundary either way.
- Don't compare Shopify sessions or conversion rate across September 21 to 23, 2026. Shopify says they aren't directly comparable, while orders and sales are unaffected [9].
- If your store sends purchases to two GA4 properties, annotate both. Each property keeps its own annotations [1].
- Finish the list before the November 16 tracking lock, then read the day-aligned weekends with the annotations in view.
How do Google Analytics annotations work?
They're notes pinned to a date on GA4's line graphs. Google's "About annotations" page sets the rules [1]:
- You need Analyst or above at the property level to create, edit or delete one; Viewers can see them.
- In Reports, open any report with a line graph, right-click a data point and choose Add annotation.
- Give it a title (60 characters), an optional description (150 characters), a single date or a date range, and a color, then click Create annotation.
- To see every annotation in the property, go to Admin, then Data display, then Annotations. Depending on your access, you can edit, delete or export them there.
Once created, an annotation shows "across all reports and report cards with line graphs" [1]. Google's page says nothing about explorations or the dashboards it launched on September 9, 2026 [4]. Each property is capped at 1,000 annotations, and Google advises single dates instead of ranges if you expect many overlapping ones [1].
Past dates are fine. Right-clicking the point for January 12 annotates January 12, and the Admin API's annotation resource says "the date may be in the past, present, or future" [2]. That API is a v1alpha resource, handy for bulk entry and never required. Colors are yours to pick, except orange, which Google keeps for annotations it creates itself [2]. Those system annotations appear when "a significant data-impacting event occurs", and you can't edit or delete them [1].
WeltPixel Conversion Tracking doesn't create GA4 annotations for you.
Six dates, and which line each one moves
The last column is a suggested title, prefixed with whoever made the change.
| Date | What changed | Which line moves | Annotation title |
|---|---|---|---|
| Jan 12, 2026 | Meta stopped returning 7-day and 28-day view windows from its Ads Insights API [6] | Meta numbers in API-fed sheets and dashboards | Meta API: 7d/28d view windows removed |
| Jun 15, 2026 | Consent Mode (within Google Ads) became the single control on Google Ads cookies and IDs from the GA4 tag [5] | Google Ads data collected through GA4 | Google: Consent Mode controls Ads data |
| Aug 11, 2026 | GA4 allowed custom conversion windows [4] | Nothing, until someone edits a window | Your edit date, not this one |
| Aug 26, 2026 | Remaining thank-you pages were upgraded automatically [8] | GA4, if tags lived in Additional Scripts |
Shopify: thank-you page auto-upgrade if exposed |
| Sep 21 to 23, 2026 | Shopify's session measurement update [9] | Shopify sessions and conversion rate | Shopify: sessions method change |
| Oct 1, 2026 | Apps can no longer create or update script tags [7] | Nothing in 2026 unless your store migrated | Your migration day |
Look at which line moves. Not one of the six moves GA4 on every store. The August 26 upgrade reached GA4 only where tags sat in Additional Scripts, and the August 11 release waits for your edit. The May 13 AI Assistant channel is a Google-side change to GA4's channel reports [4], and it isn't one of the six.
Meta's January change is an API change; Meta called the remaining windows "consistent with Ads Manager behavior" [6]. It shows up wherever Meta's numbers arrive through a connector, often the same dashboard that holds GA4. Attribution windows and reporting delays covers what each window means; Meta's other 2026 counting changes carry their own dates per account, and Meta's 2026 attribution changes lists them.
June 15 is a Google Ads event. Google's page says users' privacy selections in Ads Consent Mode "will exclusively govern how data is collected and used", and it describes no change to GA4's own reports [5]. The June 2026 consent change has the banner audit. Google says ads personalization and IP-address handling change "later in 2026" [5], with no date yet, so there's nothing to annotate.
The script tag deprecation guide and the thank-you page deadline guide cover the two Shopify deadlines, which reach GA4 only through your own store: existing script tags keep running until Shopify stops injecting them into storefronts on March 1, 2027, after this Black Friday [7], and the August 26 upgrade matters only if a GA4 or ad tag sat in Additional Scripts.
Which changes redraw history instead of breaking the line?
Google's own settings split into two kinds, and only one kind leaves a step. Changes to the key event lookback window in Attribution settings "apply going forward and are reflected in all reports" [3]. A change to which channels can receive credit also applies going forward [3]. Those leave a step on the date you saved them. Changing the reporting attribution model "applies to historical and future data" [3]: the whole chart is redrawn, with no step to explain. The same goes for GA4's Source Group dimension, which Google says "is populated retroactively" [4].
The August 11 custom conversion windows are a separate setting. If you moved a conversion window from a preset to a custom number of days, annotate that day: Google's August 11 note doesn't say whether the change reprocesses history [4]. The conversion lookback windows guide ends on "Note the date", and this is where it goes. A model change still deserves a note, for the opposite reason: anyone comparing a screenshot from July with today's chart should know the past was recalculated.
Shopify's session update is a third case. Shopify says "your historical data isn't deleted or reprocessed" and that using the same filter doesn't make sessions before and after the update directly comparable [9]. A Shopify sessions chart that spans September 21 mixes two methods on one line, and Shopify's advice is to "use data from after the update as your new baseline for session-based metrics" [9]. The bot and internal traffic guide has the detail and the filters.
Which dates only your store knows?
You've probably got a few of your store's own dates in a Slack thread or a notes app already; they belong on the chart.
- The day a tracking app went in or was replaced. A switch changes who sends GA4's purchases and how they're counted, so annotate the switch day and the day the old one was removed. Switching tracking apps covers the overlap.
- A consent banner change. A new banner, a new region, a new default. The consent banner guide shows what that does to GA4 traffic.
- Turning on the app's GA4 purchase skip for visitors who declined analytics consent. It's available on every plan and off by default, and it only acts while the app's customer-privacy setting is on. GA4 purchases from visitors who declined drop from the day you switch it on.
- Moving the Purchase event to "When the order is paid" (Plus). It moves dates, and an order that's never paid never reaches GA4. The app stamps GA4's purchase when it sends it, so after the switch an order placed with a delayed payment method lands in GA4 on the day it's paid, not the day it was placed. A bank-transfer order placed on Black Friday and paid the following Wednesday is a Wednesday purchase in GA4, and a year-over-year read by day needs the annotation to make sense of it.
- A plan change. GA4 refund events come with Plus, and so do admin, POS and draft orders. Upgrading starts them and downgrading stops them.
- A data filter or an outage. New filters step the line. A break in delivery is a different problem from a rule change; the tracking outage guide covers how to date one per channel.
A naming convention that fits in 60 characters
Sixty characters is tight, and a chart where half the annotations say "change" tells you nothing. Lead with the source, then what changed, and put the before and after in the 150-character description:
Shopify: sessions method change
Meta API: 7d/28d view windows removed
Google: Consent Mode controls Ads data
Store: switched tracking app
Store: GA4 purchase sent when paid
Store: GA4 conversion window edited
The prefix is what keeps you honest in December. A Shopify: or Meta API: flag on a GA4 chart says "the other column moved here", and a Store: flag says "this step is ours". Use single dates, as Google advises when annotations would overlap [1]; the one range worth keeping is September 21 to 23, because Shopify rolled it out over three days. If you send to a second GA4 property on Plus, repeat the list there.
How should you read Black Friday against last year?
Line up the days of the week, then read the columns in the order they're least likely to have moved.
| Period | 2026 | 2025 |
|---|---|---|
| Black Friday to Cyber Monday | Nov 27 to Nov 30 | Nov 28 to Dec 1 |
| Week before | Nov 20 to Nov 26 | Nov 21 to Nov 27 |
Start with Shopify's orders and sales, which Shopify says its session update didn't touch [9]. Then GA4 purchases and revenue for the same days, with your Store: annotations in view: a send-on-paid switch, a skip setting or a plan change explains a gap before any campaign does. Why Shopify Analytics and GA4 revenue never match explains the differences that exist even in a year with no changes. Leave Shopify's conversion rate for last: across September 21, Shopify itself says it isn't like for like.
Do the annotating now. The Black Friday tracking freeze stops app changes around November 13 and locks tracking configuration on November 16, and the BFCM readiness hub has the rest of the calendar.
FAQ
Do GA4 annotations show up in explorations?
Google's help page says annotations appear on reports and report cards with line graphs [1]. It doesn't mention explorations or dashboards, so read your annotated comparison in the standard reports.
Can I annotate a date that's already passed?
Yes. Right-click the data point for that day on any line graph, or use the Admin API, which accepts past, present and future dates [2].
Does WeltPixel Conversion Tracking add GA4 annotations for me?
No. The app doesn't create annotations. The settings that change GA4's dates or counts, such as sending purchases when the order is paid, are ones you switch on yourself, so annotate the day you do.
Keep GA4's purchase dates predictable through the season
WeltPixel Conversion Tracking sends each storefront purchase to GA4 server-side from the Shopify order, and every setting that changes when or whether GA4 records it is a switch with a date you can annotate. GA4 is on the free plan, up to 100 storefront orders a month; Plus is $39/month with no order limit [10] and also sends admin, POS and draft orders. Refund events and the send-on-paid option are Plus settings.
Sources
- Google Analytics Help, "[GA4] About annotations", support.google.com/analytics/answer/15884203, accessed October 14, 2026
- Google Analytics Admin API v1alpha,
properties.reportingDataAnnotations(ReportingDataAnnotation), developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/properties.reportingDataAnnotations, accessed October 14, 2026 - Google Analytics Help, "[GA4] Select attribution settings", support.google.com/analytics/answer/10597962, accessed October 14, 2026
- Google Analytics Help, "What's new in Google Analytics" (May 13, June 11, August 11 and September 9, 2026 entries), support.google.com/analytics/answer/9164320, accessed October 14, 2026
- Google Analytics Help, "Updates to Google Analytics Data Controls", support.google.com/analytics/answer/17016975, accessed October 14, 2026
- Meta for Developers blog, "Ads Insights API Metric Availability Updates", October 16, 2025, developers.facebook.com/blog/post/2025/10/16/ads-insights-api-metric-availability-updates/, accessed October 14, 2026
- Shopify developer changelog, "Script tags are deprecated and will stop running on March 1, 2027", August 24, 2026, shopify.dev/changelog/online-store-script-tags-deprecation, accessed October 14, 2026
- Shopify Help Center, "Upgrade the Thank you and Order status pages", help.shopify.com/en/manual/checkout-settings/customize-checkout-configurations/upgrade-thank-you-order-status, accessed October 14, 2026
- Shopify Help Center, "Session measurement update", help.shopify.com/en/manual/reports-and-analytics/discrepancies/session-measurement-update, accessed October 14, 2026
- WeltPixel Conversion Tracking, Shopify App Store listing (free plan GA4 up to 100 orders a month; Plus $39/month), apps.shopify.com/weltpixel-conversion-tracking, accessed October 14, 2026