Shopware 6.7, PHP 8.2 or newer, working mail delivery and your own API key with the AI provider of your choice. Signal capture (basket, viewed products) needs an active storefront.
Privacy: Only anonymised features and aggregate values go to the model. Names, addresses and order histories never leave the shop.
Installation
Upload the ZIP in the admin under Extensions, install and activate it, then enter the licence key from plugins.staw.io. The check needs a domain configured in the sales channel.
Setup in six steps
The assistant walks you through: store the AI access, enable signal capture, build the personas, choose the occasions, define mail template and writing rules, set the minimum score.
The first persona build can take a while with large customer bases and can also be started from the console.
The persona
Ten extractors condense the raw data per customer into a feature set: order rhythm with trend, preferred weekday and time of day, basket size, price band, strongest categories with a 180-day half-life, discount profile, return rate, viewed but not bought, and open basket items.
Everything is derived and recalculable at any time - no second data set anyone has to maintain.
The fifteen occasions
For every customer the agent scores all permitted occasions and picks the highest. Among them: replenishment for consumables, abandoned basket, reactivation, matching add-on after a purchase, repeated interest, birthday, new arrivals in a strong category and unredeemed vouchers.
Some occasions have prerequisites: replenishment and add-ons need product profiles, basket and interest need signal capture, birthday needs a date of birth in the account.
Minimum score
If the best occasion stays below your threshold, nothing is sent to that customer. This is the key dial: it decides how often you write at all.
Recommendation: start high and lower it slowly. A threshold that is too low produces exactly the arbitrariness the plugin is meant to avoid.
Approval and autopilot
Every message first lands as a draft in the approval queue - with reasoning, score, text preview, HTML preview and subject check. From there: accept, reject or send a test mail to any address.
The autopilot only starts once an occasion has collected enough manually approved messages; automatically sent ones do not count. A value of zero switches it off entirely.
Template and writing rules
The template defines the look, the writing rules the tone. Both apply to all occasions, so your brand stays recognisable although the wording is produced per occasion.
The subject check runs without a model call and rates length, promotional trigger words, exclamation marks, percentages, capitals and emojis.
Sendings and campaigns
Besides the occasion-based individual mails there are thematic sendings to groups, vouchers per occasion, recommendations and suggestions for sendings. The automation level decides how much of that runs without asking.
Reporting
The overall report shows opens, clicks, orders and revenue per occasion with a daily curve; attribution is last touch within a configurable window.
The newsletter report gives open and click rate per newsletter, attributed revenue and above all the product source - whether revenue came from due consumables or from filler.
The per-customer diagnosis shows all occasions side by side with score, reasoning and verdict, answering the most common question: why does this customer get no mail.
Sales channels
If you run several channels, the selector in the header limits personas, group counts, metrics and reporting to one channel. Sendings themselves target groups; the group decides the recipients.
Deliverability and SMTP
Sender and SMTP can be configured per sales channel. For good delivery rates SPF, DKIM and DMARC need to be set up correctly - the plugin cannot rescue the best mail if the domain is not authenticated.
Troubleshooting
Nothing is sent: usually the minimum score is too high or prerequisites like product profiles or signal capture are missing. The per-customer diagnosis says so in plain words.
No personas: start the build first. With large data sets run it from the console and wait for it to finish.
Model errors: check the API key and whether the selected model is enabled on your provider account.
Support
Questions come straight to us - support is from the developer. You can also request a feature through the Plugin Suite in the admin.
All settings
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 3.91.0).
General
Agent activeDefault: off
Controls the scheduled run. Manual runs work independently of it.
Track signalsDefault: on
Product views and cart behaviour of logged-in customers. Guests are never tracked.
Shop name in the greetingDefault: empty
Leave empty to use the name of the sales channel.
Time zoneDefault: Europe/Berlin
Determines how order times are sorted into time-of-day windows.
Autonomy
Minimum score in percentDefault: 25
Below this the agent decides not to send at all. Higher means fewer but more relevant mails.
Adapt send time to the customerDefault: on
Moves sending into the time-of-day window in which the customer usually orders.
Autopilot
Automation levelDefault: Draft, everything goes to approval
Determines what happens to a freshly generated draft.
Approvals until autopilotDefault: 0
Only counts messages you approved yourself, separately per occasion.
Occasions with autopilotDefault: empty
Comma-separated. Empty means: all occasions, once the threshold is reached.
Test addressDefault: empty
Recipient for test mails from the approval view.
Costs and background runs
Price per million characters to the modelDefault: 3.00
From the provider's price list.
Price per million characters from the modelDefault: 15.00
From the provider's price list.
Do not repeat a product for N daysDefault: 30
Prevents every mailing from showing the same thing. Zero switches the block off.
AI connection
ProviderDefault: Anthropic
Anthropic, OpenAI, Google or Mistral. The key must belong to the chosen provider.
API keyDefault: empty
Shown masked and only overwritten when changed.
ModelDefault: claude-sonnet-4-6
Choice from the models of the selected provider.
Tone
Formal addressDefault: on
Off means informal address. Groups can override this.
ToneDefault: freundlich, sachlich, per Sie (German default)
Passed to the model word for word.
Always observeDefault: empty
Phrases or rules that should apply in every mail.
Never useDefault: empty
Words or phrases that do not fit the brand.
Writing rules
Subject: maximum lengthDefault: 55
30 to 90 characters. Many mail programs cut off after about 55.
Subject: fixed startDefault: empty
Placed in front of every subject, such as a shop name in square brackets. Leave empty for none.
Emoji in the subjectDefault: off
Raises the open rate in some industries, looks cheap in others.
Exclamation marks allowedDefault: off
Off means: never. Spam filters rate frequent use negatively.
First name in the subjectDefault: off
More personal, but quickly feels intrusive.
Form of addressDefault: Formal (Sie)
Applies to all mails unless a group specifies otherwise.
Text: maximum lengthDefault: 700
200 to 1500 characters. Short mails are read more often.
Own writing rulesDefault: empty
Additional rules for subject and text, one rule per line.
Font and sizes
Font familyDefault: Helvetica and Arial, sans-serif
Only fonts that are available in mail programs.
Own SMTP sending
Use own SMTP accessDefault: off
Off means: sending via the mailer configured in Shopware.
ProviderDefault: custom
Sets host, port and encryption. Can be adjusted freely afterwards.
HostDefault: empty
Example: smtp.creoline.com
PortDefault: 587
465 for SSL/TLS, 587 for STARTTLS.
EncryptionDefault: STARTTLS, usually port 587
Without encryption only sensible within an internal network.
User nameDefault: empty
Leave empty if the server accepts mail without login.
PasswordDefault: empty
Shown masked and only overwritten when changed.
Sender addressDefault: empty
Must match the domain, otherwise SPF and DKIM do not apply.
Sender nameDefault: empty
Empty uses the name of the sales channel.
Reply addressDefault: empty
Where customers' replies should go.
Mails per minuteDefault: 60
Almost all providers throttle. Too fast means: some mails do not arrive.
Allow self-signed certificateDefault: off
Only for internal test servers.
Protection rules
Block period per customer in daysDefault: 7
Groups can set their own value.
Maximum sendings per dayDefault: 200
Zero removes the limit.
Quiet hoursDefault: 20-8
Format hour-hour, for example 20-8. Empty disables them.
Personas per scheduled runDefault: 50
Larger values need more runtime in the cron job.
Persona counts as outdated after N hoursDefault: 24
Controls which customers the scheduled run recalculates.
Price and availability watch
Watch activeDefault: on
Runs along with the scheduled task.
Measurement
Measure opensDefault: on
Via a tracking pixel. Counted only once per message.
Measure clicksDefault: on
Links go through a signed redirect in the shop.
A purchase still counts afterDefault: 7
Zero switches revenue attribution off.
List hygiene
Deactivate after how many mails without reactionDefault: 8
Zero switches list hygiene off.
Observation period in daysDefault: 180
Only mails from this window count.
Protection limit lifetime revenueDefault: 300
A buyer without opens is still a buyer.
Display
Technical modeDefault: off
Shows internal values: technical group names, message IDs, numeric scoring values, a persona's full feature profile and rarely used settings. Not needed day to day, helpful for support.
Availability
Directly from Stone & Water
Available now
Monthly49,99 €
Best valueYearly509,90 €15 % cheaper
All prices net, plus VAT.
Download the free Plugin Suite and upload it in the admin, no SSH needed. It installs and updates the plugin with one click. You buy the licence directly from us, with an invoice from us and 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 in the backend, billing through your Shopware account. We will link it here as soon as it is available.