Newsletter for Shopware 6

A clean, GDPR-safe subscriber list inside your own Shopware, and with the paid plugin the campaigns to send to it

Newsletter

Collecting newsletter subscribers sounds simple, but without double opt-in, proof of consent and a safe unsubscribe link you run a legal risk and pollute your list. The free edition stores subscribers in its own table inside your Shopware, with double opt-in, one-click unsubscribe and an admin overview with CSV export. The paid plugin adds the sending side: campaigns, product blocks and segments built on your own order data, with no external email platform and no data sync.

Free edition · Packagist

What the free edition does

  • Signup form as a compact footer variant and as a landing page at /newsletter, no JavaScript required
  • Double opt-in by default: confirmation email with a one-time link and configurable validity; proof of consent per signup
  • One-click unsubscribe via an opaque token; the email address is erased immediately, only anonymous statistics remain
  • Abuse protection: cross-origin requests are rejected and each IP is limited to 5 attempts per 10 minutes
  • 'Newsletter subscribers' admin module: search, sort, per-row status and CSV export; tokens and IP hash stay hidden
  • Per sales channel configuration, three languages (NL, EN, DE), and sitemap, canonical and hreflang on the landing page

Open source under the MIT licence, installed directly via Composer, with no registration and no licence key. This edition is frozen: it gets no new features, but it does get security and compatibility fixes until at least December 2032. Existing installs keep working.

composer require tenbruggencate/newsletter-lite
Paid plugin · coming to the Shopware Store

Newsletter in the Shopware Store

One plugin with everything in it: all the free edition does, and on top of that:

  • Campaign editor with subject, preheader and content: save, schedule or send now from Marketing in the admin
  • Product blocks: new arrivals, a category or bestsellers pulled live from your catalogue into the email, per sales channel
  • Segmentation on your own order data: has ordered, last order older than X days, total spend above an amount
  • Live preview 'matches N subscribers' before every send; only confirmed, active addresses are mailed
  • Reliable sending through Shopware's own mail stack, in throttled background batches, with a status per recipient
  • Export everything (campaigns, segments, send logs and settings) as one JSON file, so you are never locked in

You rent the plugin monthly or yearly through the Shopware Store, with the Store's free trial month. No add-on, no licence key, nothing else to install.

Moving from the free edition keeps your settings and data. Uninstall the free edition with the option to keep its data; on installation the paid plugin takes over the configuration and tables, and tells you if you forget that step.

The plugin is not in the Shopware Store yet. Would you like to hear when it is available, or get help with the move? Get in touch.

Works with the rest of the range

Plugins of the range detect each other and connect automatically when they are installed together, for example newsletter sign-ups from the launch page or encyclopedia pages as a dimension in Analytics. Each plugin also works on its own; nothing is gated behind buying another one.

Requirements

  • Shopware: 6.7
  • PHP: 8.1+

Support

For the paid plugin through the Shopware Store's ticket system. For the free edition through the issues of the Bitbucket repository; security reports as described in the repository's SECURITY.md.

Data and privacy

The free edition stores per subscriber in the tenbruggencate_nl_subscriber table the email address, source, brand/sales channel, locale, consent timestamp and text version, a salted SHA-256 hash of the IP address (no raw IP) and the confirmation and unsubscribe tokens; on unsubscribe the email address is overwritten immediately. The paid plugin adds campaigns, segments and a per-recipient send log (tb_nlp_send_recipient: email address, status, error, timestamp) and reads Shopware order data for segments without copying it; nothing goes to third parties.

Quality

PHPStan level 8, PHPUnit and PHP-CS-Fixer as quality gates per repository. Documentation, changelogs and snippets in Dutch, English and German. No advertisements or upgrade prompts inside the Shopware Administration.

The other families in the range

Curious what is possible?

One conversation is usually enough to tell whether it fits. A reply within 24 hours, and no middlemen.

  • A reply within 24 hours, always personal
  • Half an hour on the phone gets you the order of magnitude
  • A first conversation without obligation
  • Including software originally built by someone else