AI Newsletter Marketing Agent manual.

From setup to reporting: build the personas, choose the occasions, set the minimum score, approve messages and let the autopilot earn its autonomy.

System requirements

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.85.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 valueYearly449,99 €25 % cheaper

All prices net, plus VAT.

You buy the licence directly from us and receive an invoice from us. Installation by upload in the admin without SSH, updates through our licence platform, support straight from the developer.

Get in touch +49 2555 9997342

Shopware Store

In preparation

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.