BuildsByLuke Product Guarantee Notice for WooCommerce

Description

From 27 September 2026, Commission Implementing Regulation (EU) 2025/1960 requires every trader selling goods to consumers in the EU to display the harmonised notice on the legal guarantee of conformity in a prominent manner before purchase — regardless of the trader’s size or country.

This plugin puts the official artwork on your WooCommerce product pages, correctly:

  • The official notice, not a re-creation. The plugin ships the European Commission’s own notice artwork for all 24 official EU languages and shows the right language automatically from the page locale (WPML / Polylang friendly). Online display is in colour (RGB) and always in full — exactly what Annex I requires.
  • GPSR Art. 19 product safety block (Regulation (EU) 2023/988, in force since 13 December 2024): manufacturer name, postal and electronic address; EU responsible person for non-EU manufacturers; product identifiers (SKU / GTIN); warnings and safety information. Store-wide defaults with per-product overrides.
  • A compliance audit you can act on: an “EU Compliance” column on the products list, a checklist on every product edit screen, and a site-wide audit page listing exactly what is missing where.
  • Site Health checks so a broken or disabled setup never goes unnoticed.
  • Positioning controls, per-product overrides, and [bblgg_notice] / [bblgg_gpsr] shortcodes for page-builder layouts.

Everything above is in the free plugin, complete and unmetered — no product limits, no time limits, nothing withheld behind an upgrade.

Pro is a separate build that adds capabilities the free version does not contain any code for — the producer’s voluntary durability guarantee, and the repair-information duties:

  • The EU durability label (“GARAN”, Annex II): the official label file with the three permitted edits — duration in years, producer brand, model identifier — displayed full or nested (collapsed strip that expands in its entirety on first click, as the Regulation permits online), and the checkout-screen block Consumer Rights Directive Art. 8(2) requires.
  • Repair & updates disclosures (CRD Art. 6(1)(u), (v), (lc)): reparability score, spare-parts availability and ordering, repair instructions and restrictions, software-update support period.
  • White-label conformance report with weekly email delivery and an optional webhook — for agencies running client stores.

Which stores does this affect?

Every shop selling physical goods to consumers in the EU — including sellers established outside the EU. Neither the EmpCo Directive (EU) 2024/825 nor Regulation (EU) 2025/1960 contains a small-business exemption.

Compliance note

No plugin can provide 100% compliance, and nothing in this plugin is legal advice. This plugin helps you display the harmonised notice, the durability label (Pro) and the GPSR information set; whether your shop meets Regulation (EU) 2025/1960, Directive (EU) 2024/825 and Regulation (EU) 2023/988 in full remains the responsibility of the site administrators. If in doubt, consult a lawyer familiar with EU consumer law.

Trademarks, artwork & affiliation

  • “GARAN” is the name of the European Union’s harmonised durability label. This plugin displays that official label (Pro) and refers to it by name only to describe what it displays. This plugin is an independent product of BuildsByLuke and is not affiliated with, endorsed by, or approved by the European Union or the European Commission.
  • The notice and label artwork are © European Union — official files published by the European Commission for traders to reproduce, bundled unmodified (the label’s three editable fields are filled in as the Regulation permits). The Inter typeface (the font Annex II prescribes for the label) is bundled under the SIL Open Font License 1.1.
  • WooCommerce is a trademark of its respective owner; this plugin is an independent extension for WooCommerce and is not affiliated with or endorsed by them.

External services

Rendering the notice, the safety block and (in Pro) the label makes no external requests of any kind — all artwork, fonts and data ship inside the plugin.

Freemius (freemius.com), who sell and license the Pro version

