# Campagnes

### Wat kun je ermee?

**Voorbeelden:**

* Stuur een nieuwsbrief naar alle bezoekers van het afgelopen jaar
* Mail bezoekers uit een specifieke regio over een nieuwe voorstelling in hun buurt
* Stuur een bedankmail naar alle donateurs
* Heractiveer bezoekers die al lang geen kaarten meer hebben gekocht

***

### Hoe werkt het?

Het campagne systeem bestaat uit **3 stappen**:

1. **Selectie maken:** Kies je doelgroep (bijvoorbeeld "alle bezoekers uit Amsterdam")
2. **Template kiezen:** Selecteer een e-mail template met je boodschap
3. **Versturen:** Direct versturen (ad-hoc) of inplannen voor later (scheduled)

**Belangrijk:**

* Campagnes worden verstuurd in **batches van 250 emails** tegelijk (voor stabiliteit)
* Je kunt maximaal **10.000 ontvangers** per campagne hebben
* Alle campagnes respecteren automatisch opt-outs en privacy instellingen

***

### Campaign Types

#### 1. Ad-hoc Campagnes (Direct Versturen)

**Wat is het:** Een campagne die **direct** wordt verstuurd zodra je deze activeert.

**Wanneer gebruiken:**

* Dringende mededelingen
* Last-minute aanbiedingen
* Reacties op actualiteit
* Eenmalige nieuwsbrieven

**Voordeel:** Binnen enkele minuten in de inbox

***

#### 2. Geplande Campagnes (Scheduled)

**Wat is het:** Een campagne die op een **specifieke datum/tijd** wordt verstuurd.

**Wanneer gebruiken:**

* Nieuwsbrieven met vaste planning (elke maand op de 1e)
* Marketing campagnes met strategische timing
* Voorverkoop aankondigingen
* Seizoensgebonden acties

**Voordeel:** Automatisch versturen op het juiste moment

***

### Campagne Aanmaken

#### Stap 1: Ga naar Campagnes

Navigeer in het dashboard naar **E-mail > Campagnes**.

#### Stap 2: Nieuwe Campagne

Klik op **+ Nieuwe Campagne**.

#### Stap 3: Configuratie

| Veld              | Uitleg                                           |
| ----------------- | ------------------------------------------------ |
| **Campagne Naam** | Interne naam (bijv. "Nieuwsbrief December 2025") |
| **Template**      | Selecteer een e-mail template                    |
| **Selectie**      | Kies je doelgroep (zie Selecties maken)          |
| **Versturen**     | Kies: Nu (ad-hoc) of Later (geplande tijd)       |

***

### Selecties Maken

**Selecties** bepalen **wie** de campagne ontvangt. Dit zijn SQL-based regels die je doelgroep definiëren.

#### Selectie Voorbeelden

**Alle bezoekers van het afgelopen jaar:**

```sql
Bezoekers die in de afgelopen 12 maanden tickets hebben gekocht
```

**Bezoekers uit een specifieke regio:**

```sql
Bezoekers met postcode beginnend met "10" (Amsterdam)
```

**Bezoekers zonder abonnement:**

```sql
Bezoekers die wel tickets kochten maar nog nooit een passe-partout
```

**Bezoekers met specifieke tag:**

```sql
Bezoekers met tag "vriend" of "donor"
```

**Inactieve bezoekers:**

```sql
Bezoekers die > 12 maanden geleden voor het laatst tickets kochten
```

#### Selectie Regels Ophalen

Selecties worden opgeslagen in **Google Cloud Storage** en opgehaald via de Report Builder API.

**Beschikbare selecties:**

* Organisatoren kunnen selecties laten maken door support
* Selecties zijn herbruikbaar voor meerdere campagnes
* Selecties kunnen gecombineerd worden (AND/OR logic)

**Let op:** Technische kennis van SQL is handig voor custom selecties. Neem contact op met support voor hulp.

***

### Email Templates

Campagnes gebruiken **email templates** die je van tevoren aanmaakt.

#### Template Aanmaken

