Edition avancée d'expressions

A propos de l'édition avancée d'expressions

L'édition d'une expression consiste à saisir manuellement des conditions pour former une règle.

Ce mode permet d'utiliser des fonctions avancées. Ces fonctions permettent de manipuler les valeurs utilisées afin de réaliser des requêtes spécifiques : manipulation de dates, de chaînes, de champs numériques, tris, etc.

L'édition d'expressions peut être utilisée lors des opérations suivantes :

  • définition d'une requête, via l'option Mode avancé disponible lors de l'ajout d'une règle.

    expression_editor_2
  • édition d'une expression dans un workflow. Par exemple pour ajouter des données additionnelles dans une activité.

  • édition d'une condition de visibilité pour définir l'affichage d'un bloc de l'éditeur de contenus HTML. Dans ce cas, l'expression est éditée au format JavaScript et ne propose pas l'utilisation des fonctions avancées standard.

Editer une expression

L'édition avancée d'expressions vous permet de définir manuellement une expression répondant spécifiquement à vos besoins.

L'édition des expressions peut être utilisée dans la fenêtre Audience lors de la création d'un email ou dans une activité de type Requête lors de la création d'un workflow.

  1. Accédez à la fenêtre d'édition d'expression par l'un des moyens décrits dans la section A propos de l'édition avancée d'expressions. Elle se compose des éléments suivants :

    • un champ de saisie, dans lequel l'expression est définie

    • la liste des champs disponibles, utilisables dans l'expression, et correspondant à la dimension de ciblage de la requête (voir Dimensions de ciblage et ressources).

    • la liste des fonctions disponibles, triées par catégorie.

    expression_editor_1
  2. Editez l'expression en saisissant directement une expression dans le champ correspondant ou en vous aidant de la liste des champs ainsi que de la liste des fonctions disponibles.

    En double-cliquant sur un champ ou une fonction, celui-ci est ajouté à l'expression à l'endroit où est placé le curseur de saisie.

  3. Si besoin, donnez à votre règle un nom spécifique. Le nom saisi apparaîtra au niveau de la règle dans l'espace de travail de l'outil d'édition de requêtes.

L'édition d'une expression vous permet de personnaliser l'expression Audiences afin de cibler votre population selon vos besoins.

Rubriques connexes :

Syntaxe des expressions

Syntaxe standard

Les expressions standard sont composées d'une ou plusieurs conditions, respectant les éléments de syntaxe suivants :

  • Chaque condition est de la forme <valeur1> <opérateur de comparaison> <valeur2> où :

    • <valeur1> est un champ ou une fonction. Par exemple @created pour la date de création d'un profil ou Year(@created) pour l'année de création d'un profil.

    • <opérateur de comparaison> est l'un des opérateurs listés dans la section Opérateurs de comparaison. Cet opérateur définit la méthode de comparaison entre <valeur1> et <valeur2>.

    • <valeur2> est un champ, une fonction ou une valeur saisie manuellement.

    Remarque :

    Le type de données de <valeur1> et de <valeur2> doit être identique. Par exemple, si <valeur1> est une date, alors <valeur2> doit également être une date.

  • Si vous souhaitez utiliser plusieurs conditions, elles peuvent être combinées à l'aide d'opérateurs logiques.

    • AND : intersection des deux conditions

    • OR : union des deux conditions.

Par exemple :

Year(@created) = Year(GetDate()) AND Month(@created) = Month(GetDate())

Dans cet exemple sont ciblés les profils dont la date de création correspond au mois et à l'année courants.

Syntaxe JavaScript

Lors de la définition des conditions de visibilité d'un bloc de type texte de l'éditeur de contenus HTML, vous devez utiliser une expression dont la syntaxe est de type JavaScript.

