Skip to content
GDPR compliant. Hosted in DE.
14-day free trial →
Section 11 PAngVBlack WeekScreenshot changelog
Compliance 17 min read 17 Oct 2026

Black Friday strikethrough prices: proving the 30-day price

On Black Friday, every struck price in Germany must come with the lowest price of the past 30 days. How price history and dated screenshots back that up.

X

XICTRAQ

XICTRAQ

PAngVStrikethrough pricesVisual DiffOnline retail
30 days
before the reduction: the window that supplies the lowest price to be stated (Section 11 PAngV)
5.8 bn €
sales forecast for Black Friday and Cyber Monday 2025 (HDE)
6 months
limitation period for injunctive claims under the UWG from knowledge (Section 11 UWG)
Struck price on 27 Nov: the 30-day low is the referencePrice history of a promoted item and three dated captures from the screenshot changelogThree changelog capturesshow which price was visible when.price applied30-day window before the reductionlowest price in the window30-day window: 28 Oct to 26 Nov€59.90€49.90€44.9028 Oct11 Nov18 Nov27 Nov30 NovReference: €49.90Discount −10%, not −25%11 Nov 2026 · 09:14€49.90€59.90−17%30-day low: €59.9018 Nov 2026 · 08:02€59.90no reduction shown27 Nov 2026 · 07:05€44.90€49.90−10%30-day low: €49.90Lowest price in window: €49.90€44.90 from 27 NovWorked example with invented prices · Reference per Section 11(1) PAngV and CJEU C-330/23
Black Friday falls on 27 November 2026 (OPM), and with it many online shops roll out strikethrough prices, percentage badges and sale banners. In Germany, every one of these price reductions has been subject to a fixed rule since 2022: the shop must state the lowest total price it charged in the 30 days before the reduction (Section 11 PAngV). The rule takes a minute to explain. The hard part comes weeks later, when a warning letter or a customer enquiry asks which price was actually on the page on sale day. This article summarises the rule briefly and concentrates on the evidence: which data has to come from the shop system, what dated captures of the shop pages add as a second, independent trail, where that trail reaches its limits and what a workflow for Black Week looks like.

The rule in brief: Section 11 PAngV and judgment C-330/23

Section 11(1) of the German Price Indication Ordinance (PAngV) requires anyone who has to state a total price to name, whenever a price reduction for goods is announced to consumers, the lowest total price applied within the last 30 days before the reduction took effect (Section 11 PAngV). The total price is the price including VAT and other price components (Section 2 PAngV). The revised ordinance entered into force on 28 May 2022 (PAngV). Its European counterpart is Article 6a of Directive 98/6/EC, inserted by Directive (EU) 2019/2161 (CJEU, C-330/23).

What the lowest price means for the advertised reduction was settled by the Court of Justice of the European Union on 26 September 2024 (CJEU, C-330/23). If a reduction is announced as a percentage or with a claim that highlights the price as a bargain, it has to be calculated on the basis of the prior price, i.e. the lowest price of the 30 days. A price advertised as reduced therefore cannot be equal to or higher than that prior price (CJEU, C-330/23). Mentioning the lowest price only as extra information below the offer, while the struck price and the percentage refer to a higher price, is not enough.

The original case shows what this looked like in practice. A food retailer advertised bananas in a weekly leaflet from October 2022 at €1.29, next to a struck-through €1.69 (CJEU, C-330/23). Below the price, the leaflet stated the lowest price of the last 30 days as also €1.29 (CJEU, C-330/23). The lowest price was on the page, yet the higher price was the one highlighted for comparison.

Two exceptions matter for online shops. If a reduction increases step by step without interruption, the lowest price from before its start may remain the stated reference during the promotion (Section 11 PAngV). Individual price reductions are exempt from the obligation (Section 11 PAngV). A discount code that potentially every visitor receives, however, is not a genuinely personalised reduction according to the European Commission's guidance. In that case the prior price must be the lowest publicly available price of the last 30 days (European Commission, guidance on Art. 6a).

Not legal advice

The legal position is outlined here only as far as the evidence requires. Introductory prices, seasonal or perishable goods and parallel sales channels come with special rules that should be checked legally in the individual case.

