Hotjar: setup and help
Quick start
- Upload the
mprhotjarZIP through Modules > Module Manager > Upload a module. - Click Configure to open Hotjar Settings.
- Enter your numeric Site ID from your existing Hotjar site.
- Review Exclude employee browsing and Respect analytics consent.
- Set Enable Hotjar to Yes, keep the standard event switches you need enabled, and save.
- Check the readiness table, open the storefront in a customer browser and grant analytics consent through your configured consent tool.
- Confirm the Hotjar script request and a name-only
product_viewevent, then check the session in Hotjar.
Requires PrestaShop 1.6 or later and PHP 7.1 or later.
Setup manual
Install and configure
Follow the steps in Quick start.
Hotjar Settings
Open Configure from Module Manager. Tracking starts disabled. Create your site in Hotjar before entering its Site ID.
| Setting | Default | What you configure |
|---|---|---|
| Enable Hotjar | No | Enable browser loading and event delivery. |
| Site ID | Empty | Enter the numeric Hotjar site identifier. |
| Exclude employee browsing | Yes | Hold tracking for staff-marked browsers. The manual mpr_notrack=1 opt-out also applies. |
| Respect analytics consent | Yes | Require a positive analytics consent decision. Unknown consent holds tracking. |
| Persist consent withdrawal | No | Enable private persistence of authenticated withdrawals. |
The module checks consent before sending. It supports Cookies Revolution, Cookie Banner, Cookiebot, OneTrust and TCF. Configure the relevant category and service decisions in your consent tool and test them. Without an explicit decision, tracking stays held. A supported CMP detected by the module still applies if you turn off the module's consent switch.
Hotjar events
Every switch below defaults to Yes. Turn off the events you do not want to send.
| Setting | What triggers the event |
|---|---|
| Track page_view event | page_view on a tracked storefront page. |
| Track product_view | product_view on a product page. |
| Track category views | category_view on a category page. |
| Track add_to_cart | add_to_cart after a confirmed successful quantity increase. |
| Track add_to_wishlist | add_to_wishlist from a supported wishlist success notification. |
| Track checkout_start | checkout_start on detected native or module checkout entry pages. |
| Track search | search on a detected search page. |
| Track purchase | purchase on order confirmation, claimed once per shop, order and destination. |
| Track sign_up | sign_up after account creation through a private visitor context request. |
Hotjar receives event names through hj('event', 'event_name'). It does not receive the product IDs, cart totals, search terms or order details as event properties from this integration.
Contact and product engagement
Track phone-link clicks, Track actual chat starts, Track successful contact forms and Track product engagement default to No. Enable only the signals you can verify. A form event requires a server-confirmed success receipt. A chat event requires a supported actual-start notification.
Use Product engagement thresholds for JSON thresholds and selectors. Defaults are 3 gallery interactions, 1 variant change, 1 detail interaction, or 45 seconds of dwell time. The option throttle defaults to 1500 ms. Threshold bounds are 1 to 20 interactions, 5 to 600 seconds, and 250 to 60000 ms for the throttle. Keep high_intent_product_engagement as the event name. By default, the tracker limits this event to once per product/session when tracking storage is allowed.
Configure custom events
Track custom events defaults to No. Custom event rules starts empty. Add at least one valid rule before enabling the switch.
Use distinct names of up to 250 supported characters: letters, numbers, underscores, spaces, periods, colons, vertical bars, slashes or hyphens. You can configure up to 50 distinct custom names. Built-in commerce and contact names are reserved.
[
{"event":"GalleryBrowse","trigger":"click","selector":".product-cover img"},
{"event":"CheckoutPathViewed","trigger":"url","contains":["/checkout"]},
{"event":"ProductPageViewed","trigger":"controller","controllers":["product"]},
{"event":"SizeGuideOpened","trigger":"event","dom_event":"mprhjar:size-guide"}
]
Use selector for clicks, contains for URL fragments, controllers for controller rules, and dom_event for browser events. A controller rule with modules requires both conditions to match. It is not a module fallback. A DOM-event rule without a name listens to mprhjar:custom. once defaults to false for clicks and true for URL, controller and DOM-event rules.
Dispatch the configured event from your theme:
document.dispatchEvent(new CustomEvent('mprhjar:size-guide'));
The rule sends only SizeGuideOpened. params, labels, form values and DOM-event detail do not become Hotjar event properties.
Verify tracking
Open your storefront outside an excluded staff browser. With analytics consent granted, check the request to https://static.hotjar.com/c/hotjar-SITE_ID.js?sv=6. Open a product and category, search, add a product successfully, register an account and place a test order. Check the enabled event names in browser tooling and your Hotjar account.
Test refusal and withdrawal. Check that another module or theme has not loaded its own Hotjar script. The integration checks destination ownership, staff state, consent and page safety before sending. Heatmaps, recordings and feedback reports stay in Hotjar.
Troubleshoot
If no script loads, check the Site ID, Enable Hotjar, readiness rows, analytics/service consent, local assets and blocked requests. Test in a customer browser. A missing consent decision holds tracking even if no MPR banner is installed.
If a cart event is missing, verify the confirmed cart-success signal. A cart-button click alone does not emit this event. Adapt your custom rules after theme selector changes.
If custom rules fail to save, check JSON, reserved names, name limits and trigger requirements. If a purchase does not repeat on a confirmation reload, its once-per-order claim may already be consumed.
This module sends browser event names. It has no Hotjar server token, retry queue or sending cron worker.
Disable or uninstall
Set Enable Hotjar to No and save to pause tracking while keeping settings. Uninstall through Module Manager to remove its menu and module configuration. Manage previously collected reports in Hotjar.
Reference screenshots
Use the setting names above when a reference screenshot differs from your installed version.




