Available right now
All prices net, plus VAT.
You buy the licence directly from us and get an invoice from us. Install by upload in the admin without SSH, updates through our licensing platform, support straight from the developer.
How to set up market-basket analysis with AI scoring, review suggestions and write only sensible assignments to native Shopware cross-selling.
Shopware 6 with a populated order history if you want to use the „Co-purchases" source. AI scoring needs an API key with the relevant provider. Scheduled analysis requires a running Shopware scheduler or worker.
Install and activate the plugin, then clear the Shopware cache. The Cross-Selling area is then available in the admin.
You will find it in the admin under Settings, in the Cross-Selling area. From there you reach the three working areas: managing profiles, running an analysis and reviewing suggestions.
The plugin suggests matching products for cross-selling. It evaluates order history and catalog, scores the pairs with AI if you want, and you decide which ones are accepted. Accepted suggestions end up in a native Shopware cross-selling block on the product page.
The process always has three steps:
Suggestions come from these sources. Each can be enabled per profile and combined freely.
A profile is a complete preset and maps to its own cross-selling group in the shop. Each profile has its own sources, thresholds, scope, AI usage and auto-accept. The profile name is also the title of the block in the shop.
For example: one profile „Frequently bought together" based on co-purchases, and one profile „Matching accessories" based on shared properties. Each creates its own block on the product page.
Under Settings, Cross-Selling, „Add profile" or „Edit". In the modal you set the name, the sources including their minimum values, the scope, AI and thresholds, and auto-accept.
Two fields control how strictly the catalog-based sources match.
Auto-accept is set per profile. One profile can roll out automatically while another stays manual.
Supported providers are OpenAI (ChatGPT), Anthropic (Claude), Mistral and Gemini. Enter an API key, pick a model and verify it with „Test connection".
The AI scores every pair, classifies it as a complement or a similar item and returns a short rationale plus a score from 0 to 100. With „Exclude substitutes" only genuine complements make it into the suggestions.
Manually via the „Start analysis" button, where you choose the profile or all active profiles and the sales channel. Or from the console:
Pairs that have already been decided, meaning accepted or rejected, are not suggested again. After the analysis the view jumps to the new open suggestions automatically.
In the review pool you filter by status, min. score, sales channel and group. Accept individual suggestions with „Accept" or dismiss them with „Rejected". „Accept all" respects the active filters, so it can act on a single group only.
The badges on each suggestion show source, group and score, plus an „auto" badge for automatically accepted ones. „Remove" takes an assignment back out of the shop.
Under Settings, „Automation", you enable scheduled analysis and pick the interval. This requires a running Shopware scheduler or worker. The automation status shows the last and next run, the task status and how many assignments were accepted automatically.
This source evaluates which products visitors looked at within the same visit. It needs neither orders nor well-maintained categories and therefore produces suggestions for new products as well.
Under Settings, Viewed together, switch on Recording active. Without it no data accumulates. The status below shows recorded pairs, counted views, products with data and the last entry.
Recording is kept separate per sales channel, detects bots and writes a single query per page view. Counters from a previously used table are carried over on update, so the source does not start from zero.
Then enable the source in the profile and run an analysis. Expect a few days of lead time until enough views have accumulated.
The "semantic similarity" source needs an embedding vector per product. It is generated once and refreshed when products change. Without this step the source returns no suggestions.
In the admin: Settings, then Cross-Selling, section Embeddings, button "Update embeddings". The status shows how many products are covered and how many are still pending.
On the console:
bin/console staw:cross-selling:embeddings
bin/console staw:cross-selling:embeddings --limit=1000
bin/console staw:cross-selling:embeddings --force
Repeat runs skip unchanged products, so they cost almost nothing. You need an API key with the chosen provider: OpenAI, Mistral or Gemini. Anthropic does not offer embeddings - you can still use Anthropic for scoring the pairs themselves.
„Cleanup" removes open suggestions that no longer belong to any current profile, for example after renaming or deleting a profile. Accepted and rejected suggestions are left untouched.
product.sales to be populated. Shopware counts sold quantities automatically, but a brand-new shop has no bestsellers yet.The message names the reason per source. Common causes are a value set too high for „Min. shared categories", no shared manufacturer, or the „products without cross-selling only" option removing all candidates.
Check „Min. co-purchases" and „Min. confidence". Both filter before the AI scores anything. The time window may also be too short.
First check whether recording is active under Settings, Viewed together. Without it no data accumulates. If recording was switched on only recently, the counted views may not yet reach the minimum set in the profile.
Without a running scheduler or worker the task never starts. The automation status shows the last and next run.
If you have questions about setup, connecting an AI provider or cross-selling strategy, 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.3.19).
Provider, model and key for the AI scoring plus the connection test.
AI provider used to score the cross-selling suggestions.
Your API key for the selected provider. Stored in the Shopware configuration.
Model of the selected provider.
Records in the shop which products are viewed together within one visit. Only product pairs with a counter are stored, no personal data.
Increments the pairs on every product page view. Without tracking, no new data is collected.
How many recently viewed products are paired with the current one. Higher values deliver more data, but looser relationships.
Otherwise the counters spread across sizes and colours and never reach a meaningful level.
Older pairs with few views are removed automatically. Frequent pairs are kept.
Shows accepted cross-selling assignments as a recommendation strip during checkout. Candidates are collected over all cart products, weighted by score and shown without items already in the cart.
Recommendation strip below the cart table.
Compact strip in the side cart, one product per view.
Caution: distraction right before purchase can lower conversion. Suitable for B2B shops with supplementary demand.
1 to 12 products for this position.
1 to 12 products for this position.
1 to 12 products for this position.
Empty = default text per language ("Goes well with your order").
Which sources and thresholds are analysed is chosen directly when you click "Start analysis". The automatic analysis uses the same selection.
Replicates the main article sliders as real records on all variants - for ERP and third-party systems reading the cross-selling tables directly. Kept in sync automatically on every accept/remove.
Run analysis automatically in the background on a schedule (Shopware scheduler).
How often the automatic analysis runs. Choose daily, weekly or monthly.
Profiles: each profile is its own cross-selling block with sources, thresholds and scope.
Name of the profile. It appears in the shop as the title of the cross-selling block, such as matching accessories.
Calculate this profile only for this shop - only products visible there are considered. "All channels" uses the selection from the analysis dialog.
Included in "All active profiles" and in automatic runs.
Frequently bought together. Needs order history.
In how many orders two products must appear together at least to count as a pair.
Works without orders too.
How many categories two products must share at least.
e.g. brand, series.
How many properties two products must share at least.
Products of the same brand.
Suggests each product the best-selling products of its category. Guarantees coverage without purchase history. Weighted lower than real matches.
Uses visitor behaviour: products that were viewed together within one visit. Works without orders and also covers new products. Tracking must be enabled in the settings.
How often two products must at least have been viewed in the same visit.
How many of the most frequently co-viewed products are suggested per product.
Fill gaps specifically.
Open suggestions are re-scored on every analysis, and new candidates (e.g. from newly enabled sources) can displace weaker open suggestions. Accepted assignments are never touched. Off: existing ones stay unchanged and only count towards the maximum - no more are added.
With a limited number of suggestions, new candidates also compete against already accepted assignments: on accepting, the lowest-scored assignment yields to a better candidate and returns to the review pool. Rejected pairs stay blocked.
Products with already accepted assignments only receive suggestions whose score is above the weakest accepted assignment. Prevents weaker fill candidates from piling up right after accepting. Works well together with "Replace weaker assignments".
Assignments displaced during replacing are marked as rejected and never suggested again. Off: they return to the review pool as open suggestions.
When accepting in this profile, the cross-selling blocks are automatically replicated to all variants (for ERP integrations). Applies in addition to the global setting.
Ignore inactive products that are not visible in the shop.
Products from these manufacturers are not suggested as cross-selling in this profile.
Scores pairs, detects complement/similar, rationales. Slower.
Only effective with AI scoring.
After every analysis (manual and via cron), suggestions of this profile at or above the score are accepted into the group automatically - visible in the shop right away.
From which score between 0 and 100 a suggestion is accepted automatically by auto-acceptance.
Only pairs the AI recognised as genuine complements. Plain category/manufacturer matches without AI stay for manual review. Recommended.
Accepted assignments of this profile are visible in the shop immediately.
On acceptance the cross-selling is created on both products: source points to target and target back to source.
Minimum share of the orders containing the first product that also contain the second. 0.1 means 10 percent. Applies to the shared purchases source.
Maximum number of suggestions a product gets in this profile.
If the chosen sources return fewer than the minimum, the list is topped up with category bestsellers until the number is reached. Raises the maximum if needed.
Controls where this profile's cross-selling group appears on the product (1 = top). Takes effect on the next accept, also for existing blocks. 0 appends new blocks at the end.
How far back the order history analysed for shared purchases reaches. 0 analyses all orders.
Two routes, the same feature set - pick whichever suits your setup.
All prices net, plus VAT.
You buy the licence directly from us and get an invoice from us. Install by upload in the admin without SSH, updates through our licensing platform, support straight from the developer.
The plugin will be listed in the official Shopware Community Store. Installation and automatic updates then run through the plugin manager, billing through your Shopware account. We will link it here as soon as it is live.
Find all details on the product page. We are happy to help with AI setup and strategy.