Black Week: when several promotions fall into the same window

For Black Friday and Cyber Monday 2025, the German Retail Federation expected sales of €5.8 billion (HDE). In a survey carried out by IFH Köln on the federation's behalf among more than 1,000 online shoppers in October 2025, 48 percent said they planned to go bargain hunting on Black Friday (HDE). In 2026, Black Friday on 27 November follows Thanksgiving on 26 November, and Cyber Monday falls on 30 November (OPM). How the shifting calendar affects reporting is covered in the article on year-over-year comparisons in Q4.

For strikethrough prices, this means promotions sit close together. In its guidance, the European Commission explicitly names successive campaigns such as Singles Day, Black Friday, Cyber Monday or Christmas sales in November and December. For each further reduction, the prior price is then the lowest price of at least the last 30 days, even if that was the reduced price of an earlier campaign (European Commission, guidance on Art. 6a).

The worked example in the illustration above shows the consequence; the prices in it are invented. An item normally costs €59.90, is on offer for €49.90 during Singles Day week from 11 to 17 November and then costs €59.90 again. On 27 November it is to be sold for €44.90. The window runs from 28 October to 26 November, and the lowest price in it is the €49.90 from Singles Day week. So €49.90 belongs next to the sale price as the prior price, and any percentage has to be calculated from it: about 10 percent. The 25 percent that a comparison with €59.90 would produce would contradict judgment C-330/23.

Things are different if Black Week is set up as one continuous promotion with discounts that increase in stages. In that case, the lowest price from before the first discount may stay, as long as the reduction increases without interruption (Section 11 PAngV). The Commission reads this exception narrowly: it only applies if the price is reduced step by step, without interruptions and without increasing the stated prior price (European Commission, guidance on Art. 6a). Anyone who returns to the regular price for a day between two discount stages has two promotions and therefore two reference prices.

Promotion patternPrior priceWhat needs to be documented
Single promotion on 27 Novemberlowest price from 28 October to 26 Novembercomplete price history for the window
Singles Day, then Black Fridaylowest price including the Singles Day priceboth promotions with start, end and price
Black Week with increasing discounts and no interruptionlowest price before the first discountstart of the promotion and continuous history
Price increase shortly before the promotionlowest price in the window, usually the price before the increasedate and amount of the increase
Discount code for all visitorslowest publicly available price of the 30 daysperiod in which the code was announced, and the prices

Why the evidence is the real work

Anyone who intentionally or negligently fails to state the lowest price, or states it incorrectly or incompletely, commits an administrative offence (Section 20 PAngV). The offence can be punished with a fine of up to €25,000 (Section 3 WiStG). Alongside this there is the civil-law route. Under German unfair competition law, anyone who breaches a statutory provision that is also intended to regulate market conduct in the interest of market participants acts unfairly if the breach is liable to appreciably harm the interests of consumers, other market participants or competitors (Section 3a UWG). Injunctive relief can then be claimed by competitors, registered trade associations and qualified consumer associations, among others (Section 8 UWG).

In both cases, the decisive question only comes after the promotion: which price was on the product page on the morning of 27 November, which one was struck through, and what did the lowest-price notice say? Injunctive claims under the UWG become time-barred after six months (Section 11 UWG). The period only starts, however, once the claimant knows of the circumstances and the identity of the debtor, or would have known without gross negligence (Section 11 UWG). An enquiry in spring about a November promotion is therefore entirely possible.

Anyone who can then only show today's page and a database in which the prices have long been overwritten has little to go on. The evidence becomes robust when two independent trails show the same thing.

Two trails: price history and the visible page

The first trail is the price history in the shop system, the ERP or the product information management system. Only there is it recorded which price applied on which day, and only from there can the lowest price of the 30 days be calculated. Some systems, however, only store the new value when a price changes. Then exactly the history that Section 11 PAngV presupposes is missing. Before Black Week it is therefore worth checking whether every price change is logged with the date, the old and new value and the triggering source: an import, a price rule or a manual edit.

The second trail is the page as consumers saw it. It answers questions that a database cannot. Was the lowest price displayed, or did the field in the template stay empty? Was the notice clearly assigned, easy to recognise and clearly legible next to the price, as the ordinance requires for all price information (Section 1 PAngV)? Did the badge show the correct percentage? And did a cache still serve the previous day's page after the switch?

