PS PrestaShop Beginner

DataFirefly Verified Reviews: documentation

Install, configure and run the verified reviews module: automatic requests, CRON, AI summary, rich snippets, moderation and CSV import.

Updated Module version 1.1.0

Requirements and installation

DataFirefly Verified Reviews runs on PrestaShop 8.0 to 9.0 with PHP 8.0 to 8.4. Since version 1.1.0, a single ZIP covers both branches: there is no PS 8 build and PS 9 build to pick from at download time.

  1. In your back office, open Modules → Module Manager and click Upload a module.
  2. Drop in the dfreviews.zip file downloaded from your DataFirefly account.
  3. Click Configure once the installation is complete.

Installation creates six dedicated tables (reviews, media, requests, helpful votes, AI summaries, statistics) and adds a Verified Reviews tab under the Catalog menu. That tab is where you moderate reviews; the configuration screen stays available from the module manager.

If a first installation attempt failed, simply run it again: since 1.1.0 the admin tab is created idempotently and will not be duplicated.

Setting up the review request trigger

This is the core of the module. Two settings, in the General settings section:

  • Trigger after status: Shipped (default) or Delivered. Pick the one that, in your real workflow, means the customer has the product in hand.
  • Delay before sending: 3 days by default. Allow for delivery time plus a few days of actual use. For a product judged over time (cosmetics, mattresses), raise it to 10 or 15 days.

When an order reaches the chosen status, a request is queued with its calculated send date. It is not sent immediately: the CRON handles that.

Setting up the CRON

Without a CRON, no email goes out. The URL to call is shown at the top of the module configuration screen; it contains a unique token generated at install time. Schedule it every hour with your host:

0 * * * * wget -q -O /dev/null "CRON_URL_SHOWN_IN_THE_MODULE"

On each run, the CRON performs three tasks and returns a JSON summary of the work done:

  • sending due requests, in batches of 50;
  • sending reminders for requests still unanswered;
  • expiring requests older than 60 days.

The CRON token is a secret: do not publish it and do not send it in clear text. Any request without the right token gets a 403 response.

Reminders and reward coupon

The Reminder section enables a second email if no review has been submitted after a configurable delay (5 days by default, counted from the first send). Only one reminder is sent per request.

The Incentive coupon section generates a discount voucher as soon as a review is published by an identified customer. You set the percentage (10% by default) and the validity period (30 days). The code created is a native PrestaShop cart rule, tied to the customer and single use, so you will find it under Catalog → Discounts.

The code is only generated for a customer who is logged in or identified through an order. A guest review triggers no reward.

Enabling the AI summary

Enter your OpenAI API key in the Artificial Intelligence section and pick a model. gpt-4o-mini is the default: it is the most economical option, around half a cent per summary.

The summary kicks in from three published reviews on a product. The module sends up to 100 reviews to OpenAI and gets back three structured items: strengths, weaknesses, overall synthesis. The result is cached per product, per shop and per language, then displayed at the top of the review area on the product page.

You can turn off the display without removing the key through the Show the AI summary on the product page option.

Rich snippets and front office display

When the Rich Snippets option is active, the module injects Schema.org structured data (AggregateRating, Review, Offer, Brand) on every product page that reaches the configured minimum number of reviews. Check the result with Google’s rich results test after the crawler has been through.

On the display side, the module hooks into the theme’s native hooks:

  • displayProductAdditionalInfo: the stars and average rating under the product title;
  • displayProductExtraContent: the “Customer reviews” tab with the list, filters and form;
  • displayProductListReviews: the stars on category listings;
  • displayCustomerAccount: the “My reviews” link in the customer account.

These hooks exist in the Classic and Hummingbird themes. On a custom theme that removed them, they have to be restored in the relevant templates, otherwise reviews will not show anywhere.

Moderating reviews

The Catalog → Verified Reviews screen shows a dashboard (total, published, pending, reported, average rating, queued requests) followed by the full review list.

By default, every review waits for your approval. Enable Automatic approval if you prefer immediate publication. From the list you can approve or reject in bulk, and open a review to edit it or reply to it.

The merchant reply is displayed publicly under the review. If an OpenAI key is configured, an AI reply suggestion button proposes a draft matched to the tone of the review, to be reviewed and adjusted before saving, never published as is.

Customer photos

Customers can attach up to N photos per review (3 by default). Accepted formats: JPEG, PNG and WebP, 5 MB maximum per file. The real file type is checked on upload, regardless of its name.

Images are stored in modules/dfreviews/uploads/. Remember to include that folder in your backups: deleting a review also deletes its files.

Importing and exporting reviews

From the Verified Reviews screen, the Export CSV button produces a semicolon separated UTF-8 file that opens directly in Excel. The import block just below loads a file in the same format.

Two columns are required: id_product and rating (1 to 5). The others are optional: customer_name, customer_email, title, content, id_customer, id_order, verified_purchase, active, merchant_reply and date_add. Rows whose product does not exist are skipped and reported. Tick Auto approve to publish imported reviews straight away.

The easiest way to prepare a migration from Trustpilot or an older module: export a file from the module first to get the exact header, then pour your data into it.

Multistore and multilingual

The whole configuration is independent per sub shop: OpenAI key, trigger status, delays, colours, incentive. Reviews are partitioned by id_shop, so the same product present in several shops can display different sets of reviews depending on the context.

Reviews and AI summaries are stored with their id_lang. A summary is generated for the language it is requested in.

Moving from PrestaShop 8 to PrestaShop 9

No data migration is needed: the schema is identical on both branches. Replace the module with version 1.1.0 before or after your PrestaShop upgrade, in whichever order suits you.

If you are updating from a 1.0.x on a shop already moved to PS 9, two things to know: versions earlier than 1.1.0 do not install on PS 9 (registering hooks without a matching method is refused there), and the existing configuration is fully preserved during the update.

Troubleshooting

No request email is sent. First check that the CRON really runs by calling its URL by hand: the JSON response gives the number of sends. Then check the configured trigger status, and the shop email settings under Advanced parameters → E-mail.

Stars do not appear on the product page. The theme most likely does not call the hooks listed above. Also check that at least one review is published: with no active review, nothing shows.

The AI summary is not generated. Three published reviews minimum are needed, plus a valid and funded OpenAI key. API call errors are traced under Advanced parameters → Logs.

Stars do not show up in Google. Indexing takes anywhere from a few days to a few weeks. Check the markup with the rich results test, and make sure another SEO module is not injecting a competing Product block on the same page.

CSV import does nothing. That was a defect in the 1.0.x versions, fixed in 1.1.0.

Was this page helpful?

Still stuck? Contact support