De totale klikratio van een campagne laat zien hoe de doelgroep als geheel reageerde. Om te begrijpen wat erachter zit, wil je soms groepen binnen die doelgroep vergelijken: recente kopers, klanten die al langer niets bestelden of mensen in verschillende RFM-segmenten.
Staan die kenmerken al in Deployteq, dan kun je ze met je e-mailgebeurtenissen aan SEINō doorgeven en als dimensies in rapportages gebruiken. Deze gids volgt de aanpak uit de klantcase van Mepal, met Smarty-code die klanten indeelt op de tijd sinds hun laatste aankoop.
Begin bij de vragen die je wilt beantwoorden
Mepal wilde zien welke klantgroepen bijdroegen aan campagneresultaten. Het meetplan bevatte vijf dimensies:
| Dimensie | Voorbeeldvraag |
|---|---|
| RFM-segment | Hoe reageerden onze waardevolste klanten? |
| Tijd sinds eerste aankoop | Gedragen nieuwe klanten zich anders dan bestaande klanten? |
| Tijd sinds laatste aankoop | Welke groepen klikken nog na een lange periode zonder bestelling? |
| Leeftijd van het abonnement | Verandert engagement naarmate iemand langer is aangemeld? |
| Klant met een gepersonaliseerd product | Reageren kopers van gepersonaliseerde producten anders? |
Bepaal dimensies en categorieën voordat je code toevoegt. Mepal gebruikte zijn RFM-model en analyses om bruikbare tijdsintervallen vast te leggen. Daarna maakte het team oudere klantrecords zonder geldige waarden schoon.
Je hebt toegang nodig tot de relevante klantvelden en e-mailtemplate in Deployteq, een bestaande koppeling met SEINō en een plan om de metadatavelden aan dimensies te verbinden. Voor vergelijkingen met websitegedrag moeten ook je webanalysekoppeling en campagnetracking zijn ingesteld.
Voeg klantkenmerken toe aan de metadata
Een Deployteq-template kan tijdens het opbouwen van een e-mail klantkenmerken lezen en waarden berekenen. Zet die waarden in de array $metadata, zodat ze meegaan met de gebeurtenissen via de Analytics API.
Als de variabelen hieronder al door je template zijn gevuld, ziet dat er zo uit:
<!--{$metadata['seino_rfm'] = $rfm}-->
<!--{$metadata['seino_last_bucket'] = $last_order_bucket}-->
<!--{$metadata['seino_first_bucket'] = $first_order_bucket}-->
<!--{$metadata['seino_subscribed_bucket'] = $subscribed_bucket}-->
<!--{$metadata['seino_mymepal_kopers'] = $mymepal_kopers}-->
Deze namen komen uit het voorbeeld van Mepal. Kies namen die bij je eigen kenmerken passen en gebruik ze consequent in de template en de mapping in SEINō. De toewijzingen geven bestaande waarden door; ze berekenen de segmenten niet zelf.
Bereken de tijd sinds de laatste aankoop
Dit is het volledige voorbeeld voor één dimensie. De code leest de datum van de laatste bestelling, berekent hoeveel hele maanden sindsdien voorbij zijn, kiest een categorie voor de rapportage en stuurt die naar SEINō.
Vervang E29 door het veld met de laatste besteldatum in jouw Deployteq-omgeving.
<!-- Current date -->
{{$current_day = "{{currentdate|@strtotime format='%Y-%m-%d'}}"}}
{{$current_y = $current_day|date_format:"%Y"}}
{{$current_m = $current_day|date_format:"%m"}}
{{$current_d = $current_day|date_format:"%d"}}
<!-- Read last order date -->
{{customer_option|htmlentities field='E29' assign='last_order'}}
{{if $last_order}}
{{$last_order = $last_order|@strtotime}}
{{$last_y = $last_order|date_format:"%Y"}}
{{$last_m = $last_order|date_format:"%m"}}
{{$last_d = $last_order|date_format:"%d"}}
<!-- Calculate months since last purchase -->
{{assign var=months_since value=(($current_y - $last_y) * 12) + ($current_m - $last_m)}}
<!-- Correct if the current month has not yet fully passed -->
{{if $current_d < $last_d}}
{{assign var=months_since value=$months_since-1}}
{{/if}}
<!-- Convert to reporting bucket -->
{{if $months_since < 6}}
{{$last_order_bucket = "0 - 6 months"}}
{{elseif $months_since < 9}}
{{$last_order_bucket = "6 - 9 months"}}
{{elseif $months_since < 12}}
{{$last_order_bucket = "9 - 12 months"}}
{{elseif $months_since < 15}}
{{$last_order_bucket = "12 - 15 months"}}
{{else}}
{{$last_order_bucket = "15 - 24+ months"}}
{{/if}}
{{else}}
{{$last_order_bucket = "No orders"}}
{{/if}}
<!-- Send metadata to SEINō -->
<!--{$metadata['seino_last_order_bucket'] = $last_order_bucket}-->
Dit losse voorbeeld gebruikt de metadatasleutel seino_last_order_bucket. Het eerdere voorbeeld met meerdere dimensies gebruikt seino_last_bucket voor dezelfde variabele. Kies één sleutel en gebruik die ook in de mapping in SEINō.
De berekening neemt eerst het verschil tussen de huidige maand en de maand van de bestelling. Daarna trekt ze één maand af als de huidige dag van de maand vóór de dag van de bestelling valt. Zo komt een klant pas na een hele maand in de volgende categorie.
Een bestelling van 30 december is op 29 juni bijvoorbeeld nog vijf volle maanden oud. Op 30 juni zijn dat er zes en gaat de klant naar de volgende groep.
De labels zijn verkorte namen voor de voorwaarden in de code:
| Label | Volledige maanden |
|---|---|
| 0–6 months | Minder dan 6 |
| 6–9 months | Minstens 6, minder dan 9 |
| 9–12 months | Minstens 9, minder dan 12 |
| 12–15 months | Minstens 12, minder dan 15 |
| 15–24+ months | 15 of meer, zonder bovengrens |
| No orders | Geen datum voor de laatste bestelling |
Pas de intervallen aan je aankoopcyclus aan. Controleer ook of de datums uit de bron geldig zijn en niet in de toekomst liggen.
Koppel de velden in SEINō
Zodra de metadata binnenkomt, koppel je elk veld aan een eigen dimensie in SEINō. Daarna kun je ermee filteren en resultaten vergelijken in dashboards, Data Explorer, rapporten en AI Insights.
Begin met een campagne die je goed kent. Vergelijk het totaal met een uitsplitsing naar één dimensie, bijvoorbeeld de tijd sinds de laatste aankoop. Controleer of categorieën en aantallen logisch zijn voordat je meer dimensies toevoegt.
Omdat de waarden bij verzending worden berekend, beschrijven ze de klant op dat moment. Iemand die voor een oudere campagne een recente koper was, blijft in die campagne tot de groep recente kopers behoren, ook als de aankoop inmiddels langer geleden is. Zo blijft de context voor historische vergelijkingen bewaard.
Die keuze speelt ook mee bij je rapportageperiode. Lees in Verzenddatum of gebeurtenisdatum hoe SEINō verzendingen en latere activiteit over tijd indeelt.
Verbind de vergelijking met websitegedrag
Mepal voegde ook een gehashte waarde toe aan utm_term. De input daarvoor bestaat uit de verzenddatum en de klantcategorie:
{{$utm_term = "{{$current_y}}{{$current_m}}{{$current_d}}-{{$last_order_bucket}}"}}
{{$globals.utm_term = "{{$utm_term}}"|md5}}
Dit voorbeeld gebruikt de datumvariabelen en $last_order_bucket uit de code hierboven. Het zet de globale waarde utm_term in de template. Je linkconfiguratie moet die waarde vervolgens opnemen in de URL’s die ontvangers krijgen. Bij Mepal waren de URL-parameters al ingesteld; het team voegde deze waarde aan die opzet toe.
De datum helpt terugkerende verzendingen te onderscheiden waarvan andere UTM-waarden gelijk kunnen zijn. Ontvangers met dezelfde datum en categorie krijgen dezelfde hash; het is geen unieke identificatie van een ontvanger. Ook twee verzendingen op dezelfde datum met dezelfde categorie leveren dezelfde waarde op. Behoud dus de andere campagne- en verzendkenmerken die je tracking nodig heeft.
Als metadata en websitetracking samen zijn ingericht, kun je zien welke groepen doorklikken, welke toegeschreven omzet opleveren en waar engagement niet tot conversie leidt. In de hash zelf staan geen leesbare segmentnamen. Hij werkt binnen de ingestelde koppeling tussen e-mail- en websitedata.
Test eerst met een kleine verzending
Controleer enkele bekende klantrecords voordat je de template overal gebruikt: een recente bestelling, een record op de grens tussen twee categorieën, een oudere bestelling en iemand zonder bestellingen. Kijk of de verwachte metadata in SEINō aankomt en of de labels overeenkomen met je meetplan.
Bekijk voor websiterapportage een echte link uit een testmail. Volg die tot in je webanalysetool en controleer de koppeling in SEINō. Zo zie je ontbrekende URL-parameters of verschillende veldnamen voordat ze een grotere rapportage beïnvloeden.
Met deze aanpak neem je klantcontext op een herhaalbare manier mee in je campagneanalyse. In de klantcase van Mepal lees je hoe de dimensies het team helpen relevantere segmenten te maken.