QuestionPrice history in the shopDated capture of the page
Which price applied on which day?yes, with the time of the changeonly at the moment of the capture
What was the lowest price in the window?can be calculatedno
Which struck price was displayed?only if the system stores the displayyes
Was the notice legible and placed next to the price?noyes, per view
Did the percentage match the reference price?can be checked arithmeticallyvisible as it was displayed
Did a cache serve an outdated state?noyes, if the capture catches it
Independent means: from a different source

A capture taken from the outside via the public address does not depend on the database whose content it is meant to confirm. The same principle underpins the acceptance test report for websites: a state recorded with a date and a method replaces memory. How dated captures prove the availability of a mandatory function is shown in the article on the withdrawal button during peak season.

Where the display and the price history drift apart

Errors do not only arise in the calculation rule, but also on the way from the data record to the delivered page. These are the typical spots:

Wrong field in the template

The theme shows the list price or a recommended retail price as the struck price instead of the calculated lowest price. Everything is correct in the database, but not on the page.

Percentage from the wrong base

The badge calculates against the last price before the promotion instead of the lowest price. This is exactly the constellation behind judgment C-330/23.

Cache with yesterday's state

A cache still serves the old page after the switch. How to find outdated pages is described in the article on stale caches after a deploy.

Variants with their own prices

Sizes or colours have their own prices and their own histories. The category page often shows a from-price, the product page the price of the selected variant.

Customer groups and channels

Trade, app or store prices follow their own rules. Where prices differ by sales channel, the lowest price has to be determined per channel (European Commission, guidance on Art. 6a).

Timing of the switch

An overnight import, a manual correction in the morning: until all prices are right, pages sit in an intermediate state for a while.

What these cases have in common is that they only become visible on the delivered page. A check in the back end usually does not find them, a capture of the page can show them.

What the screenshot changelog records and what it does not

XICTRAQ captures monitored pages at fixed intervals: every 24 hours on the free plan and every 12 hours on paid plans, each for desktop, tablet and mobile (XICTRAQ feature page). Every new capture is compared with the previous one. For every detected change, the screenshot changelog stores the before image, the after image and the diff (XICTRAQ feature page). The visual comparison is available from the Starter plan (XICTRAQ manual), and the number of subpages that can be monitored depends on the plan (XICTRAQ feature page).

For strikethrough prices one limit is decisive: a change only enters the changelog from 5 percent of changed image content, corrected for vertical shifts, and only if a before and an after image could be archived (XICTRAQ manual). A single changed price figure on a long product page usually stays below that. A sale banner, discount badges and struck prices across an entire category page, by contrast, change a much larger area. The changelog is therefore not a price log but a log of visible state changes.

For fixed reference dates there is the on-demand scan: independently of the plan interval, a capture can be triggered for a page, limited to ten a day (XICTRAQ manual). A before-and-after pair is archived when a change is detected, and the latest screenshot per device is updated continuously (XICTRAQ feature page). Anyone who wants to record a reference date on which little visibly changes should therefore file the capture with its date in their own evidence folder right after the scan.

Alongside the visual comparison, XICTRAQ shows text changes as a classic text diff and lists all recorded changes in a chronological overview with a before-and-after view (XICTRAQ feature page). How visual diff works technically and how false alarms from changing content such as tickers or teasers can be contained is explained in the article on visual diff. What an automatic website changelog records beyond that is covered in the introductory article.

What XICTRAQ does not do

XICTRAQ does not know the prices in the shop system and does not calculate a lowest price. Whether a struck price meets the requirements of Section 11 PAngV follows from the shop's price history, not from a capture. The captures show what was publicly visible. They do not currently cover pages behind a login, because screenshots are taken as seen from the public internet, without credentials (XICTRAQ manual).

Which pages belong in the capture series

