PrestaShop-{hash}PS 1.7 shop sessionps-{hash}PS 1.7+ / 8.x sessionPHPSESSIDserver-side PHP sessioncheckout, cartcart and checkoutcustomer_idcustomer loginiqitcookielaw_*IQIT modules compatibility
A compliant PrestaShop shop
in 5 minutes, no theme edits.
PS cookies (session, cart, customer login) classified as necessary — banner only asks about analytics and remarketing. Works from PS 1.7.6 onward, including 8.x and 9.x.
What the banner doesn't ask about vs asks about
_ga, _ga_*GA4 enhanced ecommerce_gcl_*, IDEGoogle Ads + remarketing_fbp, frMeta Pixel_hjSessionUser_*Hotjar recordings_clck, _clskMicrosoft Claritycebs, cebsp_3rd-party email-marketing modules
Download the module
Sign up at cjakciasteczko.pl, add your shop's domain, grab cjakciasteczko-prestashop.zip from the Integrations panel. ~4 KB — the lightest of our plugins.
PrestaShop
v1.0.0CJakCiasteczko PrestaShop module. Shop cookies auto-necessary.
Upload in PS admin
Modules → Module Manager → Upload module → pick the .zip → Install. Standard PS flow, also works on Multistore.
Configure the key
Click Configure on the module card. Paste the install key from the CJakCiasteczko panel. Save and verify — the module checks the key against our API.
Shop compliant
Open a product in incognito. Banner appears once. After Accept — GA4, Ads, Pixel start firing. After Only necessary — shop works, analytics is silent.
GA4, Meta Pixel, Google Ads want to know what you bought. Without consent the shop still works — cart and checkout are always available.
From a real PrestaShop shop
“PS 8.1, 4 shops in one install. The module works per-Multistore — each shop has its own key, its own banner config in the panel. The regulator audit came back green.”
PrestaShop Multistore — different keys per shop
PS Multistore lets you run several shops (different domains, languages, currencies) in one install. Each shop usually has its own CJakCiasteczko account, its own banner config — the module respects PS scope-context.
Per-shop configuration
In PS admin, before opening the module config, pick the shop_id from the dropdown in the top-left (Multistore tree). The key is saved only for that shop — others are independent. The CJC_API_KEY field in the PS Configuration table has a non-zero id_shop column for per-shop entries.
Shared key for a shop group
If all your PS Multistore shops are the same brand under different domains and you want ONE CJakCiasteczko dashboard — pick “All shops” before configuration, the key saves globally. Backend handles multiple domains under one key (each domain = its own record, but same customer/billing).
PS 1.7 → 8.x → 9.x migration
On PS upgrade the module stays, the key stays. The displayHeader hook works identically from 1.7 to 9.x. Only gotcha: at major upgrades you sometimes need to manually clear the modules cache (Advanced → Performance → Clear cache).
Compatibility with popular Polish modules
The Polish PrestaShop scene has its must-haves. We checked the most common conflicts with existing cookie logic.
IQIT modules (warhouse, megamenu, theme)
Cookies iqitcookielaw_* set by the older IQIT cookie law module. After installing ours — disable IQIT cookie law (Modules → Manager → IQIT Cookie Law → Disable). Other IQIT modules (megamenu, warhouse layout) stay active and don't conflict.
JMS theme + jms_*
JMS themes often enable their own cookie banner in theme options. Disable in the theme panel (Design → Theme settings → Cookies → Off). Our banner replaces it natively, with no CSS conflict against the JMS one.
PrestaShop Marketing with Google
PS's official module (PS 8+) integrating GA4 / Ads / Merchant Center. Works perfectly with our banner — Marketing with Google waits for gtag('consent', 'update', ...), we send it after Accept. GA4 enhanced ecommerce conversions start firing immediately on consent.
Smarty cache + theme override
PS 8+ caches hook outputs in Smarty. After changing config in our module, the displayHeader hook regenerates on next page load (disable cache in debug mode if you don't see changes). Themes with heavy header.tpl overrides need to keep the {$HOOK_HEADER} placeholder — without it our banner won't inject.
FAQ — PrestaShop
Does the module work with TCF v2 / IAB framework?
Not directly. We implement Google Consent Mode v2, which is the standard for GA4 + Google Ads. TCF v2 is an IAB requirement for Ad Exchange / SSP advertising networks. 95% of Polish PS shops don't need TCF — GCM v2 is enough. If you sell ad inventory through Google Ad Manager / Xandr / Magnite, let us know — we'll add a CMP-style TCF wrapper.
A theme override broke the banner — what to do?
Check header.tpl in your theme — it must contain {$HOOK_HEADER nofilter}. Some themes remove it in favour of a custom hardcoded asset list — that blocks our hookDisplayHeader. Add it back, or use a different hook (modules/cjakciasteczko/cjakciasteczko.php → registerHook('displayBeforeBodyClosingTag') as a fallback).
I have an old cookie consent module — can I disable it?
Yes, but in this order: 1) install ours, 2) verify our banner shows, 3) disable the old module. Keeping that order prevents the case where no banner shows at all (regulator audit at startup).
Smarty caches the old banner after I change config in the CJakCiasteczko panel
Banner config (colors, layout, copy) is fetched by the customer's browser from our API with a 60s cache in visitor localStorage. PS Smarty cache doesn't matter — banner config lives on the script side, not in the PS template. Your change in the CJakCiasteczko panel propagates to your visitors in 1 minute. Clear PS cache only when you change something on the module side (e.g. the key).
Multistore + a separate key for each domain in the CJakCiasteczko panel?
Set up 3 domains in the panel (one per PS shop), generate 3 keys. Enter each key per shop_id in PS admin (first pick the shop from the Multistore tree, then open Configure). Each shop gets its own audit log and its own banner config.
5 minutes to a GDPR-compliant PS shop.
30 days free, no card. Works from PrestaShop 1.7.6 + PHP 7.4.