Questions
No questions about this module yet
Ask anything about installation, compatibility or setup. Answers appear here.
Known Issues
6
Recording continues after consent withdrawal
Staff and internal visits enter recordings
Translated back-office text
Module fails on PHP 7.1
Back-office pages failing to open
Compatibility with combined storefront assets
Feature Requests
9
Implemented
Automatic storefront events for Hotjar
Hotjar ecommerce events
Custom Hotjar events
Hotjar setup checks
Multilingual administration
Licence management
One-click module updates
Optional contact and engagement events
Confirmed conversion reporting
Changelog
v1.2.02026-10-19
- AddedHotjar Feedback widget support with configurable button label and colour
- Improvedsnippet loading — async and non-blocking to avoid impact on PageSpeed score
- Fixedduplicate Hotjar snippet when module was active in both head and footer hooks
- Addedsite ID validation on save with live API check
Older releases
v1.1.62026-09-30
- AddedExpand Hotjar event tracking
- Addedcomplete FR/DE/ES/IT/PL translations
v1.4.02026-04-20
- AddedLicense management tab with key management and renewal options
- Addedself-healing integrity checks for automatic diagnostics and repair
- Addedcomplete FR/DE/ES/IT/PL translations
v1.3.02026-01-14
- Addedfull compatibility with PrestaShop 9.x and Hummingbird theme
- AddedHotjar Surveys widget embed option with configurable survey ID and trigger
- Improvedconsent handling — Hotjar tracking deferred until user accepts analytics cookies
- Fixedrecording not capturing events inside dynamically injected cart popups
- Addedper-controller suppression list to exclude back-office pages from tracking
v1.0.02025-11-11
- Initialrelease: Hotjar tracking script injection for PrestaShop
- InitialSimple Site ID configuration — no code editing required
- InitialAutomatic exclusion of admin and employee sessions from recordings
- InitialCompatible with Hotjar heatmaps, session recordings, and feedback tools
v1.1.02025-06-03
- Addedheatmap tag attributes to key CTA buttons for easier Hotjar annotation
- Improvedcompatibility with PS 8.x strict CSP headers
- Fixedsession recording not resuming after back navigation in single-page checkout
- Addedconfigurable script load delay (0–5 s) to prioritise core page resources
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.