The capture series does not provide a complete price history of the catalogue, and it does not need to. Its purpose is evidence at the places where strikethrough prices are advertised. Because the number of monitored pages depends on the plan, a deliberate selection pays off:

  • The Black Week sale page. If it runs under the same address every year, the capture series also stays comparable over the years. Why that also pays off for search engines is explained in the article on the permanent URL for the Black Friday page.
  • Category pages with many sale items. Here the switch changes a large area, and the struck prices of several items appear in one image.
  • Product pages of the most heavily promoted sale items, such as the items from the newsletter, the home page banner and ads. For general announcements, the prior price does not have to appear in the banner itself but in the price information of the individual item in the online shop (European Commission, guidance on Art. 6a).
  • The home page with the sale banner, so that the start and end of the campaign are documented with dates.

For product pages, one simple question helps: which items would a competitor look at first? As a rule, those are the items with the highest discount and the widest reach in advertising. The plans and the number of pages that can be monitored are listed on the pricing page.

A Black Week workflow in five steps

  1. By 27 October: check the price history. For every planned sale item, the history from 28 October onwards must be complete, because that is when the window for 27 November starts. Important for planning: a price increase within the window does not raise the reference price as long as the lower price before it is still inside the window.
  2. From early November: add the pages to monitoring. The sale page, category pages and the most important product pages get a capture series. The captures before the promotion show the starting state. The changelog records earlier promotions such as Singles Day if the visual comparison detects the switch as a change.
  3. 26 November: secure the starting state. Trigger an on-demand scan of the selected pages the day before and file the captures with their date. Because on-demand scans are limited, choose the pages in advance.
  4. 27 November after the switch: secure and cross-check the sale state. Trigger another on-demand scan, then compare the displayed struck price with the lowest price from the price history for a sample of items. Correct deviations and capture the corrected page again.
  5. After the promotion ends: close the folder. Capture the final sale state, then file the changelog entries for the period and the export of the price history in the evidence folder. If a report includes the security section, XICTRAQ appends a table of detected changes, in the PDF with the latest entries of the period. Every report can be exported as PDF, HTML, JSON or CSV (XICTRAQ manual); more on the page about reports.

A simple structure that keeps both trails separate and can be reused every year is enough for the evidence folder:

evidence-black-week-2026.yaml
promotion: Black Week 2026
sale_days: 2026-11-27 to 2026-11-30
reference_window: 2026-10-28 to 2026-11-26
sample: sale-items-sample.csv
trail_1_price_history:
  - price-history-2026-10-01-to-2026-12-01.csv
  - lowest-price-per-item.csv
trail_2_visible_page:
  - captures/2026-11-26_sale-page_desktop.png
  - captures/2026-11-27_sale-page_desktop.png
  - captures/2026-11-27_category-jackets_mobile.png
  - changelog-report-2026-11.pdf
corrections:
  - corrections-2026-11-27.csv   # item, displayed, correct, corrected at
open_points:
  - customer group prices not covered by the captures

Sample check on sale day: display against history

The cross-check on sale day is the step that turns two trails into evidence. From the export of the price history, the lowest price in the window is calculated for each item in the sample and compared with the struck price on the page. A simple way using standard tools, shown here for an example item:

$ head -4 price-history-item-4711.csv
date,item,price 2026-10-28,4711,59.90 2026-11-11,4711,49.90 2026-11-18,4711,59.90
$ awk -F, '$1>="2026-10-28" && $1<="2026-11-26" {print $3}' price-history-item-4711.csv | sort -n | head -1
49.90
$ curl -s https://shop.example.invalid/p/4711 | grep -o 'Niedrigster Preis der letzten 30 Tage: [0-9,]* €'
Niedrigster Preis der letzten 30 Tage: 49,90 €

It is important that the export contains the price that applied at the start of the window, not just the changes within it. Otherwise a lower price set before 28 October is missing, and the calculated lowest price comes out too high. For the page, this checklist applies to every item in the sample:

  • the struck price matches the lowest price from the price history in the window up to the previous day
  • the percentage is calculated on that lowest price
  • the notice sits next to the price and is legible in the mobile view as well
  • the category page and the product page show the same struck price
  • for variants, the struck price belongs to the variant displayed
  • after every correction there is a new capture with a date

If the sample reveals deviations, not only the correction belongs in the folder but also the time from which the correct price was visible. That is exactly what the new capture after the correction is for.

Keeping and finding the evidence