1. Ga naar **E-mail > Templates**
2. Klik op **+ Nieuwe Template**
3. Geef de template een naam (bijv. "Nieuwsbrief Template")
4. Ontwerp je email met HTML/CSS of gebruik de editor
5. Gebruik **merge variabelen** voor personalisatie

#### Merge Variabelen

Gebruik deze codes in je template om ze automatisch te vervangen met klantgegevens:

| Variabele       | Betekenis                             |
| --------------- | ------------------------------------- |
| `%FIRSTNAME%`   | Voornaam van de ontvanger             |
| `%LASTNAME%`    | Achternaam                            |
| `%EMAIL%`       | E-mailadres                           |
| `%SALUTATION%`  | Aanhef (bijv. "Beste Jan")            |
| `%COMPANYNAME%` | Jouw organisatie naam                 |
| `%UNSUBSCRIBE%` | Link om uit te schrijven (verplicht!) |

**Voorbeeld:**

```html
<SUBJECT>Nieuwsbrief December - %COMPANYNAME%</SUBJECT>

Beste %FIRSTNAME%,

Bedankt voor je interesse in ons theater!
We hebben spannend nieuws voor je...

[Jouw boodschap hier]

Groeten,
Het team van %COMPANYNAME%

<a href="%UNSUBSCRIBE%">Uitschrijven</a>
```

#### Subject in Template

Je kunt de **onderwerpregel** direct in de template zetten:

```html
<SUBJECT>Je persoonlijke nieuwsbrief</SUBJECT>

[Rest van de email...]
```

Alles tussen `<SUBJECT>` en `</SUBJECT>` wordt gebruikt als onderwerpregel.

Zie ook: E-mail Templates Aanpassen

***

### Campagne Versturen

#### Direct Versturen (Ad-hoc)

1. Maak campagne aan
2. Kies **Nu versturen**
3. Klik op **Versturen**
4. De campagne wordt direct in batches verstuurd

**Timing:**

* Eerste batch start **binnen enkele seconden**
* Batches van 250 emails per keer
* Totaal duurt \~1-5 minuten voor 1000 ontvangers

***

#### Inplannen (Scheduled)

1. Maak campagne aan
2. Kies **Later versturen**
3. Selecteer **datum en tijd**
4. Klik op **Inplannen**
5. De campagne wordt automatisch verstuurd op het gekozen moment

**Timing:**

* Campagne wordt **exact** op de gekozen tijd verstuurd
* Je kunt meerdere campagnes inplannen
* Geplande campagnes kun je annuleren (tot het moment van versturen)

***

### Batch Processing

Campagnes worden verstuurd in **batches** om de mailserver niet te overbelasten.

**Hoe het werkt:**

* Elke batch bevat **250 emails**
* Batches worden sequentieel verstuurd (niet parallel)
* Tussen batches zit een kleine vertraging (queue processing)

**Voorbeeld:**

```
Totaal ontvangers: 1000
Batches: 4 (250 + 250 + 250 + 250)
Geschatte duur: 3-5 minuten totaal
```

**Waarom batches?**

* Voorkomt memory issues
* Voorkomt timeouts
* Beschermt tegen spam-flagging
* Geeft betere stabiliteit

***

### Duplicate Preventie

Het systeem voorkomt dat je **per ongeluk** dezelfde campagne twee keer verstuurt.

**Controle bij aanmaken:** Als je een campagne aanmaakt met **exact dezelfde**:

* Template
* Selectie
* Naam
* Tijdstip

...dan geeft het systeem een **foutmelding** en voorkomt versturen.

**Let op:** Dit geldt alleen voor **geplande campagnes**. Ad-hoc campagnes kunnen in theorie duplicaat zijn (verschillende naam = nieuwe campagne).

***

### Beperkingen

#### Maximum Ontvangers

**Maximaal 10.000 ontvangers per campagne.**

**Waarom?**

* Beschermt tegen te grote campagnes
* Voorkomt mailserver overbelasting
* Dwingt gefocuste targeting

**Oplossing als je meer wilt versturen:**

* Splits je selectie in meerdere campagnes
* Neem contact op met support voor bulk campagnes

#### Minimum Ontvangers

**Minimaal 1 ontvanger.**