The plugin uses the Freemius SDK for licensing. Freemius is contacted in four situations. Every one of them is something you click. It is never contacted in the background.

  1. If you opt in on the activation screen (or start a trial / activate a licence). Sent to api.freemius.com: your site URL, your WordPress and PHP versions, and the email address of the account you activate with. Skipping the opt-in is a first-class choice and the plugin is fully functional without it.
  2. If you open the “Upgrade” page under the plugin’s menu. Your own server (not your browser) asks api.freemius.com for current plan prices, sending your site URL. The page itself loads no third-party scripts — everything it renders is served from this plugin’s own folder. The payment SDK’s bundled pricing script used to inject Google Analytics and a remote checkout script into wp-admin on that page; this build removes both, along with the SDK’s remaining remote references (all modifications are listed under “Source code” below).
  3. If you open the “Contact Us” page, which is Freemius’s hosted support form (wp.freemius.com). The link carries your site URL and your WordPress login URL so the form knows which site you are writing about.
  4. If you click a plan to buy, you go to Freemius’s hosted checkout (checkout.freemius.com). It receives your site URL, site name, WordPress and PHP versions, and your WordPress administrator email address (pre-filled, sent whether or not you complete the purchase). Freemius is the merchant of record. Their checkout page loads its own third-party scripts; we do not control that list. If you never click a plan, none of it loads.

Terms: https://freemius.com/terms/ — Privacy: https://freemius.com/privacy/

Installing, activating, skipping the opt-in, using every screen, deactivating (the SDK’s deactivation-feedback dialog is switched off in this build, so deactivation is one click and sends nothing), WordPress’s update cycle and all scheduled tasks complete without contacting Freemius at all. Free updates come from WordPress.org like any other plugin.

Pro only, and only when you configure it: the weekly conformance summary can be POSTed to a webhook URL you provide (e.g. your own Slack webhook). Nothing is sent unless you enter a URL.

Source code

This plugin’s own PHP is unminified and readable in the plugin folder.

The one exception to “unminified” is the third-party licensing SDK in vendor/freemius/, which ships pre-minified. Those files are the Freemius WordPress SDK, published under the GPL, and their unminified source and build tooling are public:

  • Freemius WordPress SDK: https://github.com/Freemius/wordpress-sdk
  • The pricing screen bundled at vendor/freemius/assets/js/pricing/freemius-pricing.js: https://github.com/Freemius/pricing-page

Local modifications to the bundled SDK (each marked with a /* BuildsByLuke Product Guarantee Notice: */ comment where practical): the pricing script’s Google Analytics injection and remote checkout-script loader are removed, its ambient analytics track() calls are stubbed, a remote loader image referenced from the SDK’s CSS is replaced with an inline data: URI, and remote avatar images on the pricing page are disabled — so no plugin screen requests anything from outside your site.

Screenshots

Installation

  1. Install and activate the plugin (WooCommerce must be active).
  2. Go to WooCommerce EU Compliance and set your store-wide manufacturer defaults.
  3. That’s it for the notice — it now renders on product pages for goods, in the shopper’s language, in colour, in full.
  4. Check WooCommerce EU Compliance audit to see which products still need GPSR data.

FAQ

What is the harmonised legal guarantee notice?

A mandatory notice reminding consumers of their minimum two-year legal guarantee of conformity for goods sold in the EU: the remedies (free repair or replacement, in some cases price reduction or full reimbursement), the possibility of longer national periods, what to do about non-conforming goods, and a QR code to europa.eu/youreurope/guarantees. It must be shown prominently before purchase; for online shops it must be in colour. None of its elements may be edited — which is why this plugin ships the Commission’s official artwork rather than rebuilding it.

What is the EU durability label (“GARAN”)?

GARAN is the EU’s harmonised label for a producer’s commercial guarantee of durability — a guarantee that is free of charge, covers the entire good and lasts more than two years. From 27 September 2026, traders must display it prominently when such a guarantee exists (Directive (EU) 2024/825, Regulation (EU) 2025/1960). The label carries the duration in years, the producer’s brand, the model identifier, a calendar symbol and a QR code to the Your Europe portal — the design, colours and the Inter typeface are fixed by the Regulation. Displaying it is a Pro capability of this plugin; the free build covers the mandatory notice, which applies to every trader.

When does this become mandatory?

