Geavanceerde JavaScript condities (Marketing Suite)
In de Follow-up-Manager van Marketing Suite is het, net als in Publisher (zie documentatie), mogelijk om geavanceerde JavaScript condities te gebruiken.
Je kunt JavaScript-blokken toevoegen door onderin de Follow-up-Manager te klikken op 'Geavanceerde modus'. Hier stel je controles in die plaatsvinden zodra opvolgacties worden geëvalueerd of uitgevoerd.
Als je wilt dat je opvolgactie wordt uitgevoerd moet je in de JavaScript uitvoerbox zorgen dat je JavaScript true
teruggeeft. Bij false
wordt de opvolgactie niet uitgevoerd. In een evalutiebox ben je vrij in de output van je script. Op de evaluatiebox kun je een link toevoegen waarin je elke gewenste conditie kunt plaatsen. Bijvoorbeeld: stuur een e-mail als de uitkomst van je script 'StuurEmail' is.
Mogelijkheden
Functie | Output | |
---|---|---|
profile.id | Het ID van het profiel | |
profile.code | De verborgen hashcode van het profiel | |
profile.created | Het tijdstip van aanmaken van het profiel | |
profile.modified | Het tijdstip van de laatste wijziging aan het profiel | |
profile.unsubscribed | Geeft true terug als het profiel voldoet aan het ingestelde uitschrijfgedrag op de database |
|
profile.fields.[veldnaam] | Een specifiek veld van het profiel | |
profile.interests.[interessenaam] | Een specifieke interesse van het profiel | |
profile.subProfiles([collectienaam]) | Alle subprofielen die in de collectie zitten binnen het profiel | |
profile.database.id | Het ID van de database waar het profiel in zit | |
profile.database.name | De naam van de database waar het profiel in zit | |
profile.collections.[collectienaam] | Alle subprofielen die in de collectie zitten binnen de database waar het profiel in zit | |
subprofile.id | Het ID van het subprofiel | |
subprofile.code | De verborgen hashcode van het subprofiel | |
subprofile.created | Het tijdstip van aanmaken van het subprofiel | |
subprofile.modified | Het tijdstip van de laatste wijziging aan het subprofiel | |
subprofile.fields.[veldnaam] | Een specifiek veld van het subprofiel | |
subprofile.profile.id | Het ID van het profiel waarbij het subprofiel hoort | |
subprofile.profile.[fields/interests] | Methode om de velden/interesses uit het profiel te halen waar het subprofiel bij hoort | |
subprofile.collection.id | Het ID van de collectie waar het subprofiel in zit | |
subprofile.collection.name | De naam van de collectie waar het subprofiel in zit |
Voorbeelden
Voorbeeld 1
Bij een aangemaakt subprofiel wil je dat de opvolgactie enkel wordt uitgevoerd als het veld 'Versturen' gelijk is aan 'Ja' en het veld 'Taal' uit het profiel gelijk is aan 'NL':
if (subprofile.fields.Versturen == "Ja" && profile.fields.Taal == "NL")
{
return true;
}else{
return false;
}
Voorbeeld 2
Bij een gewijzigd subprofiel wil je dat de opvolgactie enkel wordt uitgevoerd als het veld 'createdDate' van dit subprofiel na de 'createdDate' van de overige subprofielen van dit profiel is.
function shouldSend() {
// Haal de gehele collectie 'orders' op van de database
// die hoort bij het profiel van het subprofiel waar de opvolgactie op wordt uitgevoerd
// en sla deze op in een constant
const coll = profile.collections.orders;
// loop door alle subprofielen die vallen binnen de collectie 'orders' onder dit profiel
for (const i in profile.subProfiles(coll))
{
// Plaats de 'createDate' uit het subprofiel waar je doorheen loopt in een variabele
var d1 = Date.parse(profile.subProfiles()[i].fields.createDate);
// Plaats de 'createdDate' van het oorspronkelijke subprofiel in een variabele
var d2 = Date.parse(subprofile.fields.createdDate);
// Vergelijk beide velden met elkaar. Als de datum in d2 ouder is dan d1 wordt de opvolgactie niet uitgevoerd
if (d2 < d1 ) {
return false;
}
}
// Als de datum in d2 nieuwer is dan alle overige subprofielen wordt de opvolgactie wel uitgevoerd
return true;
}
shouldSend();