# Smart Content – Dokumentation

> Vollständige Dokumentation des Moduls DataFirefly Smart Content: Installation, KI-Einstellungen, Erstellung von Segmenten und Kampagnen, A/B-Testing, Statistiken, DSGVO und Fehlerbehebung.

- Seite: <https://www.datafirefly.com/de/documentation/dfsmartcontent/>
- Sprache: de
- Aktualisiert am: 2026-06-25
- Weitere Sprachen: [fr](https://www.datafirefly.com/documentation/dfsmartcontent/index.md), [en](https://www.datafirefly.com/en/documentation/dfsmartcontent/index.md), [es](https://www.datafirefly.com/es/documentation/dfsmartcontent/index.md), [it](https://www.datafirefly.com/it/documentation/dfsmartcontent/index.md), [pl](https://www.datafirefly.com/pl/documentation/dfsmartcontent/index.md), [pt](https://www.datafirefly.com/pt/documentation/dfsmartcontent/index.md), [nl](https://www.datafirefly.com/nl/documentation/dfsmartcontent/index.md)
- Index: <https://www.datafirefly.com/de/documentation/llms.txt>

## Überblick

DataFirefly Smart Content personalisiert die Inhalte Ihres PrestaShop-Shops nach Profil, Verhalten, Warenkorb und Kontext jedes Besuchers. Das Prinzip ist einfach: Sie definieren **Segmente** (Zielgruppen) und dann **Kampagnen**, die ein Segment mit einem HTML-Inhalt in einer Theme-Zone verknüpfen. Auf jeder Seite bewertet das Modul den Besucher und zeigt den Inhalt der Kampagne mit der höchsten Priorität an, deren Segment passt.

Das Modul deckt den gesamten Zyklus ab: verhaltensbasierte Segmentierung, Multizonen-Auslieferung, A/B-Testing, Conversion-Statistiken und zwei KI-Assistenten (Inhaltserstellung und Segmentvorschläge).

Kompatibel mit PrestaShop 1.7.6 bis 8.x und 9.x, multishop- und mehrsprachenfähig. Es werden keine personenbezogenen Daten gespeichert.

## Installation

1. Legen Sie den Ordner `dfsmartcontent` in das Verzeichnis `/modules/` Ihres Shops, oder installieren Sie das ZIP über _Module → Modulmanager → Modul hochladen_.
2. Klicken Sie auf **Installieren**. Die Tabellen und Admin-Tabs werden automatisch erstellt.
3. Ein neues Menü **Smart Content** erscheint mit vier Unterbereichen: _Dashboard_, _Kampagnen_, _Segmente_ und _Einstellungen_.

## Einstellungen konfigurieren

Gehen Sie zu **Smart Content → Einstellungen**. Dort stehen zwei Parametergruppen zur Verfügung.

### KI-Parameter

- **KI-Endpoint-URL**: der Chat-Completions-Endpoint (OpenAI / Mistral kompatibel). Standard: `https://api.mistral.ai/v1/chat/completions`.
- **KI-Modell**: zum Beispiel `mistral-large-latest` oder `gpt-4o-mini`.
- **KI-API-Schlüssel**: Ihr Schlüssel, serverseitig gespeichert und niemals im Frontend offengelegt. Solange er leer ist, sind die KI-Funktionen deaktiviert, der Rest des Moduls funktioniert jedoch normal.

### Datenschutz

- **Cookie-Einwilligung berücksichtigen**: standardmäßig aktiviert. Tracking-Beacons (Impressionen / Klicks) werden erst ausgelöst, sobald die Einwilligung erkannt wird.

Jeder Anbieter mit einem Standard-Chat-Completions-Vertrag ist geeignet. Passen Sie einfach URL und Modellnamen an.

## Ein Segment erstellen

Ein Segment ist eine Zielgruppe, die durch eine oder mehrere **Regeln** definiert wird. Gehen Sie zu **Smart Content → Segmente → Segment hinzufügen**.

- **Name**: eine interne Bezeichnung (z. B. „VIP-Kunden“).
- **Übereinstimmungslogik**: _ALLE Regeln (UND)_ verlangt, dass jede Regel wahr ist; _BELIEBIGE Regel (ODER)_ genügt, wenn eine wahr ist.
- **Priorität**: Segmente mit höherer Priorität werden zuerst ausgewertet.
- **Regeln**: Fügen Sie Ihre Bedingungen Zeile für Zeile mit dem visuellen Builder hinzu.

Ein Segment ohne Regeln trifft auf alle zu: praktisch als „Standard“-Zielgruppe.

### Regelreferenz

Jede Regel besteht aus einem **Attribut**, einem **Operator** und einem **Wert**. Bei Listen trennen Sie die Werte mit Kommas. Bei Bereichen (Operator _between_) geben Sie zwei kommagetrennte Werte an.

- `customer_group` — Kundengruppe (IDs). Operatoren: in / not_in.
- `logged_in` — angemeldeter Besucher (1 oder 0). Operator: eq.
- `new_returning` — `new` oder `returning` nach Bestellhistorie. Operator: eq.
- `country` — Land (IDs). Operatoren: in / not_in.
- `language` — Sprache (IDs). Operatoren: in / not_in.
- `currency` — Währung (IDs). Operatoren: in / not_in.
- `device` — `desktop`, `tablet` oder `mobile`. Operator: in.
- `orders_count` — Anzahl gültiger Bestellungen. Operatoren: gte / lte / eq / between.
- `total_spent` — Gesamtausgaben. Operatoren: gte / lte / between.
- `days_since_order` — Tage seit der letzten Bestellung. Operatoren: gte / lte / between.
- `cart_total` — aktuelle Warenkorbsumme. Operatoren: gte / lte / between.
- `cart_has_category` — Kategorie im Warenkorb (IDs). Operator: in.
- `cart_has_product` — Produkt im Warenkorb (IDs). Operator: in.
- `newsletter` — Newsletter-Abonnent (1 oder 0). Operator: eq.
- `source_utm` — UTM-Quelle der Sitzung. Operatoren: eq / contains.
- `referrer` — verweisende Website. Operatoren: contains / not_contains.
- `hour_range` — Zeitfenster (z. B. `9,18`). Operator: between.
- `weekday` — Wochentag (1 = Montag … 7 = Sonntag). Operator: in.
- `visits` — Anzahl der Besuche des Besuchers. Operatoren: gte / lte / eq.

Das Panel „Referenz-IDs“ unter dem Builder listet die IDs Ihrer Gruppen, Sprachen und Währungen, damit Sie sie nicht anderswo suchen müssen.

**Beispiel** — Segment „Großkunden reaktivieren“, UND-Logik: `total_spent` gte `200` + `days_since_order` gte `60`.

## Eine Kampagne erstellen

Eine Kampagne liefert einen Inhalt an ein oder mehrere Segmente in einer Theme-Zone aus. Gehen Sie zu **Smart Content → Kampagnen → Kampagne hinzufügen**.

- **Name**: interne Bezeichnung.
- **Anzeigezone**: der Hook, in dem der Inhalt erscheint (siehe Liste unten).
- **Zielsegmente**: ein oder mehrere Segmente. Leer lassen, um alle Besucher anzusprechen.
- **Priorität**: Zielen mehrere Kampagnen auf dieselbe Zone, gewinnt die passende mit der höchsten Priorität.
- **A/B-Testing**: aktivieren, um mehrere Varianten auszuliefern (siehe eigener Abschnitt).
- **Frequenzbegrenzung**: maximale Impressionen pro Besucher (0 = unbegrenzt), über ein in Tagen angegebenes Fenster.
- **Start- / Enddatum**: optionale Kampagnenplanung.
- **Inhaltsvarianten**: der HTML-Inhalt, pro Sprache bearbeitbar.

### Verfügbare Anzeigezonen

`displayHome`, `displayTop`, `displayNav1`, `displayBanner`, `displayWrapperTop`, `displayWrapperBottom`, `displayLeftColumn`, `displayRightColumn`, `displayFooter`, `displayProductAdditionalInfo`, `displayShoppingCartFooter`.

## A/B-Testing

Aktivieren Sie die Option **A/B-Testing** für die Kampagne und fügen Sie dann mehrere Varianten hinzu. Jede Variante hat eine Bezeichnung (A, B, …) und ein **Gewicht**. Das Modul wählt bei jeder Anzeige zufällig eine Variante, proportional zu den Gewichten. Ohne A/B-Testing wird die erste aktive Variante verwendet.

Der Inhalt jeder Variante wird pro Sprache eingegeben. Das Dashboard vergleicht anschließend die Leistung jeder Variante (Impressionen, CTR, CVR, Umsatz).

Für einen 50/50-Test geben Sie beiden Varianten dasselbe Gewicht (z. B. 1 und 1). Für 70/30 verwenden Sie 7 und 3.

## KI-Inhaltsgenerator

Im Kampagnen-Editor schreibt das Panel **KI-Inhaltsgenerator** einen conversion-orientierten HTML-Block. Geben Sie den Segmentnamen, eine Zielgruppenbeschreibung, das Ziel der Botschaft und den Tonfall ein, wählen Sie die Sprache und klicken Sie auf **Generieren**. Der erzeugte Inhalt wird in das Textfeld der aktiven Variante / Sprache eingefügt.

Diese Funktion erfordert einen in den Einstellungen hinterlegten API-Schlüssel.

## KI-Segmentvorschläge

Über **Smart Content → Segmente** öffnet die Schaltfläche **KI-Segmentvorschläge** eine Seite, die die echten Statistiken Ihres Shops zusammenfasst (aktive Kunden, Bestellungen, Wiederkäufer, Newsletter-Abonnenten…). Klicken Sie auf **Vorschläge generieren**: Die KI schlägt 3 bis 5 hochwertige Segmente vor, jeweils mit einer Beschreibung, einer Begründung und einem Regelsatz, der bereit zum Übernehmen in das Erstellungsformular ist.

## Dashboard und Statistiken

**Smart Content → Dashboard** aggregiert die Leistung über den gewählten Zeitraum: Impressionen, Klicks und Klickrate (CTR), Conversions und Conversion-Rate (CVR) sowie zugeordneter Umsatz. Eine Tabelle schlüsselt die Ergebnisse pro Kampagne auf, eine zweite vergleicht die A/B-Varianten.

### Wie Conversions zugeordnet werden

Beim Klick auf einen personalisierten Block wird die letzte Interaktion (Kampagne, Variante, Segment) im Sitzungs-Cookie gespeichert. Bei der Bestellbestätigung schreibt das Modul die Conversion und deren Umsatz dieser Kampagne gut und löscht dann die Zuordnung, um Doppelzählungen zu vermeiden.

## Datenschutz und DSGVO

- Es werden keine personenbezogenen Daten gespeichert: Das Tracking basiert auf einer anonymen Besucherkennung (einem Hash), die für die Frequenzbegrenzung und die Entduplizierung verwendet wird.
- Die Option **Cookie-Einwilligung berücksichtigen** steuert, wann die Messung ausgelöst wird. Erkannte Signale: `window.dfscConsentGranted = true`, oder die Cookies `hideBanner=1`, `axeptio_authorized`, `cookieconsent_status=allow`.
- Um Ihre eigene CMP anzubinden, setzen Sie `window.dfscConsentGranted` auf `true`, sobald die Einwilligung vorliegt.

## Einfügen per Widget

Das Modul implementiert die Widget-Schnittstelle von PrestaShop. Sie können einen Block daher direkt in ein Template einfügen:

```
{widget name='dfsmartcontent' hook='displayHome'}
```

Der Parameter `hook` gibt an, welche Zone ausgewertet wird.

## FAQ und Fehlerbehebung

### Mein Block wird nicht angezeigt

Prüfen Sie, ob die Kampagne aktiv ist, ob ihre Zone einem in Ihrem Theme vorhandenen Hook entspricht, ob mindestens eine Variante Inhalt für die aktuelle Sprache hat und ob der Besucher tatsächlich einem Zielsegment entspricht. Ist eine Frequenzbegrenzung erreicht, wird der Block diesem Besucher innerhalb des definierten Fensters nicht mehr angezeigt.

### Die Statistiken bleiben bei null

Ist die Einwilligungsoption aktiv, werden Beacons erst nach Zustimmung ausgelöst. Prüfen Sie, ob Ihr Cookie-Banner eines der erkannten Signale sendet, oder setzen Sie `window.dfscConsentGranted`.

### Die KI-Funktionen geben einen Fehler zurück

Stellen Sie sicher, dass API-Schlüssel, URL und Modell in den Einstellungen korrekt sind und dass Ihr Server den Endpoint ausgehend erreichen kann.
