Cookies Revolution: setup and help
Quick start
- Disable the other active mprcookiebanner module if present. Upload the Cookies Revolution ZIP in Modules > Module Manager and install it.
- Open Cookies Revolution > Design. Choose Blocking Mode, starting with Soft block, and review Banner Layout.
- Open Cookie Categories, Services and Cookies. Check the purposes, required category and optional service assignments.
- Open Script Blocking. Review active patterns and keep essential checkout, login and cart scripts outside optional rules.
- Open Settings > Configuration. Review Cookie Expiry, Re-consent after, Enable GCM v2 and Enable Consent Logging.
- Run Cookie Scanner, categorize pending entries and use Create cookie policy page or enter Custom Policy URL (overrides CMS).
- Translate the Design text, save, then test Accept All, Reject All and selected preferences in a fresh browser. Verify the corresponding script requests and consent log.
Requires PrestaShop 1.6 or later and PHP 7.1 or later.
Setup manual
Install and configure
Follow the steps in Quick start.
Choose the blocking behavior
If mprcookiebanner is already installed and enabled, disable or uninstall it before installing Cookies Revolution. The installer rejects installation while that other module is active.
Open Cookies Revolution > Design and set Blocking Mode before configuring individual rules.
| Blocking Mode | Default | Storefront behavior |
|---|---|---|
| Soft block | Selected | Leaves the page usable and denies optional consent before a choice. Uses the Script blocking engine setting. |
| Hard block | No | Requires a choice, forces script blocking and a blocking overlay, and ignores the close-button setting. |
| No block | No | Releases scripts before consent. Google Consent Mode still waits for a validated mapped decision. |
In Settings > Configuration > General, Require a cookie choice before using the page defaults to off. Turn it on to block background clicks, keyboard focus and scrolling until the visitor accepts, rejects or saves preferences. It hides the banner close button. It does not itself change the script engine or Consent Mode settings. Hard block always requires a choice.
Keep cart, login, payment and security scripts outside optional blocking rules. Add or tighten rules only after checking the corresponding storefront flow.
Configure general settings
Open Cookies Revolution > Settings > Configuration. The English field labels and fresh-install defaults are:
General
| Setting | Default | When to change it |
|---|---|---|
| Enable Module | On | Switch off to stop the module's consent output. |
| Require a cookie choice before using the page | Off | Require an explicit choice before page interaction, subject to legal-page exceptions. |
| Cookie Expiry | 365 days | Change how long browser consent cookies persist. |
| Re-consent after | 0 days | Set a positive interval to expire decisions by age. Zero disables this age check. |
| Re-consent on cookie list change | On | Ask for a new decision when the stored consent contract version no longer matches. |
Re-consent after now uses the decision timestamp. A missing, invalid or future timestamp does not satisfy a configured age check. The consent version is an internal eight-character hash covering active categories, registered storage entries, rules, services, Consent Mode ownership and relevant integration bindings. It is generated by the module, not entered manually.
Google Consent Mode
| Setting | Default | When to change it |
|---|---|---|
| Enable GCM v2 | On | Enable Google consent defaults and updates. |
| wait_for_update | 500 ms | Adjust the wait value used by Google consent initialization. |
| Google URL passthrough | Off | Enable only when you need Google URL passthrough. It appends _gl to internal links/forms for visitors without consent and affects page caching. |
Default Google signals deny optional storage and grant security_storage. Updates follow the validated category and service mappings. Google consent signals do not by themselves replace script blocking rules.
Consent Logging
Enable Consent Logging defaults to on. Log Retention defaults to 365 days. Use Purge old consent logs to remove entries older than that retention period. Do not assume that entering a retention number schedules automatic purging.
Open Consent Log to review saved decisions or export CSV. Records include visitor, IP and user-agent hashes, category/service choices, consent version, source and date. CSV also includes a country_code column, which stays empty.
Cookie Policy Page
Auto-Update CMS Page defaults to on. Policy content requires manual updates regardless of this setting. After changing the catalog, use Create cookie policy page or Update cookie policy page manually.
Custom Policy URL (overrides CMS) is empty by default and is multilingual. Enter your own policy URL to replace the generated page link. The generated CMS page ID starts at 0 and is stored internally when you create it.
Legal pages readable before a choice is empty by default. Enter comma-separated CMS page IDs for other pages that should remain readable without the consent wall. The policy page is handled as a legal-page exception too.
Vendor integrations
| Setting | Default | How to configure it |
|---|---|---|
| Clerk.io | Automatic | Activate automatically with the Clerk module, or choose On/Off. |
| Clerk.io visitor tracking needs | marketing | Choose the optional category required for persistent visitor identification. |
| Clerk.io email pickup needs | marketing | Choose the optional category required for Clerk email pickup. |
| Clerk.io visitor tracking service | Category only (no service) | Optionally bind this purpose to an active service in the selected category. |
| Clerk.io email pickup service | Category only (no service) | Optionally bind email pickup to an active service in its selected category. |
Without the corresponding consent, the adapter withholds visitor identification and email pickup. Search and recommendations remain available; anonymous page views can still reach Clerk. A selected service must be active, belong to this shop and match the category selected for that purpose.
Advanced
Legacy default consent override defaults to denied. Its choices retain legacy opt-in/opt-out labels, but current Hard and Soft modes deny optional categories by default. No block releases scripts while Google signals still require a validated decision. Use Blocking Mode as the primary control.
Script blocking engine defaults to on. Hard block forces it on; Soft block uses its stored value; No block forces it off.
Before generating the policy, review the active category descriptions and the registered cookie names, providers, purposes and durations in Cookie Categories and Cookies. The generator uses this inventory to build a table for each active category.
Use Create cookie policy page in the settings form, then inspect the generated CMS page in each shop language. The generator creates a content entry for every language, using that language's category and cookie text; its introductory text and table headings are fixed English strings in this version. Review and edit the resulting wording before relying on it.
After inventory changes, use Update cookie policy page manually. This replaces generated content across the page's languages and only updates the page recorded as created by this module. A separately chosen shop policy page is not overwritten by this action.
Add script blocking rules
Open Script Blocking and add a rule with Category, optional Service, Rule Type, Pattern (Regex), Description, Excluded controllers and Active. The available types match external script URLs, inline script content or iframe URLs.
For an analytics script URL:
Category: Analytics & Performance
Rule Type: URL Pattern (matches script src)
Pattern (Regex): googletagmanager\.com/gtag/js
Description: Google gtag.js
Active: Yes
For inline marketing code:
Category: Marketing & Advertising
Rule Type: Script Content (matches inline code)
Pattern (Regex): fbq\s*\(
Description: Inline Facebook Pixel
Active: Yes
The installed rules include common Google, Clarity, Hotjar, Meta, TikTok, Bing, LinkedIn and chat patterns. Check them against your actual tags. Use Excluded controllers when a rule must not apply on particular controllers, then verify those pages separately.
Matching scripts are held inert until their category or service is allowed. The rewriting uses attributes such as data-cookiecategory, data-original-src and an inert script type. Client-side guards also handle matching scripts added later. These mechanisms cannot reverse code that has already executed.
Scan the shop
Open Cookie Scanner, run a scan and categorize pending cookies. Automatic Cookie Scanning is installed on with a 24-hour Scan Interval. The automatic scan is triggered from admin page loads when due. Use the scanner screen to manage scans; Configuration has no Scanner tab.
The scanner uses HTTP requests and detects Set-Cookie headers plus simple literal document.cookie assignments in returned HTML. It does not execute a browser session. Review cookies created after interaction, after consent or inside third-party code manually. The PHP cURL extension is needed for those scan requests.
Verify consent and integrate custom links
Test with a fresh browser profile, then test as a returning visitor. Check all three decision paths: Accept All, Reject All and saving selected preferences. Confirm optional requests are blocked before consent under your chosen mode and rules, and allowed after the relevant category/service is enabled. Check cart, checkout and login at each stage.
The browser uses mprcr_consent, mprcr_version and additional timestamp/service state. A category cookie can look like:
mprcr_consent=necessary:1|functional:0|analytics:1|marketing:0
mprcr_version=1a2b3c4d
Use the public API rather than editing those cookies by hand:
if (window.MPRCR && window.MPRCR.isGranted('analytics')) {
loadAnalyticsCode();
}
document.addEventListener('mprcr:consent', function (event) {
if (event.detail && event.detail.analytics) {
loadAnalyticsCode();
}
});
Implement loadAnalyticsCode() in your integration and make it idempotent so repeated consent events do not load it twice. Visitors can reopen preferences through the floating button, the account Cookie Settings link or a custom link calling window.MPRCR.showPreferences().
For custom markup, call the API from your own click handler after preventing the link's default navigation. You can also use these CSS hooks in Custom CSS:
.mprcr-banner__inner { max-width: 980px; margin: 0 auto; }
.mprcr-category__desc { line-height: 1.6; }
.mprcr-floating { box-shadow: 0 4px 14px rgba(0,0,0,.2); }
Troubleshoot
- If a tag runs before a decision, check Blocking Mode, Script blocking engine, the rule pattern, Active, category/service assignment and excluded controllers. A cookie catalog entry alone is insufficient.
- If a store function stops, review rules that match essential scripts and test a narrower pattern.
- If a returning visitor sees the banner again, check the contract version, Re-consent after and browser cookie persistence.
- If a revoked tag leaves cookies, confirm those names and storage types are registered. Cleanup attempts cannot remove inaccessible HTTP-only or third-party storage or undo executed code.
- If generated policy content is stale, run Update cookie policy page manually. Check Custom Policy URL if the wrong policy opens.
- If consent log export has blank country values, that matches the current logger. If logs are absent, check Enable Consent Logging and the browser consent-save request.
- If cached pages show old categories or design, clear the shop and page caches and run the module Integrity checks. Retest in a fresh browser context.
Disable or uninstall
Use Enable Module or Module Manager disable to stop output while retaining configuration. Back up consent records and your generated policy content before uninstalling. Uninstall removes module configuration, admin pages and declared schema, and calls deletion of the generated policy page. Review any custom policy URL separately. Update custom theme links that call the module API after removal.
Reference screenshots




Questions
1
Can I configure different Google Consent Mode defaults by country?
No. Lightweight Cookie Banner has one global default. When it owns Consent Mode output, it uses a valid saved choice first, otherwise your configured default. Accept grants the four ads and analytics states; Deny or close denies them. Functionality, personalization and security_storage start granted.
Known Issues
31
Phone banner actions were cramped
Outdated preference saves accepted stale consent
Early preference saves lost visitor choices
Early banner taps were ignored
Required consent switches looked optional
Known cookie patterns reported as new discoveries
Accept All did not match the shop theme
Interrupted system-cookie setup stayed incomplete
Saved cookie patterns or merchant text changed unexpectedly
Saved cookie changes left stale consent output
Cookie administration forms failed to open
Security hardening
PHP 7.1 compatibility
Google Ads click cookie missing from defaults
Service reconciliation replaced shop provider names
Consent logs missed the consent version
Language-specific consent text showed English
Preferences could not always be changed or withdrawn
Phone preferences did not fit the screen
Required consent blocked the privacy policy
Compatibility errors with other installed modules
Repeated consent checks purged page caches too often
Consent changes did not remove denied cookies reliably
Cached pages used incorrect consent defaults
Cookie policy links used the wrong language
Missing or incorrect translations
Legacy cookie settings were not migrated
Stray characters appeared beside the consent wall
Cookie administration filters did not work correctly
Cookie overlay blocked page interaction
Google Analytics still fires before consent is given
The GA4 script executes before the cookie consent is checked because it's loaded via Google Tag Manager which initializes independently.
Resolution note
Added GTM consent mode v2 integration that blocks all tags until consent is granted.
Feature Requests
21
Implemented
Consent controls for individual services
Consent-based blocking of third-party scripts
Additional banner layouts
Consent wall and close-button options
Google consent options
Automatic cookie scanning
Cookie preference links
Theme-aware banner design
Installation checks and repair
Updates from the back office
Advanced Google Consent Mode v2
Discreet Cookie Settings footer link
Per-service consent
Browser storage cleanup on withdrawal
Iframe consent placeholders
Page exceptions for script rules
Consent actions within banner text
Scrollable required-choice layout
Legal-page banner layout
Optional Google URL passthrough
Policy and consent-log settings actions
Changelog
v1.7.162026-05-27
- Addedcomplete FR/DE/ES/IT/PL translations
- ImprovedDefer consent banner UI to human interaction via <template> tag
- FixedMake cookie seed data idempotent
- FixedSupport localized cookie policy links
- FixedVendor compat package as files
- FixedMigrate legacy cookie configuration
Older releases
v1.4.02026-03-14
- AddedAutomatic cookie scanning with admin alerts
- AddedEnhanced Conversions, Google Signals, region-specific consent defaults
- AddedAdd Accept All option for close button action
- AddedConfigurable close button action (reject vs dismiss)
- Addedself-healing integrity checks for automatic diagnostics and repair
- Addedautomatic theme detection for Classic and Hummingbird style compatibility
- Addedadmin menu management via MenuInstaller for streamlined module setup
- AddedLicense management tab with key management and renewal options
- Addedcomplete FR/DE/ES/IT/PL translations
- Improvedadmin list columns with visual badge indicators and multiselect filters
- Improvedsettings form organization with tabbed layout
- FixedRemove ?v= from CSS registerStylesheet to allow CCC combining
- FixedCookie overlay no longer blocks page interaction
- FixedRemove btn-close-white filter that inverted inline SVG to black
- Fixedvarious stability and compatibility improvements (8 fixes total)
- Fixedadmin list filters — sorting, searching, and filtering now work correctly on all columns
v1.0.02026-03-05
- Initialrelease of MPR Cookies Revolution
- InitialGDPR and CCPA compliant consent management platform
- InitialCategory-based consent: essential, analytics, marketing, and functional categories
- InitialGoogle Consent Mode v2 signals dispatched to GTM before any tracking script fires
- InitialCustomizable banner design: color scheme, position, and button label configuration
v1.3.02026-01-13
- AddedPrestaShop 9 and Hummingbird theme compatibility
- AddedIAB TCF 2.2 consent string generation for programmatic advertising compliance
- Improvedscript blocking engine to correctly handle dynamically injected third-party scripts
- Fixedconsent log export failing when the log table exceeds 100,000 rows
- Optimized consent banner rendering to eliminate Cumulative Layout Shift on initial page load
v1.2.02025-07-22
- Addedgranular consent category management splitting Analytics, Marketing, and Functional
- Addedconfigurable consent expiry period per category
- ImprovedGoogle Consent Mode v2 integration with all seven consent signal types supported
- Fixedre-consent banner not shown to returning visitors after policy version is bumped
- Addedconsent wall option to block page content until the user makes a consent choice
v1.1.02025-04-17
- Addedtrue script blocking: third-party scripts wrapped and executed only after consent
- Addedconsent log recording timestamp, hashed IP, and full consent choices for GDPR audit
- ImprovedUI with expandable category detail panels and vendor list per category
- Fixedconsent preferences not correctly restored after browser restart
Demo
Test the full module before you buy
Buy a licence later and keep your settings.
- Your 30-day demo Test it on your own shop for 30 days from the first install.
- Ready demo shop Explore a ready demo shop in your browser.
- No registration No account, email or store domain needed.
By downloading, you accept the demo terms and privacy policy.
By opening this demo you accept the demo terms and the privacy policy.