Het systeem controleert of je selectie **minstens 1 resultaat** oplevert. Anders krijg je een foutmelding.

***

### Test Campagnes

Voordat je een campagne naar duizenden mensen stuurt, kun je eerst **testen**.

#### Test Versturen

1. Maak je campagne aan (zonder te versturen)
2. Klik op **Test Campagne**
3. Vul een **test emailadres** in
4. De email wordt **direct** naar dit adres verstuurd
5. Controleer of alles correct is

**Wat te controleren:**

* Onderwerpregel correct?
* Merge variabelen goed ingevuld?
* Afbeeldingen laden?
* Links werken?
* Layout ziet er goed uit (desktop + mobiel)?
* Uitschrijflink werkt?

**Let op:** Test emails gebruiken **dummy data** voor merge variabelen (geen echte klantgegevens).

***

### Campaign Status Tracking

Elke campagne heeft een **status** die je kunt volgen.

#### Campaign Statussen

| Status         | Betekenis                                    |
| -------------- | -------------------------------------------- |
| **Geplanned**  | Campagne is ingepland, nog niet verstuurd    |
| **Processing** | Campagne wordt momenteel verstuurd (batches) |
| **Completed**  | Campagne volledig verstuurd                  |
| **Failed**     | Er is iets misgegaan tijdens versturen       |

#### Campaign Log

Voor elke campagne wordt bijgehouden:

* Aantal ontvangers
* Aantal verstuurd
* Aantal gefaald (bounces, drops)
* Job ID (voor technische tracking)
* Timestamp van aanmaken
* Timestamp van versturen

**Toegang tot logs:** Neem contact op met support voor inzage in campagne statistieken.

***

### Email Delivery Tracking

Nadat emails zijn verstuurd, kun je de **delivery status** volgen.

#### Email Statussen

| Status        | Betekenis                                                  |
| ------------- | ---------------------------------------------------------- |
| **Sent**      | Email is verstuurd door ons systeem                        |
| **Delivered** | Email is aangekomen bij de ontvanger                       |
| **Bounce**    | Email kon niet worden afgeleverd (adres bestaat niet)      |
| **Dropped**   | Email is geweigerd (spam filter, opt-out, etc.)            |
| **Opened**    | Ontvanger heeft de email geopend (indien tracking enabled) |
| **Clicked**   | Ontvanger heeft op een link geklikt                        |

***

### Opt-Outs & Privacy

Het systeem respecteert **automatisch** privacy instellingen.

#### Automatische Filters

**Campagnes worden NIET verstuurd naar:**

* Bezoekers die zich hebben **uitgeschreven** (opt-out)
* Email adressen die eerder als **spam** zijn gemarkeerd
* Email adressen met **hard bounces** (bestaat niet)
* Email adressen op de **blacklist**

#### Opt-Out Link Verplicht

**Elke campagne MOET** een uitschrijflink bevatten:

```html
<a href="%UNSUBSCRIBE%">Uitschrijven</a>
```

**Waarom verplicht?**

* Wettelijke verplichting (AVG/GDPR)
* Voorkomt spam-klachten
* Respecteert privacy van bezoekers

Zie ook: Privacy & AVG

***

### Best Practices

#### 1. Segmenteer je Doelgroep

Stuur **gerichte** emails naar **relevante** mensen:

**Goed:**

```
Selectie: Bezoekers die comedy shows bezochten
Campagne: Nieuwe comedy voorstelling aankondiging
```

**Slecht:**

```
Selectie: Alle bezoekers ooit
Campagne: Nieuwe comedy voorstelling
(Irrelevant voor mensen die alleen ballet zien)
```

#### 2. Personaliseer je Berichten

Gebruik merge variabelen om emails persoonlijker te maken:

**Goed:**

```
Beste %FIRSTNAME%,

Omdat je vorig jaar [Event] hebt bezocht...
```

**Minder goed:**

```
Beste bezoeker,

Wij willen je iets vertellen...
```

#### 3. Test Altijd Eerst

Stuur **altijd** een test email voordat je de campagne live zet.

**Checklist:**

