GDPR
v1.3.1
GDPR
- Updates and support included for 12 months
- License key delivered immediately by email
- 30-day money-back guarantee
- Full documentation included
- Compatible with Hyvä themes
- Composer-ready installation
GDPR / Cookie Consent
Blijf conform de Europese GDPR en de Google Consent Mode v2-vereiste van 2024, zonder een externe SaaS-banner bovenop te bouwen. Deze module geeft uw Magento- of Mage-OS-winkel een volledig configureerbare cookie consent banner, granulaire opt-in per categorie, een toestemmingslogboek voor audit, en een native klant-privacyzone — alles gehost op uw eigen infrastructuur.
De banner is gebouwd om te converteren: bar- of modal-layout, optionele wall-modus die scrollen blokkeert tot toestemming gegeven is, geo-targeting die hem alleen toont aan bezoekers die hem moeten zien, en een vaste floating settings-knop zodat klanten van mening kunnen veranderen zonder te hoeven zoeken.
Voor wie
- B2B- en B2C-handelaars die verkopen in de EER, UK of Zwitserland, waar handhaving van GDPR en ePrivacy reëel is
- Winkels die Google Ads remarketing of GA4 gebruiken — Consent Mode v2 is verplicht sinds maart 2024
- Handelaars die een privacy-stack willen die ze zelf beheren (geen maandelijkse SaaS-fee, geen data die hun servers verlaat)
Belangrijkste voordelen
- Standaard conform — vier granulaire cookiecategorieën (necessary, analytics, marketing, functional) met opt-in per categorie, conform de richtlijnen van CNIL, ICO en EDPB.
- Google Consent Mode v2 native — signalen
analytics_storage,ad_storage,ad_user_dataenad_personalizationworden automatisch beheerd. Werkt met GTM container ID of GA4 measurement ID. - Conversiegerichte banner — bar- (boven/onder) of modal-layout, optionele wall-modus, configureerbare overlay, eigen primary color, volledig bewerkbare teksten per store view.
- Geo-targeting — toon de banner alleen aan EER-/UK-/Zwitserse bezoekers via CloudFlare
CF-IPCountry(gratis, aanbevolen), een HTTP API als fallback, of de ingebouwde GeoIP van Magento. Whitelist- of blacklist-modus. - Toestemmingslogboek — elke beslissing wordt opgeslagen met tijdstempel en bron, zichtbaar in een admin-grid met export. Dashboard-widget toont acceptatiestatistieken.
- Klant-privacyzone — ingelogde klanten krijgen een
/gdpr/account/privacy-pagina om hun data te bekijken, export aan te vragen of accountverwijdering te vragen. - Hyvä, Breeze en Luma — Alpine.js-component voor Hyvä synchroon geladen om race conditions te vermijden; bundled JS voor Breeze; standaard JS voor Luma. Automatische themadetectie.
Compatibiliteit
- Magento 2.4.x / Mage-OS equivalent
- PHP 8.1, 8.2, 8.3
- Vereist
wimakeit/module-core3.0.9 of hoger - Werkt met Hyvä-, Breeze- en Luma-frontends
- i18n meegeleverd: Engels, Frans, Nederlands
Installeer deze module via Composer. Zorg ervoor dat uw auth.json is geconfigureerd met uw Wimakeit-inloggegevens.
$ composer require wimakeit/module-gdpr:^1.3.1
$ bin/magento setup:upgrade
$ bin/magento setup:di:compile
Installation notes
The standard composer require + setup:upgrade + setup:di:compile flow applies. The points below cover what's specific to this module.
Required dependency
This module requires wimakeit/module-core 3.0.9 or later. Composer will pull it automatically from the Wimakeit registry as long as the registry is declared in your project's composer.json.
ACL permissions
After installation, three ACL resources are registered under System → Permissions → User Roles:
| Resource | Default |
|---|---|
Wimakeit_Gdpr::config (edit module configuration) | granted to Administrator role only |
Wimakeit_Gdpr::delete_request (view the deletion request grid) | granted to Administrator role only |
Wimakeit_Gdpr::delete_request_process (change a deletion request status) | granted to Administrator role only |
Configuration
The module ships with safe production defaults. Go to Stores → Configuration → Wimakeit → GDPR / Cookie Consent only if you want to change them.
General settings
| Setting | Default |
|---|---|
| Enable Cookie Consent | Yes |
| Banner Type | bar (alt: modal) |
| Banner Position | bottom (alt: top) |
| Show on First Visit | Yes |
| Consent Lifetime (days) | 365 |
| Show Floating Settings Button | Yes |
| Enable Debug Logging | No — leave off in production |
Cookie categories (default consent)
| Setting | Default |
|---|---|
| Necessary | On — always enabled, not toggleable |
| Analytics Cookies | Off (denied until consent) |
| Marketing Cookies | Off (denied until consent) |
| Functional Cookies | Off (denied until consent) |
Google Consent Mode v2
| Setting | Default |
|---|---|
| Enable Google Consent Mode v2 | Yes |
Default analytics_storage | denied |
Default ad_storage | denied |
Default ad_user_data | denied |
Default ad_personalization | denied |
| GTM Container ID | (empty) |
| GA4 Measurement ID | (empty) |
Banner texts
| Setting | Default |
|---|---|
| Banner Title | "Cookie settings" |
| Banner Description | "We use cookies to improve your experience…" |
| Accept All Button | "Accept all" |
| Reject All Button | "Reject all" |
| Save Preferences Button | "Save preferences" |
| Privacy Policy URL | privacy-policy |
Appearance
| Setting | Default |
|---|---|
| Primary Color | #ef6f14 |
| Show Background Overlay | Yes |
| Wall Mode (block scroll) | No |
Geo-Targeting
| Setting | Default |
|---|---|
| Enable Geo-Targeting | No |
| Mode | whitelist (alt: blacklist) |
| Countries | EEA + UK + NO + IS + LI + CH (pre-filled) |
| Detection Method | cloudflare (alt: HTTP API, Magento GeoIP) |
Cookie scanner
| Setting | Default |
|---|---|
| Known Cookies Definition | Pre-filled JSON for GA, GA4, Facebook Pixel, HubSpot, Hotjar, Tawk, Intercom, Crisp, Magento, PHP, WiMakeIT |
Cron jobs (registered automatically)
| Job | Schedule |
|---|---|
wimakeit_gdpr_purge_old_logs (purge consent logs past retention) | weekly, Sunday at 3 AM |
No setup needed — just make sure Magento cron is running.
Geo-targeting with CloudFlare
If you use CloudFlare in front of Magento, the recommended detection method is cloudflare. It reads the CF-IPCountry request header that CloudFlare injects on every request — free, accurate, no external call. Make sure IP Geolocation is enabled in your CloudFlare dashboard (Network → IP Geolocation).
- Versie
- v1.3.1
- Licentie
- Jaarabonnement
- Ondersteuning
- 12 maanden
- Last updated
- 19 sep. 2026
- Magento
- Magento 2.4.4 Magento 2.4.5 Magento 2.4.6 Magento 2.4.7 Mage-OS 2.0 Mage-OS 2.1
- PHP
- PHP 8.1 PHP 8.2 PHP 8.3
- Hyvä
- Compatibel
- Pakket
-
wimakeit/module-gdpr
Compatibility checker
Pick your stack to see if this module fits.
Compatibiliteit 4
Prijs & licentie 4
composer require in vendor/wimakeit/ terecht; u kan ze lezen, auditen en lokaal patchen voor uw eigen Magento-installatie. U mag de code NIET herverspreiden, sublicentiëren, op een publiek Composer-register publiceren of doorverkopen. Eén licentie = één productiedomein + één staging/dev-domein (zie de algemene voorwaarden voor de volledige EULA). Wimakeit-modules staan NIET op het publieke packagist.org — ze worden uitsluitend verspreid via het private Composer-register packages.wimakeit.be. Installatie & updates 6
composer require wimakeit/module-gdpr:^1.1.7 uit, daarna bin/magento setup:upgrade, bin/magento setup:di:compile en tot slot bin/magento cache:flush. Het tabblad Installation op deze pagina lijst elke configuratiestap (ACL's, crons, defaultwaarden) — een deploy duurt minuten, geen uren. Hulp nodig? Wimakeit biedt Magento-installatiediensten vanuit ons Waalse kantoor (Presles, tussen Charleroi en Namen). auth.json toe: {"http-basic": {"packages.wimakeit.be": {"username": "UW-E-MAIL", "password": "UW-TOKEN"}}}. Stap 3: registreer het repo: composer config repositories.wimakeit composer https://packages.wimakeit.be. Stap 4: composer require wimakeit/module-gdpr:^1.1.7. In CI/CD-pipelines injecteert u COMPOSER_AUTH als JSON-environment-variabele in plaats van auth.json te commit'en. composer require, zelfde modulecode, zelfde databaseschema — geen fork om te onderhouden, geen licentiewijziging. composer update blijft veilig binnen een major. app/design/frontend/{UwVendor}/{theme}/Wimakeit_{Module}/templates/ met hetzelfde relatieve pad. Blocks, ViewModels en Helpers worden overschreven via DI-preference in uw eigen custom module — declareer <preference for="Wimakeit\…\OriginalClass" type="UwVendor\Override\Class" /> in etc/di.xml. Layout-XML wordt uitgebreid (voorkeur) of overschreven op de standaard Magento-manier. Wimakeit-modules gebruiken nooit het keyword final op klassen die u redelijkerwijs zou willen override — overschrijven is een first-class scenario, geen hack. Support & beveiliging 3
contact@wimakeit.com met modulenaam, versie, Magento/Mage-OS-versie en reproduceringsstappen. Fixes verschijnen in de volgende patch. Wimakeit-support antwoordt in het Nederlands, Frans en Engels op werkdagen (CET-uren). contact@wimakeit.com met het voorvoegsel [SECURITY] in het onderwerp — vermeld de module, versie en reproductiestappen. Bevestiging op werkdagen, vermelding in het Changelog op verzoek. Wimakeit is een Belgische BV (besloten vennootschap) onderworpen aan Belgisch en Europees recht inzake privacy en responsible disclosure. Over Wimakeit 1
Iets gevonden dat niet in de FAQ staat?
Meld een bug of stel een vraag — het formulier is voor-ingevuld met deze module.
Changelog
Categories: Security, Feature, Fix, Perf, Admin, Deps.
[1.3.0] - 2026-09-17
Feature
- Optional automatic account deletion: once enabled, a daily task deletes the account behind every pending GDPR deletion request older than a configurable delay (30 days by default) and closes the request. Off by default.
Admin
- New command
wimakeit:gdpr:auto-deleteto list the requests due, and process them on demand.
[1.2.18] - 2026-09-17
Fix
- "Modify my preferences" on the customer privacy page always opens the cookie settings, even before the visitor's first choice.
[1.2.17] - 2026-09-17
Fix
- The cookie banner and its settings button work again on stores that move scripts to the bottom of the page (a template comment was mistaken for a script tag).
[1.2.16] - 2026-09-08
Fix
- Fixed a fatal error that took every storefront and admin page down when Magento's HTML template minification is enabled — the default in production.
[1.2.15] - 2026-09-04
Fix
- The three privacy account pages now redirect a visitor who is not logged in to the login page, instead of answering with a 500 error.
[1.2.14] - 2026-09-03
Fix
- Consent defaults now apply on the checkout: the block carries a CSP nonce, so measurement tags no longer fire as "granted" throughout the funnel.
[1.2.13] - 2026-08-25
Fix
- Checkout no longer renders order lines and totals twice — the Alpine loader guard is now shared across Wimakeit modules, so only one instance loads.
[1.2.12] - 2026-08-25
Fix
- The cookie banner works on the checkout page again: Alpine is no longer injected from an inline script that Magento's enforced CSP blocked.
[1.2.6] - 2026-08-12
Fix
- The privacy page footer links to the configured Privacy Policy URL instead of two hard-coded French paths that returned 404 on most installs.
[1.2.5] - 2026-08-12
Fix
- The deletion request button keeps its red background, inline layout and padding instead of losing them to the Alpine style binding.
[1.2.4] - 2026-08-12
Feature
- The banner's accent colour is themeable through
--wm-gdpr-colorand--wm-gdpr-color-rgb; installations that do not redefine them look unchanged.
Fix
- The privacy page shows the customer account menu again, instead of an empty sidebar leaving the visitor no way back into their account.
[1.2.3] - 2026-08-11
Fix
- Consent banner buttons size to their content below 640px, instead of stretching and filling half the screen on a phone.
[1.2.2] - 2026-08-11
Feature
- Privacy policy page created automatically — installing the module now provisions the
privacy-policyCMS page the cookie banner links to, with a ready-to-edit GDPR template in French, Dutch or English depending on the store view locale. Existing pages are never overwritten.
Fix
- Leaving the Privacy Policy URL setting empty no longer produces a banner link pointing to the home page.
[1.2.0] - 2026-08-10
Feature
- Deletion requests sent from the customer privacy area now have their own admin grid — until now they were recorded but invisible from the back-office.
- Requests are processed directly from the grid: mark as processing, completed or rejected, one by one or in bulk, with the processing date stamped automatically. A closed request can be reopened.
Admin
- New Marketing → GDPR → Deletion Requests screen: filters on every field, CSV/XML export, and a one-click link from a request to the matching customer account.
- Two permissions under System → Permissions → User Roles: viewing the requests and changing their status are granted separately, so a role can consult without being able to close.
[1.1.10] - 2026-06-29
Deps
- PHP 8.5 certified — constraint widened to
>=8.1 <8.6for Mage-OS 3.x / Magento 2.4.9.
[1.1.9] - 2026-06-05
Deps
- Marketing documentation refreshed to list PHP 8.4 in the supported PHP range.
[1.1.8] - 2026-06-05
Deps
- PHP 8.4 certified — constraint widened to
>=8.1 <8.5. magento/frameworkpinned to^103.0.
[1.1.7] - 2026-05-12
Admin
- Admin dashboard widget code extracted to companion module
wimakeit/module-gdpr-admin-dashboard. The main module is now installable on stores that don't usewimakeit/module-admin-dashboard.
Deps
- To keep the GDPR compliance widget on the admin dashboard, install
wimakeit/module-gdpr-admin-dashboardalongside this module.
[1.1.6] - 2026-05-10
Feature
- New Enable Debug Logging toggle (Stores → Configuration → Wimakeit → GDPR → General), off by default. Delete-request controller and country resolver emit
info/debug/notice/warningonly when the toggle is on;error/criticalalways log.
Perf
- Production stores stop emitting trace lines from the consent/delete flows into
var/log/system.logonce the toggle is left off.
Deps
- Requires
wimakeit/module-core3.0.9+ for the shared debug logger virtual type.
[1.1.5] - 2026-05-08
Admin
- New Wimakeit → GDPR → Settings menu shortcut that opens directly on the
wimakeit_gdprconfiguration section. The rich GDPR menu under Marketing is preserved. - New
Wimakeit_Gdpr::configACL resource so the Settings entry can be granted independently of code edits.
[1.1.4] - 2026-04-29
Deps
- Certified PHP 8.1 → 8.3 support. Composer
phpconstraint tightened to>=8.1 <8.4.
[1.1.3] - 2026-04-21
Fix
- Banner no longer throws
Alpine Expression Error: wmGdprConsent is not definedon Luma whendeferand dynamic Alpine injection raced.cookie-consent.jsis now loaded synchronously so the global is defined before Alpine evaluatesx-data.
[1.1.2] - 2026-04-21
Feature
- Self-registering admin dashboard widget — when
wimakeit/module-admin-dashboardis installed, the GDPR module exposes a compliance-status widget without any glue code.
Admin
- Internal release pipeline standardized (validate, tag, deploy, release stages).
[1.1.1] - 2026-04-20
Fix
- Settings-button icon no longer rendered at 0×0 on Luma themes that leak global button padding — explicit inner SVG size and reset padding restore the icon.
- Banner action buttons (
Accept all/Reject all/Save preferences) now share a uniform height/border-radius andflex: 1 1 140px, so long French labels like "Enregistrer mes choix" no longer spill past the border. - Dark-mode settings-button stroke recoloured from
#888to#cccfor legible contrast on the dark banner background.
[1.1.0] - 2026-04-20
Feature
- Alpine.js is now bundled for Luma themes (Alpine v3.14.8 standalone). Hyvä and Breeze keep using their own Alpine since they already load it. The banner injects Alpine before
cookie-consent.jswhenwindow.Alpineis missing, sox-data/x-cloak/:classdirectives actually process. - Banner texts are now translated. Admin defaults (
Accept all,Reject all, banner title and description) are piped through__()so the FR/EN/NLi18n/*.csvtranslations apply. - Cookie list filters to actually-present cookies. The banner renders only cookies actually set in
document.cookie(wildcard match) instead of every cookie declared in the registry.
[1.0.1] - 2026-04-14
Admin
- Cron and config classes migrated to the shared
AbstractCron/AbstractConfigbases fromwimakeit/module-core— consistent logging and typed getters across all Wimakeit modules. - Composer/Satis distribution archives now exclude internal files (
.gitlab-ci.yml,.claude/,docs/,.gitattributes).
Deps
- Depends on
wimakeit/module-corefor shared cron and config abstractions.
[1.0.0] - 2026-04-13
Feature
- Initial release of Wimakeit GDPR — cookie consent and privacy module for Magento 2 / Mage-OS.
- Cookie consent banner powered by Alpine.js, compatible with Luma, Breeze and Hyvä.
- Admin consent log grid with CSV export — every accept/reject/save is recorded with timestamp, IP (hashed), user-agent and cookie choices.
- Customer privacy page — data export and account-deletion request flow, ready for the "right to be forgotten" and "right to data portability" obligations.
- GeoIP country detection drives consent rules (e.g. apply EU consent flow only to EU visitors).
- Cron purge of old consent log entries based on a configurable retention period.
- Built-in translations for French, English and Dutch (
fr_FR,en_US,nl_NL).
Een bug gevonden? Laat het ons weten.
Een kort formulier opent in een nieuw tabblad — de modulenaam en uw taal zijn al ingevuld. Beschrijf wat u probeerde, wat misging, en wij komen binnen één werkdag bij u terug.
Een bug melden voor GDPRHulp nodig?
Ons team helpt u graag met de integratie.