Injunctive claims under the UWG become time-barred after six months from knowledge, claims for damages after ten years from when they arose, regardless of knowledge (Section 11 UWG). Section 11 PAngV does not set its own retention period for the evidence. How long the folder is kept is therefore a judgement call that should be agreed with legal counsel. Deleting it shortly after the promotion ends is usually too early.

In the XICTRAQ account, how long captures are retained depends on the plan (XICTRAQ manual). The images that matter for the evidence therefore also belong in your own archive, together with the export of the price history and the sample. How retention and data minimisation can be kept apart cleanly for monitoring data is shown in the article on the data retention policy for monitoring data.

Plan strikethrough prices so they can be proven, instead of searching afterwards

The 30-day rule takes a minute to explain; the work lies in the evidence. The price history in the shop answers which price applied. Dated captures of the sale pages answer what consumers saw. Anyone who sets up both trails before 27 November, triggers captures deliberately on the reference dates and documents the sample check can answer enquiries with records instead of recollections. XICTRAQ takes care of the visible page; the obligation under Section 11 PAngV stays with the shop.

If you also want to spot copycat shops using your brand early in the Christmas season, there is a separate article on that.

Sources and legal basis

This article is based on: German Price Indication Ordinance (PAngV), Sections 1, 2, 11 and 20, and Economic Offences Act 1954 (WiStG), Section 3, each in the version published on gesetze-im-internet.de; German Act against Unfair Competition (UWG), Sections 3a, 8 and 11; judgment of the Court of Justice of the European Union of 26 September 2024, case C-330/23; European Commission notice, guidance on the interpretation and application of Article 6a of Directive 98/6/EC (2021/C 526/02); German Retail Federation (HDE), press release of 17 November 2025 with a survey by IFH Köln; U.S. Office of Personnel Management, Federal Holidays 2026; XICTRAQ feature page Screenshot & Changelog and XICTRAQ manual Screenshots & Visual Diff, accessed on 6 October 2026. This article does not constitute legal advice.

Does the struck-through price have to be the lowest price of the last 30 days?
Whenever a price reduction is announced, the lowest total price of the last 30 days before the reduction has to be stated (Section 11 PAngV). If the reduction is highlighted as a percentage or with an advertising claim, judgment C-330/23 requires it to be calculated from that prior price (CJEU, C-330/23). According to the European Commission's guidance, other reference prices are possible if they are clearly explained and do not distract from the prior price (European Commission, guidance on Art. 6a).
Does a Singles Day price count for Black Friday?
As a rule yes, if it applied within the 30 days before Black Friday. The European Commission explicitly names successive campaigns such as Singles Day, Black Friday and Cyber Monday and treats the lowest price of at least the last 30 days as the prior price, including earlier sale prices (European Commission, guidance on Art. 6a).
What applies to a Black Week with discounts that increase daily?
If the reduction increases step by step and without interruption, the lowest price from before its start can remain the stated reference during the promotion (Section 11 PAngV). If the price is raised again in between or the promotion is interrupted, the general rule typically applies again. For the evidence, the complete history from the first to the last sale day is therefore what counts.
Is the screenshot changelog sufficient evidence for the 30-day price?
No, it does not replace the price history in the shop system. XICTRAQ does not know the prices in the shop and does not calculate a lowest price. The captures prove what was publicly visible at a given time. A change only enters the changelog from 5 percent of changed image content (XICTRAQ manual), so an on-demand scan followed by filing the capture is advisable for fixed reference dates.
How long should shops keep the evidence?
Injunctive claims under the UWG become time-barred after six months from knowledge, claims for damages after ten years from when they arose, regardless of knowledge (Section 11 UWG). Section 11 PAngV does not set a fixed period for the evidence folder. The duration should be agreed with legal counsel; deleting it shortly after the promotion is usually too early.
Does the 30-day rule also apply to discount codes?
It does not apply to individual price reductions (Section 11 PAngV). A code that potentially every visitor to the shop receives, for example via a banner, is however not treated by the European Commission as a genuinely personalised reduction. The prior price must then be the lowest publicly available price of the last 30 days (European Commission, guidance on Art. 6a).

Related in XICTRAQ

Start in 60 seconds

Let XICTRAQ watch your website.

Permanent free plan available. No credit card, no installation, no hidden fees.