Available now
No booking needed, no term.
The Plugin Suite installs and updates it with one click. Invoice, updates and support come directly from us, without a detour through a marketplace.
How to show honest live-viewer and sales figures on the product detail page and make social proof visible.
Shopware 6.7, PHP 8.1 or newer, MySQL or MariaDB. The Shopware scheduler or a worker must be running so old heartbeats are cleaned up automatically.
The settings live in the admin under Extensions, in the plugin configuration. They are grouped into four cards, each described below.
When a product detail page is opened, an anonymous heartbeat is registered. A storefront JavaScript sends further heartbeats at a configurable interval for as long as the tab is active. All sessions within a configurable time window are counted, five minutes by default.
Sales figures come straight from order_line_item, so from real orders. Variants are aggregated onto the parent product, meaning one article in three sizes counts together. The time window is configurable, seven days by default.
Each data source can be set separately to control how specific the number appears.
Each data source has a threshold below which nothing is shown at all. This avoids misleading signals when activity is low - a single visitor on the page is not convincing social proof.
The badge can appear in four places on the product detail page: above the buy box, below the buy box, directly above the add-to-cart button and directly below it. Together with the option to show nothing, the dropdown offers five choices.
Every text can be overridden. Two placeholders are available: %count% for the number and %days% for the time window in days.
The bundled default texts are:
Further languages can be added through the Shopware snippet system; German and English ship with the plugin.
Optionally a „How we measure this" link appears next to the badge, pointing at a URL of your choice. Useful if you want to explain on your own page that these numbers are counted, not estimated.
The only things stored are a SHA-256 hash of the session ID and sales channel ID, plus product ID, sales channel ID and timestamps. The hash cannot be reversed.
Heartbeats older than 25 hours are removed automatically every five minutes by a scheduled task.
Usually the minimum threshold: as long as fewer sessions or sales are counted than configured, the badge stays hidden on purpose. Also check that a display position is selected and the storefront cache has been cleared.
Your own session is never counted. Testing in your own browser will always show one less than is actually active.
Check the time window and the heartbeat interval. If the interval is longer than the window, sessions drop out of the count before the next heartbeat arrives.
Cleanup runs as a scheduled task. Without a running scheduler or worker it never executes.
If you have questions about setup or picking sensible thresholds, we are happy to help. Get in touch via the contact page or write to info@stoneandwater.online.
Every setting of the plugin with its default value and explanation, in the same order as in the administration. The texts come straight from the plugin (version 1.1.5).
Where the badge appears on the PDP. "Above/Below buybox" places it at the start/end of the buy column. "Above/Below Add-to-Cart button" places it directly at the Add-to-Cart element.
Shows on the product page how many visitors are currently viewing the product.
Strict: exact number. Bucketed: range. Aggregated: views in the last 24 hours.
Below this number the viewer display is hidden. Recommended: 3.
How many minutes after the last heartbeat a viewer counts as active. Recommended: 5.
How often the storefront sends an update ping. Recommended: 30.
Leave empty for automatic translation from the storefront snippets.
Leave empty for automatic translation from the storefront snippets.
Text shown instead of the exact number at 3 to 5 viewers when the display is set to ranges. Empty uses the default text from the storefront snippets.
Text shown instead of the exact number at 6 to 15 viewers when the display is set to ranges. Empty uses the default text from the storefront snippets.
Text shown instead of the exact number at 16 or more viewers when the display is set to ranges. Empty uses the default text from the storefront snippets.
Shows on the product page how often the product was sold in the selected period.
Strict: exact sales count. Bucketed: ranges like for viewers.
Below this count the sales counter is hidden. Recommended: 3.
Period over which sales are counted. Recommended: 7 days.
Leave empty for automatic translation from the storefront snippets.
Text shown instead of the exact number at 3 to 5 sales when the display is set to ranges. Empty uses the default text from the storefront snippets.
Text shown instead of the exact number at 6 to 15 sales when the display is set to ranges. Empty uses the default text from the storefront snippets.
Text shown instead of the exact number at 16 or more sales when the display is set to ranges. Empty uses the default text from the storefront snippets.
Small info link below the badge explaining how data is collected.
E.g. /shopinfo/live-count or a FAQ page. Empty = tooltip instead of link.
Two routes, the same feature set - pick whichever suits your setup.
No booking needed, no term.
The Plugin Suite installs and updates it with one click. Invoice, updates and support come directly from us, without a detour through a marketplace.
Listed in the official Shopware Community Store. Installation and updates run through the plugin manager, billing through your Shopware account. Store conditions differ from ours.
All features on the product page. We are here for setup and fine-tuning.