Privacy, cookie consent and GDPR
Everything the module learns stays in your shop’s database: no visitor data is sent to an outside service. What it records is light, linked to a number rather than a person (the customer’s number once they log in), waits for cookie consent when your shop asks for it, and can be exported and erased with PrestaShop’s GDPR tools.
What is recorded
| Event | Recorded |
|---|---|
| Product view | When a visitor opens a product page, at most once per product and visitor in 30 minutes. |
| Cart addition | When a visitor adds a product on the storefront. |
| Purchase | One record per product of a validated order, needed to fulfil the contract, so recorded without consent. |
| Impressions and clicks of the blocks | Daily totals per block, without any visitor or product. |
Each record holds the product, the date, the shop and the number PrestaShop gives the customer or the visitor (the customer id, or the visitor id of the shop’s cookie; when PrestaShop has none, a random number of the module’s own cookie). No name, email address, IP address or other personal detail. Search engines and other robots are not recorded. Insights › Recorded data shows the records and deletes them on demand (section 14.4); Keep recorded behaviour for deletes old ones automatically.
When a visitor who accepted logs in or creates an account, what they viewed, added to the cart and clicked in this browser in the last 30 days becomes part of their customer history, and so of their data export and erasure. Older anonymous records stay anonymous.
Cookie consent
With Record behaviour only after cookie consent on (the default) and a consent module active, no view or cart addition is recorded and the module sets no cookie of its own until the visitor accepts. The blocks still show and are personalised from what already exists; their impressions and clicks are counted as totals without any visitor id.
- GDPR Pro is read directly: the module follows the visitor’s choice in GDPR Pro (statistics cookies), and its own entry in GDPR Pro’s list of modules when you add one.
- Any other consent tool needs one line in its script:
window.psairecSetConsent(true)when the visitor accepts statistics cookies, andwindow.psairecSetConsent(false)when they refuse. Without it, behaviour is recorded as if the visitor had accepted. For example with Cookiebot:
window.addEventListener('CookiebotOnConsentReady', function () {
window.psairecSetConsent(Cookiebot.consent.statistics);
});
Visitor tracking and the checklist say whether your consent tool and the module work together (section 15.3).
With Also learn from PrestaShop’s statistics on (Engine, off by default), the engine also reads the product views PrestaShop’s Data mining for statistics module recorded before this module started. PrestaShop records them without asking for consent, so the module uses them only for the lists every visitor sees (“viewed together”, “Trending now”), never for one visitor’s personal picks, and copies nothing.
The module’s cookies
Small cookies. The first three are set per shop and only after consent, and the two lists are signed so they cannot be forged; the last one records the choice itself:
| Cookie | Content | Lifetime |
|---|---|---|
psairec_rv_<shop> | The last 30 products viewed, for “Recently viewed” and a guest’s personal picks | 30 days |
psairec_clk_<shop> | The last 20 recommended products clicked, to link an order to its click | 7 days |
psairec_vid_<shop> | An anonymous visitor number, only when PrestaShop has none | 1 year |
psairec_consent | The visitor’s choice (1 or 0) given by a consent tool through the line of script above | 6 months |
Customer requests (GDPR)
- The module is listed among the compliant modules of PrestaShop’s official GDPR module. When a customer asks for their data, the export includes the products they viewed, added to the cart and bought, the recommended products they clicked, and their sales from recommendations (the order lines bought after a click on a block), with dates.
- This includes what the customer viewed, added and clicked in the same browser in the 30 days before logging in or creating the account, with consent.
- When the GDPR module erases a customer, or you delete a customer in the back office, the module erases their records, personal picks and clicks, in every shop. The sales from recommendations stay with the orders, which PrestaShop keeps.
- Statistics, product pairs and scores are anonymous totals and are kept.
Speed and large shops
The engine does the heavy work once a day; the pages of your shop only look up ready lists, kept in a small table of the module. No Redis or other cache server is needed. These tips matter for busy shops, large catalogues and pages served from a cache.
Pages served from a page cache
When a page cache (LiteSpeed Cache, Page Cache Ultimate, Varnish…) serves your pages, a cached page would show one visitor’s personal picks to every visitor. Switch on Load the blocks after the page in Engine › On the storefront (Advanced): the page stays cached and fast, and the visitor’s browser asks for the blocks right after it. The checklist reminds you when it finds a page cache module (section 13.1).
The blocks of Next to Add to cart and the Add-to-cart pop-up are always part of the page, so they show at once.
The daily rebuild
- The automatic rebuild runs after a visitor’s page has been sent, so the visitor does not wait. On hosting that cannot finish the page first, one visitor a day may wait: set up the cron job instead (section 15.2) and switch Rebuild automatically off.
- On a shop with many orders, run the cron job at night. A rebuild that does not finish in its time continues at the next one.
- A shorter Order history and Browsing history make the rebuild faster; a higher Minimum shared orders keeps only strong pairs.
Computed lists
- Reuse computed lists keeps each list for 60 minutes by default. A block can have its own duration (Reuse the list for, in the block’s Advanced settings).
- Personal lists, made for one visitor, are never reused for another.
- After changing rules or exclusions, Clear cached lists shows the change at once.
Blocks
- Show only the blocks that sell: the results per block (section 12.4) and A/B tests (chapter 11) tell you which.
- The number of products of a block has little cost; the products are presented in one go, like PrestaShop’s own product lists.
- If another module already shows similar product blocks on the same pages, hide theirs or yours: two similar lists cost speed and confuse customers (the checklist finds them).
Troubleshooting and FAQ
Start with Checklist: it checks the most common causes live and opens the place to fix them. The answers below cover what it cannot see.
A block does not show on my shop
- In Blocks, check that the block is switched on, and in Engine that Show recommendation blocks is on.
- Click See it on my shop: the page points at the block, or a note says why it is missing (off, no products for this page, no place in your theme).
- If your theme has no place for it (red on the dashboard map), choose another place or add a widget tag (section 6.8).
- Next to Add to cart shows, by default, only for products that cannot be ordered: that is expected on products in stock.
- The cart, pop-up and order confirmation blocks need a cart or an order: check them with How it looks in my theme.
- Clear PrestaShop’s cache (Advanced Parameters › Performance) if your theme’s templates were changed.
The blocks show the same products everywhere
On a new shop or a product without orders, the strategies find few products and the blocks are completed with trending products and best sellers. It improves with every order and visit. Meanwhile: check that tracking is on, try a longer Order history, use Similar products on product pages (it needs only your catalogue), and look at the Explorer to see what each strategy finds (section 14.1).
Visitor data stays at zero
- Record visitor behaviour must be on in Visitor tracking.
- With a consent module, views are recorded only after a visitor accepts cookies: test with a browser where you accepted them.
- A consent tool other than GDPR Pro needs its line of script (section 17.2).
- Robots and test tools are not recorded: “headless” browsers and monitoring services count as robots.
The results show no orders
An order counts when it contains a product clicked in a block during the 7 days before. It needs a click first (impressions alone do not count), the visitor’s consent when your shop asks for it, and a validated order. Orders paid later, when the payment provider confirms them, are counted when they are validated.
The recommendations are not rebuilt every day
The checklist says why. On hosting that cannot finish the page before rebuilding, set up the cron job (section 15.2). Test the cron link now in Get started step 3 calls the address once and says whether it answers. If the address answers “invalid token”, copy the line again from Engine (the token changes with Regenerate token).
Other questions
Does the module send data anywhere?
No. The engine runs in your shop. Only the optional Python service, which you install yourself, reads your shop’s database.
Will it slow my shop down?
The pages only look up ready lists, kept for a while. Behind a page cache, load the blocks after the page (chapter 18).
Can I keep a product out of every block?
Yes: Never recommend these products or Never recommend these categories in Rules.
Can I choose the products of a block myself?
Partly: Always show first pins a product, Complementary category recommends a category first, Rank higher or lower moves products, brands or categories (chapter 10).
A test or a preview shows other products than my shop. Why?
The live preview uses the product under On the page of and the customer under Seen by; your shop shows each visitor their own. A running A/B test also shows variant B to part of your visitors.
What happens when I uninstall the module?
Its tables and settings are deleted; your orders, products and customers are not touched (section 3.3).
Where are errors written?
In Advanced Parameters › Logs. The storefront never shows an error of the module: a block that fails is simply not shown.
Support
PrestaChamps develops and supports this module. We answer through the messaging of PrestaShop Addons, where you bought it.
Before you write
- Open Checklist and follow the hints of any line that warns.
- Read chapter 19.
- Look at Advanced Parameters › Logs for the lines of the module (object type “Psairec”).
Contact us
- Sign in to your account on addons.prestashop.com.
- Open your order of AI Product Recommender and use the contact form to write to the developer. The module’s own help (Help › How it works › Support) gives our email address too.
- Tell us, so we can help at once:
- your PrestaShop version, PHP version and theme;
- the module version (shown in the Module Manager);
- a screenshot of Checklist;
- the address of the page concerned, what you expected and what happens instead;
- the matching lines of Advanced Parameters › Logs, if any.
Updates
New versions appear in your PrestaShop Addons account. Install them as described in section 3.2: your blocks, styles, rules, tests and recorded data are kept. Each version lists its changes in the module’s changelog.
Thank you for choosing a PrestaChamps module.