Een e-mail kun je personaliseren op basis van een waarde uit je database. Bijvoorbeeld de voornaam of een aanhef. Je kunt elk databaseveld in je campagne gebruiken. Maak je gebruik van collecties (een relationele database), dan kun je meer gegevens tonen in je bericht. Denk aan orderinformatie of accountmanagergegevens.
- Personalisatie in de tekst: video's
- Personalisatie in de tekst: Geschreven uitleg
- Voorbeelden uit de video's
Personalisatie in de tekst: video's
In onderstaande video krijg je een introductie over personalisatie in de tekst van de e-mail. Zoals personaliseren in de onderwerpregel, aanhef en in de lopende tekst.
De volgende video gaat over het volgende personalisatie-niveau. Zoals personaliseren op datumveld, een stuk tekst laten verschijnen/verdwijnen en in de afzender de gekoppelde accountmanager tonen.
Personalisatie in de tekst: Geschreven uitleg
Om personalisatie toe te voegen ga je naar een tekstveld en klik je op het persoon-icoon. Vervolgens kies je het databaseveld dat je wilt toepassen. De code wordt automatisch geplaatst in de tekst.
Voorbeeld van personalisatie op basis van een naam:
Het woord Beste en de komma typ je zelf als tekst. Het stuk tussen de accolades is het gepersonaliseerde gedeelte. Spotler MailPro weet aan de hand van de database welke waarde hij voor een contact moet tonen. Zie ook de volgende voorbeelden.
Voorbeelden uit de video's
Personalisatie op een databaseveldwaarde ziet er als volgt uit:
{{ contact.veldnaam }}
Als je een veld met de naam "voornaam" hebt, personaliseer je daar dus als volgt op:
{{ contact.voornaam }}
Wanneer niet voor elk contact het databaseveld is gevuld, kun je het beste een alternatieve waarde gebruiken om gaten in de tekst te voorkomen.
Een fallback of standaardwaarde voeg je op deze manier toe:
{{ contact.voornaam|default('lezer') }}
In dit geval komt er "lezer" te staan wanneer de voornaam van een contact onbekend is.
Personalisatie op een datumveld werkt vergelijkbaar. Hier vind je een paar manieren om de datum van het veld "event_date" te tonen:
{{ contact.event_date }} --> 2024-01-01
{{ contact.event_date | date('d-m-Y') }} --> 01-01-2024
{{ contact.event_date | date('d F Y') }} --> 01 January 2024
{{ contact.event_date | format_date(locale='nl', dateFormat='long') }} --> 1 januari 2024
{{ contact.event_date | format_date(locale='nl', pattern='d MMM Y') }} --> 1 jan. 2024
De volgende code kun je gebruiken om een stuk tekst alleen te tonen als een contact een waarde heeft bij een databaseveld:
{% if contact.veldnaam is not empty %}
[tekst]
{% endif %}
Hoe de gepersonaliseerde velden uiteindelijk getoond worden in de mail, zie je terug in het gepersonaliseerde voorbeeld.
Test een mail altijd goed voordat je deze definitief verzendt, zeker als je personalisatie gebruikt.
De volledige Twig documentatie kun je vinden op https://twig.symfony.com/.
Personaliseren met collecties
Het is ook mogelijk om collecties te gebruiken om de tekst te personaliseren op basis van relationele data.
Bij een One to One (1:1) of One to many (1:n) relatie, selecteer of schrijf je simpelweg het collectieveld dat je wilt tonen, bijvoorbeeld zo:
{{ collection().adressen.woonplaats }}
In dit voorbeeld wordt het adres van een klant getoond:
Het resultaat is dan:
Bij een Many to one (n:1) relatie kun je alle gegevens uit de collectie tonen, of op basis van een filter alleen specifieke items tonen.
Om alle gegevens te tonen, selecteer je het collectieveld en werk je eventueel de gegenereerde code naar wens bij. In onderstaand voorbeeld worden de productnamen van alle bestellingen van een klant getoond.
{% for key, bestellingen in collection().bestellingen %}
{{ bestellingen.productnaam }}
{% endfor %}
Specifieke items tonen doe je op basis van filters. Maak eerst de filter aan. Maak via het tandwielicoon het ID zichtbaar. Deze heb je nodig voor de code in de mail. In onderstaande voorbeeld zoeken we de ID op van de filter "Bestelling met meubels".
In de mail maak je gebruik van de functie collectionSearch() om alle items te zoeken die aan de filter voldoen. Tussen de haakjes plaats je het ID van de filter. In onderstaande voorbeeld worden de productnamen van alle bestellingen met meubels van een klant getoond.
{% for key, collection in collectionSearch(406882) %}
{{ collection.bestellingen.productnaam }}
{% endfor %}
Het resultaat is dan bijvoorbeeld:
Conditionele contentblokken en conditioneel verzenden
Naast personalisatie in je bericht toepassen is het ook mogelijk om te personaliseren aan de hand van filters. Dit noemen we conditionele content. Hiermee kun je een blok content alleen tonen of de hele mail alleen sturen naar relevante ontvangers. Lees hier meer over in het artikel: Hoe personaliseer ik e-mails op basis van gegevens in mijn database.