Hotjar: setup and help

Quick start

  1. Upload the mprhotjar ZIP through Modules > Module Manager > Upload a module.
  2. Click Configure to open Hotjar Settings.
  3. Enter your numeric Site ID from your existing Hotjar site.
  4. Review Exclude employee browsing and Respect analytics consent.
  5. Set Enable Hotjar to Yes, keep the standard event switches you need enabled, and save.
  6. Check the readiness table, open the storefront in a customer browser and grant analytics consent through your configured consent tool.
  7. Confirm the Hotjar script request and a name-only product_view event, 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.

Hotjar, Hotjar product action events

Hotjar, Hotjar purchase event monitor

Hotjar, Storefront source hotjar snippet

Hotjar, Admin hotjar custom events

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

ResolvedUpdated:
Fixed in: 1.2.0
Recording and events could continue after a change in analytics consent. Current consent now controls recording and events, and withdrawal stops further recording.

Staff and internal visits enter recordings

ResolvedUpdated:
Fixed in: 1.2.0
Staff and internal visits could be recorded when pages were served from cache. These visits are now excluded.

Translated back-office text

ResolvedUpdated:
Fixed in: 1.2.0
Some back-office text remained in English even when another language was selected. Labels now use the available translations.

Module fails on PHP 7.1

ResolvedUpdated:
Fixed in: 1.1.8
The module could fail to load on shops running PHP 7.1. Compatibility with the supported PHP version has been restored.

Back-office pages failing to open

ResolvedUpdated:
Fixed in: 1.1.7
Opening the module configuration could fail with an error instead of showing the settings. The settings pages now open correctly.

Compatibility with combined storefront assets

ResolvedUpdated:
Fixed in: 1.1.7
The module scripts or styles could be left out of PrestaShop asset combining. They now work with the shop performance settings.

Feature Requests

9

Implemented

Automatic storefront events for Hotjar

Implemented
Sends enabled page, product, category, checkout, purchase, search, wishlist and registration events through Hotjar Events API. Event switches and custom event rules are configured in the module settings.

Hotjar ecommerce events

Implemented
Send product, category, cart, wishlist, checkout, search, purchase and signup events to Hotjar, with individual switches for each event type.

Custom Hotjar events

Implemented
Define additional Hotjar events for storefront interactions.

Hotjar setup checks

Implemented
See missing or invalid Site ID and custom event settings before enabling tracking.

Multilingual administration

Implemented
Use translated Hotjar settings in German, French, Spanish, Italian and Polish.

Licence management

Implemented
View and manage the module licence from a dedicated back-office page.

One-click module updates

Implemented
Check for and install module updates from the back office.

Optional contact and engagement events

Implemented
Optionally record phone, chat, contact-form and engagement events. These additional signals are disabled by default.

Confirmed conversion reporting

Implemented
Report confirmed cart and wishlist actions and check purchases for prior reporting before sending another event.

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.
Launch demo shop

By downloading, you accept the demo terms and privacy policy.

By opening this demo you accept the demo terms and the privacy policy.

Loading...
Back to top