# Smart Content: volledige gids

> Volledige documentatie van de module DataFirefly Smart Content: installatie, AI-instellingen, aanmaken van segmenten en campagnes, A/B-tests, statistieken, AVG en probleemoplossing.

- Pagina: <https://www.datafirefly.com/nl/documentation/dfsmartcontent/>
- Taal: nl
- Bijgewerkt op: 2026-09-10
- Andere talen: [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), [de](https://www.datafirefly.com/de/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)
- Index: <https://www.datafirefly.com/nl/documentation/llms.txt>

## Overzicht

DataFirefly Smart Content personaliseert de inhoud van uw PrestaShop-winkel op basis van het profiel, het gedrag, de winkelwagen en de context van elke bezoeker. Het principe is eenvoudig: u definieert **segmenten** (doelgroepen) en vervolgens **campagnes** die een segment koppelen aan HTML-inhoud die in een zone van het thema wordt getoond. Bij elke pagina evalueert de module de bezoeker en toont ze de inhoud van de campagne met de hoogste prioriteit waarvan het segment overeenkomt.

De module dekt de volledige cyclus: gedragssegmentatie, multi-zone weergave, A/B-tests, conversiestatistieken en twee AI-assistenten (inhoudsgeneratie en segmentsuggesties).

Compatibel met PrestaShop 1.7.6 tot 8.x en 9.x, multistore en meertalig. Er worden geen persoonsgegevens opgeslagen.

## Installatie

1. Plaats de map `dfsmartcontent` in de map `/modules/` van uw winkel, of installeer de ZIP via _Modules → Module Manager → Een module installeren_.
2. Klik op **Installeren**. De tabellen en beheertabbladen worden automatisch aangemaakt.
3. Er verschijnt een nieuw menu **Smart Content**, met vier subsecties: _Dashboard_, _Campagnes_, _Segmenten_ en _Instellingen_.

## Instellingen configureren

Ga naar **Smart Content → Instellingen**. Er zijn twee groepen parameters beschikbaar.

### AI-parameters

- **URL van het AI-endpoint**: het chat-completion-endpoint (compatibel met OpenAI / Mistral). Standaardwaarde: `https://api.mistral.ai/v1/chat/completions`.
- **AI-model**: bijvoorbeeld `mistral-large-latest` of `gpt-4o-mini`.
- **AI-API-sleutel**: uw sleutel, server-side opgeslagen en nooit blootgesteld aan de front. Zolang ze leeg is, zijn de AI-functies uitgeschakeld maar werkt de rest van de module normaal.

### Privacy

- **Cookietoestemming respecteren**: standaard ingeschakeld. De trackingtags (impressies / kliks) worden pas geactiveerd zodra de toestemming is gedetecteerd.

Elke provider die een standaard _chat completions_-contract aanbiedt is geschikt. Het volstaat de URL en de modelnaam aan te passen.

## Een segment aanmaken

Een segment is een doelgroep die door een of meerdere **regels** wordt gedefinieerd. Ga naar **Smart Content → Segmenten → Een segment toevoegen**.

- **Naam**: een intern label (bijv. "VIP-klanten").
- **Matchinglogica**: _Alle regels (EN)_ vereist dat elke regel waar is; bij _Minstens één regel (OF)_ volstaat één ware regel.
- **Prioriteit**: segmenten met een hogere prioriteit worden eerst geëvalueerd.
- **Regels**: voeg uw voorwaarden regel per regel toe via de visuele builder.

Een segment zonder regels komt met iedereen overeen: praktisch als "standaard"-doelgroep.

### Regelreferentie

Elke regel bestaat uit een **attribuut**, een **operator** en een **waarde**. Scheid bij lijsten de waarden met komma's. Geef bij bereiken (operator _between_) twee waarden op, gescheiden door een komma.

- `customer_group` — klantgroep (ID's). Operatoren: in / not_in.
- `logged_in` — ingelogde bezoeker (1 of 0). Operator: eq.
- `new_returning` — `new` of `returning` volgens de bestelgeschiedenis. Operator: eq.
- `country` — land (ID's). Operatoren: in / not_in.
- `language` — taal (ID's). Operatoren: in / not_in.
- `currency` — valuta (ID's). Operatoren: in / not_in.
- `device` — `desktop`, `tablet` of `mobile`. Operator: in.
- `orders_count` — aantal geldige bestellingen. Operatoren: gte / lte / eq / between.
- `total_spent` — totaal besteed. Operatoren: gte / lte / between.
- `days_since_order` — dagen sinds de laatste bestelling. Operatoren: gte / lte / between.
- `cart_total` — totaal van de huidige winkelwagen. Operatoren: gte / lte / between.
- `cart_has_category` — categorie aanwezig in de winkelwagen (ID's). Operator: in.
- `cart_has_product` — product aanwezig in de winkelwagen (ID's). Operator: in.
- `newsletter` — nieuwsbriefabonnee (1 of 0). Operator: eq.
- `source_utm` — UTM-bron van de sessie. Operatoren: eq / contains.
- `referrer` — verwijzende site. Operatoren: contains / not_contains.
- `hour_range` — tijdvak (bijv. `9,18`). Operator: between.
- `weekday` — weekdag (1 = maandag … 7 = zondag). Operator: in.
- `visits` — aantal bezoeken van de bezoeker. Operatoren: gte / lte / eq.

Het paneel "Referentie-ID's" onder de builder toont de identifiers van uw groepen, talen en valuta's, zodat u ze niet elders hoeft op te zoeken.

**Voorbeeld** — segment "Grote klanten om te heractiveren", EN-logica: `total_spent` gte `200` + `days_since_order` gte `60`.

## Een campagne aanmaken

Een campagne toont inhoud aan een of meerdere segmenten in een zone van het thema. Ga naar **Smart Content → Campagnes → Een campagne toevoegen**.

- **Naam**: intern label.
- **Weergavezone**: de hook waar de inhoud verschijnt (zie de lijst hieronder).
- **Doelsegmenten**: een of meerdere segmenten. Laat leeg om alle bezoekers te targeten.
- **Prioriteit**: als meerdere campagnes dezelfde zone targeten, wint de overeenkomende campagne met de hoogste prioriteit.
- **A/B-tests**: schakel in om meerdere varianten te tonen (zie de aparte sectie).
- **Frequentieplafond**: maximumaantal impressies per bezoeker (0 = onbeperkt), over een venster uitgedrukt in dagen.
- **Begin-/einddatum**: optionele planning van de campagne.
- **Inhoudsvarianten**: de HTML-inhoud, per taal te bewerken.

### Beschikbare weergavezones

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

## A/B-tests

Schakel de optie **A/B-tests** op de campagne in en voeg meerdere varianten toe. Elke variant heeft een label (A, B, …) en een **gewicht**. De module loot bij elke weergave een variant, evenredig met de gewichten. Zonder A/B-tests wordt de eerste actieve variant gebruikt.

De inhoud van elke variant wordt per taal ingevoerd. Het dashboard vergelijkt vervolgens de prestaties van elke variant (impressies, CTR, CVR, omzet).

Geef voor een 50/50-test beide varianten hetzelfde gewicht (bijvoorbeeld 1 en 1). Gebruik voor een 70/30-verdeling 7 en 3.

## AI-inhoudsgenerator

In de campagne-editor schrijft het paneel **AI-inhoudsgenerator** een conversiegericht HTML-blok. Vul de naam van het segment in, een beschrijving van de doelgroep, het doel van de boodschap en de toon, kies de taal en klik op **Genereren**. De geproduceerde inhoud wordt ingevoegd in het tekstveld van de actieve variant / taal.

Deze functie vereist een in de Instellingen ingevulde API-sleutel.

## AI-segmentsuggesties

Vanuit **Smart Content → Segmenten** opent de knop **AI-segmentsuggesties** een pagina die de werkelijke statistieken van uw winkel samenvat (actieve klanten, bestellingen, terugkerende kopers, nieuwsbriefabonnees…). Klik op **Suggesties genereren**: de AI stelt 3 tot 5 segmenten met hoge waarde voor, elk met een beschrijving, een onderbouwing en een set regels die klaar zijn om in het aanmaakformulier over te nemen.

## Dashboard en statistieken

**Smart Content → Dashboard** aggregeert de prestaties over de gekozen periode: impressies, kliks en klikpercentage (CTR), conversies en conversiepercentage (CVR), en toegekende omzet. Een tabel toont de resultaten per campagne, en een tweede de vergelijking van de A/B-varianten.

### Hoe conversies worden toegekend

Bij een klik op een gepersonaliseerd blok wordt de laatste interactie (campagne, variant, segment) in de sessiecookie onthouden. Bij het valideren van een bestelling kent de module de conversie en de omzet toe aan die campagne, en wist ze de toekenning om dubbele telling te voorkomen.

## Privacy en AVG

- Er worden geen persoonsgegevens opgeslagen: de tracking steunt op een anonieme bezoekersidentifier (een hash), gebruikt voor het frequentieplafond en de deduplicatie.
- De optie **Cookietoestemming respecteren** bepaalt het activeren van de metingen. Herkende signalen: `window.dfscConsentGranted = true`, of de cookies `hideBanner=1`, `axeptio_authorized`, `cookieconsent_status=allow`.
- Zet, om uw eigen CMP aan te sluiten, `window.dfscConsentGranted` op `true` zodra de toestemming is verkregen.

## Invoegen via widget

De module implementeert de widgetinterface van PrestaShop. U kunt een blok dus direct in een template invoegen:

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

De parameter `hook` geeft aan welke zone moet worden geëvalueerd.

## FAQ en probleemoplossing

### Mijn blok wordt niet getoond

Controleer of de campagne actief is, of haar zone overeenkomt met een hook die in uw thema aanwezig is, of minstens één variant inhoud heeft voor de huidige taal, en of de bezoeker overeenkomt met een getarget segment. Als een frequentieplafond is bereikt, wordt het blok binnen het gedefinieerde venster niet meer aan die bezoeker getoond.

### De statistieken blijven op nul

Als de toestemmingsoptie actief is, worden de tags pas na akkoord geactiveerd. Controleer of uw cookiebanner een van de herkende signalen afgeeft, of zet `window.dfscConsentGranted`.

### De AI-functies geven een fout terug

Controleer of de API-sleutel, de URL en het model correct zijn in de Instellingen, en of uw server het endpoint uitgaand kan bereiken.
