Gäste-Feedback und Marketing-Kampagnen
Wozu dient das?#
Das Modul für Gäste-Feedback und Marketing ermöglicht Gastronomen das Einholen von anonymem, ehrlichem Feedback über die Schnittstelle der Kasse (ein Bedienbildschirm dafür fehlt bisher) sowie die rechtssichere Durchführung von E-Mail- und SMS-Marketingkampagnen (z. B. Stammgäste-Reaktivierung oder Geburtstagsaktionen) auf Basis strikter gesetzlicher Einwilligungen.
Wie viele Gäste ein Segment erreicht, können Leitung und Administration auch den KI-Assistenten fragen („Wie viele Gäste erreicht das Segment Stammgäste per Mail?“). Er zählt mit dem Werkzeug preview_marketing_segment nur Gäste mit Werbeeinwilligung und sendet nichts.
Rollen#
- Gäste (öffentlich / unangemeldet): Nutzen den Abmeldelink in Werbe-E-Mails zum sofortigen Widerruf von Einwilligungen.
- Schichtleiter & Manager (Manager / Admin): Konfigurieren E-Mail-Versanddienstleister (ESP wie Brevo), definieren regelbasierte Kundensegmente, erstellen und versenden Kampagnen, verwalten fehlgeschlagene Sendeversuche (Dead-Letter-Queue) und werten das Gäste-Feedback im Backoffice aus.
Voraussetzungen#
- Für das Gäste-Feedback: Ein Belegdrucker oder digitaler Beleg mit aktivierter Kunden-Informationszeile (→ Kapitel 14a & Kapitel 22).
- Für Marketingkampagnen: Ein im Backoffice hinterlegter E-Mail-Service-Provider (ESP z. B. Brevo) mit gültigem API-Zugangsschlüssel.
- Für den Werbeversand: Nachweisbare, explizite Einwilligungen (Opt-in) der Zielkunden.
- Für die Administration im Backoffice: Benutzerrolle
manageroderadmin.
Bildschirm für Bildschirm#
1. Gäste-Feedback über den Beleg-QR-Code (nur Schnittstelle)#
Die Belegvorlage kennt eine Feedback-Zeile mit einer Adresse im Kundeninfo-Block, unterhalb des steuerlich signierten Bereichs (unter der Überschrift "kein Bestandteil des steuerlichen Belegs"). Die Kasse füllt diese Zeile derzeit nicht: Auf dem Beleg erscheint keine Feedback-Adresse und kein QR-Code. Das Feedback selbst nimmt die Schnittstelle der Kasse an (Sterne von 1 bis 5, optionaler Kommentar bis 2.000 Zeichen, ohne Name, E-Mail oder Telefonnummer). Eine Gäste-Feedback-Seite und einen Backoffice-Bildschirm, der Rückmeldungen auflistet oder einen Durchschnitt zeigt, gibt es nicht; die Menüleiste hat keinen Eintrag Gäste-Feedback.
2. Backoffice: Marketing & Kampagnen#
Der Bereich trägt den Titel Marketing & Kampagnen und die Zeile Automatisierte Kampagnen, Kundensegmente und DSGVO / UWG §7 Einwilligungen verwalten. Sie öffnen ihn im Backoffice über den Menüpunkt Marketing (Administrator und Manager). Fünf Reiter gliedern ihn: Kampagnen, Automatisch, Segmente, Einwilligungen (UWG §7) und Provider-Einstellungen.
- 1 Die fünf Reiter.
- 2 Neue Kampagne öffnet die Maske Neue Marketingkampagne erstellen. Darüber steht Aktive & Vergangene Kampagnen; ohne Eintrag steht dort Keine Kampagnen vorhanden.
- 3 Jede Kampagne zeigt Namen, Provider, Betreff und einen Stand (Ausstehend, Bereit oder Fehlgeschlagen). Jetzt versenden startet den Versand, Protokoll anzeigen öffnet das Versandprotokoll der Kampagne.
- 4 In der Maske wählen Sie unter Routinggruppe den Kanal (E-MAIL oder SMS) und unter Segmente die Zielgruppe. Ohne Wahl gilt Alle Kunden mit Einwilligung. Das Feld heißt in der Maske bisher Routinggruppe.
- 5 Name, Betreff und die Nachricht (das Feld mit dem Platzhalter Nachrichtenvorlage… trägt die Beschriftung Beschreibung).
- 6 Profil erstellen legt die Kampagne an, Abbrechen schließt die Maske.
3. Reiter Provider-Einstellungen#
- 1 Der Schlüssel zum Versanddienstleister. Das Feld trägt bisher die Beschriftung Fiskaly API-Key, gemeint ist der API-Schlüssel des gewählten Anbieters. Ein gespeicherter Schlüssel erscheint nur maskiert (Aktueller Schlüssel maskiert: …).
- 2 Aktivieren schaltet die Anbindung ein.
- 3 Anbieter (Brevo (Sendinblue API) oder Mock (Lokale Simulation / Test)), E-Mail-Adresse des Absenders und der Absendername (bisher beschriftet Name des Mitarbeiters).
- 4 Einstellungen speichern.
- 5 Brevo-Webhook-Rückmeldungen: Webhook-URL mit Kopieren und Token neu erzeugen. Das Token wird nur einmal angezeigt, deshalb steht dort Kopieren Sie die Webhook-URL jetzt.
4. Reiter Segmente#
Zielgruppen-Segmente mit Neues Segment. Die Maske Neues Zielsegment erstellen hat Name, Beschreibung und eine Regel für den letzten Besuch. Die Karte eines Segments zeigt Regeln: und die Schaltfläche Empfänger-Vorschau; das Ergebnis lautet Berechtigte Kunden mit gültiger Einwilligung: …. Ohne Segment steht dort Keine Segmente erstellt.
5. Reiter Einwilligungen (UWG §7)#
Das Kunden-Einwilligungsverzeichnis mit einer Suche (Name, Telefon, E-Mail oder Tags) und den Spalten Kunde, Kontakt, Status (Opt-In Aktiv, Abgemeldet oder Keine Einwilligung) und Aktion. Einwilligung verwalten öffnet die Maske Werbeeinwilligung verwalten mit Opt-In Einwilligung erteilen und Opt-In Einwilligung widerrufen / ablehnen sowie der Quelle der Einwilligung. Ein Kasten Rechtlicher Hinweis & Nachweispflicht (UWG §7 & DSGVO) mit dem Verbot unaufgeforderter Adresslisten steht daneben.
6. Reiter Automatisch#
Automatische Auslöser mit der Zeile Ereignisgesteuerte Kundenansprache für Reaktivierung, Geburtstage und Besuchs-Nachbereitung. Drei Karten: Reaktivierung (Win-Back) mit Inaktivitätsschwelle (Tage), Geburtstagsgrüße (einmal pro Kalenderjahr) und die Nachfassnachricht mit Verzögerung nach Abschluss (Stunden). Jede Karte hat Aktiviert, Kanal, Betreff, Nachrichtenvorlage und Auslöser speichern (Meldung Auslöser gespeichert). Jetzt prüfen lässt die Auslöser sofort laufen.
Schritt für Schritt (inklusive Betriebsverzweigungen)#
Hauptpfad A: Gäste-Feedback (nur Schnittstelle)#
Für das Gäste-Feedback gibt es in der Kasse keinen bedienbaren Ablauf, weder am Terminal noch im Backoffice. Es gilt, was im Abschnitt zur Schnittstelle oben steht: Die Schnittstelle nimmt je bezahlter Rechnung genau eine Bewertung an. Eine zweite Bewertung derselben Rechnung und eine Bewertung vor dem Bezahlen weist sie ab (siehe Häufige Probleme).
Hauptpfad B: E-Mail-Versanddienstleister (Brevo) konfigurieren#
- Öffnen Sie im Backoffice Marketing & Kampagnen und wählen Sie den Reiter Provider-Einstellungen.
- Wählen Sie unter Anbieter Brevo (Sendinblue API).
- Tragen Sie Ihren API-Schlüssel ein (Feld Fiskaly API-Key). Das Kassensystem verschlüsselt den Schlüssel vor dem Speichern unverzüglich mit einer Fernet-Chiffre.
- Tippen Sie auf Einstellungen speichern. In allen Menüs wird der Schlüssel ab sofort nur noch maskiert (z. B.
brev...1234) angezeigt.
Hauptpfad C: Marketing-Segment erstellen und prüfen#
- Wechseln Sie in Marketing & Kampagnen auf den Reiter Segmente.
- Tippen Sie auf Neues Segment und vergeben Sie einen Namen (z. B. "Inaktive Stammgäste").
- Legen Sie die Regel fest.
- Tippen Sie auf Empfänger-Vorschau. Das System wertet die Regeln per SQL-Datenbankabfrage aus und zeigt die Anzahl der Kunden an, die die Regeln erfüllen und eine aktive Werbeeinwilligung besitzen.
Hauptpfad D: Kampagne erstellen, versenden und nachbereiten#
- Wechseln Sie auf den Reiter Kampagnen und tippen Sie auf Neue Kampagne.
- Wählen Sie unter Routinggruppe den Versandkanal (E-MAIL oder SMS), vergeben Sie einen Namen und einen Betreff und verfassen Sie den Text.
- Wählen Sie unter Segmente die Zielgruppe und tippen Sie auf Profil erstellen.
- Tippen Sie bei der Kampagne auf Jetzt versenden. Der Status wechselt auf
SENDING. - Das Kassensystem prüft im Hintergrund für jeden einzelnen Zielkunden erneut die Werbeeinwilligung und übermittelt die Nachrichten an den Versanddienstleister.
- Nach Abschluss wechselt der Status auf
COMPLETED. - Verzweigung D1 — Fehler beim Versand (Dead-Letter-Queue): Schlägt der Versand an einzelnen Empfängern nach 3 Versuchen fehl, wechseln diese Einträge in den Status
DEAD_LETTER. - Beheben Sie das Problem (z. B. korrigieren Sie den API-Schlüssel) und öffnen Sie Protokoll anzeigen und tippen Sie in der Zeile des Empfängers auf Wiederholen, um den Versendeversuch für diesen Datensatz manuell neu zu starten.
Hauptpfad E: Ein-Klick-Abmeldung (One-Click Unsubscribe)#
- Der Empfänger einer Werbe-E-Mail klickt auf den enthaltenen Abmeldelink (
/api/v1/marketing/unsubscribe). - Das Kassensystem verarbeitet die Abmeldung unauthentifiziert ohne erneute Passworteingabe.
- Das Kundenprofil wird sofort mit einem Zeitstempel (
unsubscribed_at) versehen. - Der Kunde wird ab diesem Moment von allen zukünftigen Werbesegmenten und Versendungen konsequent ausgeschlossen.
Datenschutz, Anonymität und Rechtliche Pflichten (DSGVO & UWG §7)#
WICHTIGER RECHTSHINWEIS UND NACHWEISPFLICHT: Die Software stellt technische Schutzmechanismen zur gesetzkonformen Einwilligungsverwaltung bereit. Die rechtliche Verantwortung für die Rechtmäßigkeit der erhobenen Kontaktdaten, die Einholung wirksamer Einwilligungen sowie die Inhalte versendeter Nachrichten liegt ausschließlich beim Gastronomiebetreiber. Im Falle einer rechtlichen Überprüfung (z. B. durch Auskunftsersuchen, Abmahnungen nach UWG §7 oder Beschwerden bei Datenschutzbehörden) muss der Betreiber die Einwilligung nachweisen können. Benötigt werden: Der Nachweis der expliziten Einwilligung, der genaue Einwilligungs-Zeitstempel (
marketing_consent_at), die Herkunft der Einwilligung (marketing_consent_source, z. B. Formular/Double-Opt-In-Protokoll) sowie das Versand- und Abmeldeprotokoll.
Anonymität beim Gäste-Feedback (ADR 0030)#
Das Gäste-Feedback-Modul speichert bewusst und konstruktionsbedingt keinerlei Kunden-ID, Namen, E-Mail-Adresse, Telefonnummer, IP-Adresse oder Geräte-ID des Gastes.
- Rechtliche Konsequenz (DSGVO Art. 5(1)(c) Datenminimierung): Da keine personenbezogenen Daten erhoben oder gespeichert werden, unterliegt das Feedback keinen Lösch- oder Auskunftsersuchen. Diese Anonymität ist ein zentraler Sicherheitsvorteil für Betreiber und Gäste gleichermaßen: Gäste können ohne Befürchtung von Nachteilen ehrliches Feedback geben.
- Sicherer Beleg-Token: Der Link auf dem Kassenbon wird kryptografisch über einen HMAC-Algorithmus aus der Rechnungs-ID abgeleitet (
HMAC(secret, order_id)). Es wird keine Rechnungsnummer im Klartext in der Webadresse übertragen. - Einmalige Stimmabgabe: Jede bezahlte Rechnung (
PAIDoderCLOSED) kann genau einmal bewertet werden.
Strikte Werbeeinwilligung bei Marketingkampagnen (ADR 0032 & UWG §7)#
Das Versenden von Werbe-E-Mails oder Werbe-SMS ohne vorherige, ausdrückliche Einwilligung (Opt-in) des Empfängers ist nach UWG §7 Abs. 2 Nr. 2 & 3 sowie DSGVO Art. 6(1)(a) & Art. 7 rechtswidrig.
- Kassenbuchung ist KEINE Werbeeinwilligung: Das Erfassen einer Bestellung, eine Tischreservierung oder die Stammdatenanlage an der Kasse stellt keine Werbeeinwilligung dar! Das Feld
marketing_consentsteht im Kassensystem standardmäßig aufFalse. - Verbot gekaufter Adresslisten: Der Betreiber darf keine gekauften oder aus Drittquellen stammenden Adresslisten in das System importieren.
- SQL-erzwungener Werbeschutz: Das Kassensystem filtert Nicht-Einwilligende direkt auf Datenbankebene heraus (
WHERE marketing_consent IS True AND unsubscribed_at IS Null). Selbst wenn eine Kunden-ID manuell an den Versanddienst übergeben würde, prüft die Versand-Engine den Einwilligungskennwert erneut und blockiert den Versand an Kunden ohne Opt-in rechtssicher. - Keine Kontaktdaten in Protokollen: Nachrichtentexte, E-Mail-Adressen und Telefonnummern werden vom System niemals in Standard-Protokolldateien (Logs) geschrieben.
Was passiert im Hintergrund#
- Token-Prüfung in fester Zeit: Beim Aufruf eines Feedback-Links vergleicht das Kassensystem den übergebenen Token in konstanter Ausführungszeit (
compare_digest), um Timing-Angriffe zu verhindern. - Fernet-Verschlüsselung: API-Schlüssel von Versanddienstleistern werden mit einer symmetrischen Fernet-Verschlüsselung in der Datenbank geschützt und nur während der aktiven Versandausführung kurzzeitig im Arbeitsspeicher entschlüsselt.
- Idempotenter Versandschutz: Eine eindeutige Datenbanksperre auf
(campaign_id, customer_id)in den Versandprotokollen (CampaignRecipientLog) garantiert, dass ein Kunde bei Netzwerkwiederholungen dieselbe Werbenachricht niemals doppelt erhält. - Dead-Letter-Queue: Schlägt die Zustellung beim Provider fehl, führt das System bis zu 3 automatische Wiederholversuche durch (
MAX_RETRIES = 3). Bleibt der Versand erfolglos, wechselt der Eintrag in den StatusDEAD_LETTERund kann im Backoffice manuell neu gestartet werden (/replay).
Häufige Probleme#
1. Feedback already submitted for this visit#
- Ursache: Für die Rechnungs-ID dieses Belegs wurde bereits ein Feedback abgegeben.
- Lösung: Jede Rechnung kann konstruktionsbedingt nur genau einmal bewertet werden. Eine Mehrfachabgabe ist ausgeschlossen.
2. Feedback is available after the visit#
- Ursache: Der aufgerufene Feedback-Link gehört zu einer Bestellung, die noch nicht vollständig bezahlt oder abgeschlossen wurde (Status nicht
PAIDoderCLOSED). - Lösung: Feedback kann erst nach dem vollständigen Rechnungsabschluss abgegeben werden.
3. Invalid feedback link#
- Ursache: Die Webadresse des Feedback-Links wurde manuell verändert oder der übergebene HMAC-Token ist ungültig.
- Lösung: Scannen Sie den originalen QR-Code auf dem Kassenbon erneut.
4. Rating must be 1-5#
- Ursache: Bei der Bewertungsabgabe wurde ein Wert außerhalb der zugelassenen Skala von 1 bis 5 Sternen an den Server übermittelt.
- Lösung: Wählen Sie auf der Feedback-Gästeseite einen Sternewert zwischen 1 und 5 aus.
5. Customer or tenant not found#
- Ursache: Die im Kampagnenversand oder Unsubscribe-Link übergebene Kunden-ID oder Mandanten-ID existiert nicht in der Datenbank.
- Lösung: Überprüfen Sie den Kundenstamm im Backoffice.
6. No config found for provider {provider}#
- Ursache: Es wurde versucht, eine Marketingkampagne zu versenden, ohne dass im Backoffice die Zugangsdaten für den gewählten Versanddienstleister (z. B. Brevo) hinterlegt wurden.
- Lösung: Konfigurieren Sie im Reiter Provider-Einstellungen den Provider und speichern Sie den API-Schlüssel.
7. Segment not found#
- Ursache: Das für die Kampagne ausgewählte Kundensegment wurde gelöscht oder gehört zu einem anderen Mandanten.
- Lösung: Wählen Sie im Kampagnen-Formular ein gültiges, aktives Kundensegment aus.
8. Empfänger übersprungen / Werbe-E-Mail nicht zugestellt (marketing_consent = False oder unsubscribed_at gesetzt)#
- Ursache: Der Kunde besitzt keine ausdrückliche Werbeeinwilligung oder hat sich über den Abmeldelink ausgetragen.
- Lösung: Das System blockiert den Versand aus Datenschutzgründen automatisch. Eine manuelle Umgehung ist rechtlich und technisch ausgeschlossen.
Grenzen#
- Eine automatische Weiterleitung von positivem Gästefeedback (z. B. 5-Sterne-Bewertungen) auf externe Bewertungsplattformen wie Google Maps oder TripAdvisor ist in Phase 1 nicht enthalten.
- Der Import externer Werbeadressen ohne dokumentierte Opt-in-Historie wird von der Software aus rechtlichen Gründen nicht unterstützt.
Dieses Kapitel gehört zum Merkuron-Handbuch für Inhaber und Servicepersonal.