Installation
- Install and activate the plugin in the Shopware backend: Extensions → My extensions
- Clear the storefront cache: Settings → System → Caches & indexes → Clear cache
- Recompile theme (if a custom theme is active): Settings → Theme or via console bin/console theme:compile
Opening the configuration
Extensions → My extensions → Stone & Water - Live Viewer & Sales Counter → Configuration
Four cards are available: Display positions, Data source Viewers, Data source Sales, Transparency & Privacy.
1. Choose display position
In the Display positions card, select via the dropdown where the badge should appear on the product detail page:
- Above the buybox – at the top of the buy column, above the price (default)
- Below the buybox – at the bottom of the buy column, below product number and description
- Directly above the Add-to-Cart button – right before the quantity/Add-to-Cart row, strongest conversion effect
- Directly below the Add-to-Cart button – as a subtle validation right after the click area
- Do not show – no visible badge, but live viewer tracking continues in the background
2. Configure data source „Viewers"
In the Data source: Viewers card:
- Active – switch live viewer display on/off
- Display mode:
- Bucketed (recommended): honest ranges like „Several shoppers are viewing this right now"
- Strict: exact number, e.g. „3 people are viewing this right now"
- Aggregated: „X people in the last 24 hours" – good for low live traffic
- Minimum threshold – display only from this number on (default: 3)
- Time window (minutes) – how long a session counts as „active" (default: 5)
- Heartbeat interval (seconds) – how often the JavaScript refreshes (default: 30)
- Custom text (optional) – custom wording with placeholder %count% for the number
3. Configure data source „Sales"
In the Data source: Sales card:
- Active – switch sales counter on/off
- Display mode:
- Strict: „Sold 12 times in the last 7 days"
- Bucketed: honest ranges like for viewers
- Minimum threshold – display only from this sales count on (default: 3)
- Time window (days) – lookback period for counting (default: 7)
- Custom text (optional) – with placeholders %count% and %days%
4. Customize bucket labels
When Bucketed mode is active, you can freely customize the labels for the three ranges in both data sources:
- Low (3-5 hits)
- Medium (6-15 hits)
- High (16 and more)
The range boundaries themselves are fixed and not editable – this guarantees that bucketing always stays honest. The texts however can be customized per sales channel and language.
5. Transparency link (optional)
In the Transparency & Privacy card:
- Show explainer link – displays a small „How we measure this" link below the badge
- Target URL (optional) – link to your own explanation page; empty = tooltip variant with default text
Recommended configurations
Conversion boost (standard e-commerce)
- Position: Directly above the Add-to-Cart button
- Viewers: Bucketed, minimum threshold 3, time window 5 minutes
- Sales: Strict, minimum threshold 3, time window 7 days
Niche shop with low live traffic
- Position: Above the buybox
- Viewers: Aggregated (24h mode), minimum threshold 5
- Sales: Bucketed, minimum threshold 3, time window 30 days
High-end segment with maximum discretion
- Position: Below the buybox
- Viewers: Bucketed, minimum threshold 5
- Sales: Bucketed, minimum threshold 5
Testing before going live
- Temporarily lower the minimum thresholds to 1
- Open the same product in 2-3 different browsers or incognito windows
- After 5-10 seconds reload the page – the badge should appear with the count of other sessions
- Reset thresholds to your desired live values
Frequently asked questions
The badge does not appear – what should I do?
- Clear storefront cache (Admin → Caches & indexes → Clear cache)
- Recompile the theme (Admin → Theme → Update theme)
- Check minimum threshold – with 3 browsers and threshold 3, each one only sees 2 others (your own session is always excluded)
- Hard refresh in browser: Ctrl+Shift+R or Cmd+Shift+R
Why does the first visitor not see any number?
Your own session is always excluded from the count, so customers see „others", not themselves. With few visitors, the badge therefore stays hidden until the minimum threshold is reached by other visitors.
Are variant sales counted separately?
No – sales of all variants of a product are aggregated to the parent product. Whoever buys a blue or red variant counts towards the sales counter of the main product.
What about performance on large shops?
Per product detail page view exactly one additional database query is executed (indexed). On very large shops you can raise the minimum threshold to limit rendering to a few highly trafficked products.
Privacy
The plugin is fully GDPR-compliant and stores only:
- SHA-256 hash of session ID + sales channel ID (not reversible)
- Product ID, sales channel ID
- Timestamps (last_seen, created_at)
No IP addresses, no user agent strings, no cookies, no data sent to third-party services. Heartbeats older than 25 hours are automatically deleted every 5 minutes (scheduled task).