Sales Counter — Complete guide
Install, configure and use the sales counter on the product page: counting method, valid orders, threshold, placement and translatable text for PrestaShop 8 and 9.
Overview
The Sales Counter module shows, on the product page, how many times a product has already been sold. The message is generated automatically from your shop’s real order lines: no manual entry, no invented data. It is a simple and effective reassurance lever that comforts a hesitant buyer by showing that an item has already convinced other customers.
The module is compatible with PrestaShop 8 and 9, in single shop as well as multistore, and is multilingual. Rendering is performed server-side, with no Composer dependency or external JavaScript.
Installation
- From the back office, open Modules > Module Manager.
- Click Upload a module and drop the module ZIP archive.
- Once installation is complete, click Configure.
On installation, the module saves its default settings and hooks into the product page display locations. No technical product or extra table is created: the counter reads directly from existing orders.
Configuration
Enable display
The Enable display switch controls the global display of the badge on product pages. Turn it off to temporarily hide the counter without uninstalling the module.
Counting method
Two methods are available:
- Total quantity sold: the module adds up all ordered quantities of the product (sum of quantities). This method highlights the volume sold.
- Number of orders: the module counts the number of distinct orders that included the product. This method highlights the number of different customers convinced.
Valid orders only
When this option is enabled (recommended), only valid — that is, paid — orders are counted. Disable it to count all orders, regardless of their payment status.
Minimum display threshold
Set a minimum threshold below which no badge is displayed. This avoids showing a number that is too low and guarantees an always-flattering message. A value of 0 displays the badge from the very first sale.
Display placement
Choose where the badge appears on the product page:
- Below the buy block (product additional info).
- Near the buy buttons.
Both placements are registered on installation; only the selected placement renders, so there is no need to reinstall the module to change it.
Displayed text
The displayed text is customizable and translatable per language. Use the {sales} placeholder to insert the number wherever you want in the sentence. For example: Already sold {sales} times. If the placeholder is missing, the number is automatically appended to the end of the text.
Customer side
On the product page, the badge is shown at the chosen placement with the configured text and the computed number of sales. No script is loaded on the client side: the content is generated server-side, which makes it compatible with page caching.
Multistore
In a multistore context, counting is automatically restricted to the current shop: each shop displays its own sales figures for the same product.
Performance
The counter relies on a lightweight query using the existing index on the order line product identifier. On shops with large catalogs, display remains fast. If your traffic is very high, enabling page caching at your server or PrestaShop level directly benefits the module, since rendering is entirely server-side.
Uninstallation
Uninstalling the module removes all of its settings and takes the badge off the product pages. No order data is modified: the module only reads existing sales.
FAQ
What data does the counter rely on?
On the real order lines containing the product. You can limit counting to valid orders, and it is automatically restricted to the current shop in multistore.
Does the module count quantities or orders?
Your choice. Quantity mode adds up all sold quantities; order mode counts the number of distinct orders that included the product. The mode is set in the configuration.
How can I avoid showing a number that is too low?
Set a minimum display threshold: below that number of sales, no badge is shown.
Is the text translatable?
Yes, fully, per language, with the {sales} placeholder to position the number. French, English, Spanish, German and Italian translations are provided.
Is the module compatible with PrestaShop 9?
Yes, the module is compatible with PrestaShop 8.x and 9.x, in single shop as well as multistore, with no Composer dependency or external JavaScript.