* [ ] Subject duidelijk?
* [ ] Merge variabelen werken?
* [ ] Call-to-action helder?
* [ ] Links werken?
* [ ] Mobiel responsive?
* [ ] Uitschrijflink aanwezig?

#### 4. Timing is Belangrijk

Kies het **juiste moment** om te versturen:

**Goede tijden:**

* Dinsdag t/m donderdag (betere open rates)
* 10:00 - 11:00 uur of 14:00 - 15:00 uur
* Niet in het weekend (tenzij evenement gerelateerd)

**Vermijd:**

* Maandagochtend (volle inbox)
* Vrijdagmiddag (mensen zijn al weekend-mode)
* Late avond (emails verdwijnen in de lijst)

#### 5. Niet Te Vaak

Vermijd **campagne vermoeidheid**:

**Aanbevolen frequentie:**

* Nieuwsbrief: Maximaal 1x per maand
* Event announcements: Ad-hoc (bij nieuwe shows)
* Promoties: Maximaal 2x per maand

**Te vaak = meer opt-outs.**

#### 6. Monitor je Resultaten

Vraag support om **statistieken**:

* Open rate (hoeveel % opent je email?)
* Click rate (hoeveel % klikt op links?)
* Opt-out rate (hoeveel % schrijft zich uit?)

**Benchmark:**

* Open rate > 20% = goed
* Open rate < 10% = verbetering nodig
* Opt-out rate > 2% = mogelijk te vaak / niet relevant

***

### Veelgestelde Vragen

#### Kan ik een campagne annuleren?

**Ja**, maar alleen **geplande campagnes** die nog niet zijn verstuurd. Neem direct contact op met support.

#### Kan ik zien wie de email heeft ontvangen?

**Ja**, support kan je een lijst geven van ontvangers en hun delivery status.

#### Wat gebeurt er bij bounces?

Email adressen die **hard bouncen** (niet bestaan) worden automatisch gemarkeerd en krijgen geen volgende campagnes meer.

#### Kan ik attachments toevoegen?

**Nee**, campagne emails ondersteunen geen attachments (vanwege spam-risico). Gebruik links naar downloads.

#### Werkt HTML in mijn templates?

**Ja**, je kunt volledige HTML emails maken met CSS styling.

#### Kan ik afbeeldingen gebruiken?

**Ja**, maar **host ze extern** (bijv. op je website) en gebruik `<img src="https://...">` tags.

#### Hoe voorkom ik spam filters?

* Gebruik geen SPAM-gevoelige woorden ("GRATIS", "KLIK HIER")
* Zorg voor uitschrijflink
* Stuur niet te vaak
* Houd je aan privacy regels
* Test je email met spam checkers

#### Kan ik campagnes combineren met Mailchimp?

Het VoordeMensen CRM systeem is **apart** van Mailchimp. Je kunt beide gebruiken, maar ze synchroniseren niet automatisch.

Zie ook: Mailchimp Koppeling

***

### Troubleshooting

#### "Selectie is te groot" foutmelding

Je selectie heeft meer dan 10.000 ontvangers.

**Oplossing:**

* Verfijn je selectie criteria
* Splits in meerdere campagnes
* Neem contact op met support

#### "Geen rijen gevonden in selectie"

Je selectie criteria leveren 0 resultaten op.

**Oplossing:**

* Controleer je selectie regels
* Test met bredere criteria
* Vraag support om te helpen debuggen

#### "Duplicate campaign" foutmelding

Je probeert exact dezelfde campagne nogmaals aan te maken.

**Oplossing:**

* Wijzig de campagne naam
* Kies een andere tijd
* Check of de campagne al bestaat

#### Campagne lijkt niet verstuurd

**Check:**

1. Is de campagne status "Completed"?
2. Kijk in de campaign log (vraag support)
3. Check email delivery status van ontvangers
4. Controleer spam folders van test ontvangers

#### Merge variabelen werken niet

**Check:**

1. Gebruik je de juiste syntax? (`%FIRSTNAME%` met %)
2. Zijn de variabelen beschikbaar in je template?
3. Test met een test email


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.voordemensen.nl/dashboard/e-mail/campagnes.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