27 September 2026 (Regulation (EU) 2025/1960 Art. 3, aligned with the EmpCo Directive’s application date). The GPSR product safety information duties in Art. 19 have already applied since 13 December 2024.

Does this apply to my shop if I’m not in the EU?

If you sell to consumers in the EU, yes — the duties attach to selling to EU consumers, not to where your company is established.

Which languages are included?

All 24 official EU languages of the notice: Bulgarian, Croatian, Czech, Danish, Dutch, English, Estonian, Finnish, French, German, Greek, Hungarian, Irish, Italian, Latvian, Lithuanian, Maltese, Polish, Portuguese, Romanian, Slovak, Slovenian, Spanish and Swedish. The plugin picks the artwork matching the page language, with an override to pin one language. The durability label is language-neutral by design and carries “producer guarantee in years” in all 24 languages.

Does it work with the German Gewährleistung requirements / EU warranty label?

Yes — the “EU-Gewährleistungslabel” discussed in German commerce media is exactly this Regulation’s notice and durability label. Select German and the official DE artwork is shown.

Does it work with block themes and the block checkout?

Yes. The notice and safety block render on product pages for classic and block themes; the Pro checkout block appends to WooCommerce’s checkout order-summary block, and the classic checkout is supported as well.

Is the QR code on the notice real?

Yes — it is the Commission’s own QR, part of the official artwork, pointing to europa.eu/youreurope/guarantees (country-by-country guarantee rights). The plugin can also show that link as clickable text under the notice, since shoppers on a screen cannot scan the screen they are looking at.

Why does the durability label need at least 3 years?

Annex II covers commercial durability guarantees “of more than two years”. A two-year guarantee does not qualify for the label — the smallest duration the label can honestly show is 3 years.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“BuildsByLuke Product Guarantee Notice for WooCommerce” is open source software. The following people have contributed to this plugin.

Contributors

Changelog

1.0.3

  • Internationalisation cleanup from the WordPress.org plugin review: removed the load_plugin_textdomain() call, the Domain Path header and the bundled .pot template. Plugins hosted on WordPress.org have their translations loaded automatically since WordPress 4.6, and this plugin requires WordPress 6.2 or newer. No functional changes.

1.0.2

  • Escaping hardening from the WordPress.org plugin review: every shortcode callback now passes its return value through a final escaping step before WordPress renders it — [bblgg_notice] and [bblgg_gpsr] through wp_kses_post() (covering markup added via the bblgg_notice_html filter and third-party bblgg_gpsr_rows output), and the Pro [bblgg_garan] shortcode through the label’s SVG allow-list. The Pro checkout-block filter sanitises the fragment it appends, and tab/column labels returned to WooCommerce and WordPress are pre-escaped.

1.0.1

  • Renamed to “BuildsByLuke Product Guarantee Notice for WooCommerce” (previously “BuildsByLuke EU GARAN Label & Legal Guarantee Notice for WooCommerce”) with a matching text domain.
  • Hardened the settings save handler: every submitted field is now individually unslashed and sanitised at the point it is read, and the bblgg_settings_save filter no longer receives raw request data.
  • Expanded the External services disclosure (the four exact situations in which Freemius is contacted) and added a Source code section covering the bundled SDK’s minified files and local modifications.
  • Added an explicit trademarks & affiliation note.

1.0.0

  • Initial release.
  • Official harmonised legal-guarantee notice artwork for all 24 EU languages, auto-selected by page locale, RGB colour, full display (Reg (EU) 2025/1960 Annex I).
  • GPSR Art. 19 product safety block: manufacturer, EU responsible person, identifiers, warnings — store defaults + per-product overrides.
  • EU Compliance audit: products-list column, product checklist metabox, site-wide audit page.
  • Site Health integration.
  • Pro: EU durability label (official artwork, duration/brand/model edits, nested or full display, checkout block), CRD Art. 6(1)(u)/(v)/(lc) repair & update disclosures, white-label conformance report with email/webhook delivery.