Les expressions JavaScript sont composées d'une ou plusieurs conditions, respectant les éléments de syntaxe suivants :

  • Chaque condition est de la forme <contexte> <opérateur de comparaison> <valeur2> où :

    • <contexte> correspond à un champ ou une fonction permettant de préciser le contexte. Par exemple, context.profile.@email pour l'adresse email d'un profil ou context.profile.firstName.length() pour le nombre de caractères du prénom d'un profil.

    • <opérateur de comparaison> est l'un des opérateurs listés dans la section Opérateurs de comparaison. Cet opérateur définit la méthode de comparaison entre <contexte> et <valeur2>.

    • <valeur2> est un champ, une fonction ou une valeur saisie manuellement.

    Remarque :

    Le type de données de <contexte> et de <valeur2> doit être identique. Par exemple, si <contexte> est une date, alors <valeur2> doit également être une date.

  • Si vous souhaitez utiliser plusieurs conditions, elles peuvent être combinées à l'aide d'opérateurs logiques.

    • && : intersection des deux conditions

    • || : union des deux conditions.

Par exemple :

context.profile.age &gt; 21 && context.profile.firstName.length() &gt; 0

Dans cet exemple sont ciblés les profils de plus de 21 ans et dont le prénom est bien renseigné (symbolisé par le fait que le champ firstName contienne au moins un caractère).

Opérateurs de comparaison

Pour certaines règles, l'éditeur de requêtes vous permet de choisir une valeur afin de définir votre condition.

Les conditions doivent être liées aux valeurs à l'aide de l'un des opérateurs ci-après.

Opérateur
Syntaxe standard
Syntaxe JavaScript
Description
Exemple
Egal à
=
==
La première valeur doit être rigoureusement identique à la seconde valeur.
@lastName = Martin permet de retrouver les profils dont le nom est 'Martin', avec les seuls caractères indiqués.
Supérieur à
>
>
La première valeur doit être strictement supérieure à la seconde valeur.
@age > 50 permet de retrouver les profils dont l'âge est supérieur à 50, donc 51, 52, etc.
Inférieur à
<
<
La première valeur doit être strictement inférieure à la seconde valeur.
@created < DaysAgo(100) permet de retrouver tous les profils créés dans la base de données il y a moins de 100 jours.
Supérieur ou égal à
>=
>=
La première valeur doit être supérieure ou égale à la seconde valeur.
@age >= 30 permet de retrouver les profils âgés de 30 ans et plus.
Inférieur ou égal à
<=
<=
La première valeur doit être inférieure ou égale à la seconde valeur.
@age <= 60 permet de retrouver les profils âgés de 60 ans ou moins.
Différentes
!=
!=
La première valeur doit être différente de la seconde valeur.
@Langue != Anglais permet de retrouver les profils n'étant pas définis comme anglophones.
Contient
IN
N/A
La première valeur doit contenir la seconde valeur.
@domain IN mail. Ici, tous les noms de domaine comportant la valeur 'mail' sont retournés en résultat. Par conséquent, le nom de domaine 'gmail.com' fera partie des résultats retournés.
Comme
LIKE
N/A
Comme est quasiment identique à l'opérateur Contient. Il permet d'insérer un caractère de substitution % dans la valeur recherchée.
@lastName LIKE Mart%n. Ici, le caractère % de substitution sert de "joker" afin de retrouver le nom "Martin" dans le cas hypothétique où l'orthographe d'une valeur n'est pas certaine.
Pas comme
NOT
N/A
Similaire à Comme. Permet de ne pas obtenir la valeur renseignée. La valeur renseignée doit ici aussi comporter le caractère de substitution %.
@lastName NOT Smi%h. Ici, les destinataires répondant au nom de 'Smi%h' (donc Smith, etc.) ne sont pas retournés en résultat.
Est vide
IS NULL
N/A
La première valeur doit correspondre à une valeur vide.
@mobilePhone IS NULL permet de retrouver tous les profils dont le numéro de téléphone portable n'est pas renseigné.

Ce produit est distribué sous licence Creative Commons Attribution - Pas d’utilisation commerciale - Partage à l’identique 3.0 non transposé  Les publications Twitter™ et Facebook ne sont pas couvertes par les dispositions Creative Commons.

Mentions légales   |   Politique de confidentialité en ligne