Composant de données

Le Composant Données vous permet non seulement de valider des données, généralement les données du formulaire envoyé, mais aussi des valeurs de la liste d'audience ou des valeurs issues de ses extensions de profil.

Par exemple, si le contact envoie un formulaire, vous pouvez vérifier s'il a saisi son prénom : @FIRSTNAME<>''.  
La valeur publiée (@) à partir du champ d'entrée ayant l'attribut FIRSTNAME n'est pas égale à (<>) vide (représentée par une chaîne vide : '').

Vous pouvez également utiliser les fonctions Selligent pour valider des données.

Exemple : CHKMAIL(@MAIL) vérifiera si la syntaxe de @MAIL (la valeur publiée (@) à partir du champ d'entrée ayant l'attribut de nom MAIL) est correcte pour une adresse e-email.


Si la validation échoue (le champ d'entrée FIRSTNAME est vide dans le formulaire), vous pourrez afficher un message d'erreur (« Veuillez saisir votre prénom »). Si la validation échoue, l'événement « Échec » se déclenchera. Ce déclenchement renvoie généralement au formulaire. Sur la page du formulaire, vous pouvez utiliser la variable système ~DATA_ERROR~ pour afficher les messages d'erreur. Voir la rubrique « Conception d'un formulaire » pour en savoir plus sur la façon de créer un formulaire dans Editor.

Le Composant Données est également utilisé pour stocker des données dans la liste d'audience. Dans la liste d'audience et ses extensions de profil, vous pouvez mettre à jour, écraser et insérer la fiche d'un contact. Dans une liste liée 1 à plusieurs, vous n'insérez généralement qu'une nouvelle fiche pour le contact.

Vous pouvez valider et stocker des données dans le même Composant Données, mais vous pouvez aussi les séparer dans différents composants. Vous pouvez mettre plusieurs composants Données l'un après l'autre pour classer les données stockées. Le nombre de composants Données que vous pouvez utiliser dans un Journey est illimité.

Voici un exemple d'abonnement au bulletin d'informations. Le premier Composant Données valide les données du formulaire après son envoi. Si la validation n'échoue pas, un Composant Recherche voit si le contact est déjà abonné. S'il ne l'est pas, les données du formulaire seront stockées et un e-mail d'activation sera envoyé. Lorsque le contact clique sur le capteur « Activation » présent dans l'e-mail, le dernier Composant Données met à jour la valeur OPTIN_NEWSLETTER du contact avec 1.

 

Événements

Le Composant Données génère deux types d'événement :

  • Succès : les données ne contenaient aucune erreur durant la validation et les modifications ont été stockées avec succès dans la liste.
  • Échec : les données contenaient des erreurs durant la validation et, par conséquent, aucune modification n'a été apportée dans la liste. Tous les messages d'erreur définis dans l'onglet Validation s'afficheront via la variable système DATA_ERROR. Cette variable peut être utilisée sur la page après l'événement « Échec », généralement sur la page qui a déclenché la validation. La variable système est insérée dans Editor sous forme de ~DATA_ERROR~.

 

Propriétés

Sélection de liste

L'onglet « Sélection de liste » permet de donner un nom descriptif au Composant Données (ce nom s'affichera sur le canevas du Journey) et de sélectionner une liste à utiliser pour stocker les données.

  • Par défaut, l'option « Mettre à jour la fiche du profil » est activée : les champs de la liste d'audience s'afficheront sur l'onglet « Mettre à jour les données ». En présence d'un composant Audience dans le Journey et du Composant Données dans le lien (flèches) avec le composant Audience, ce champ sera pré-complété avec cette liste d'audience.

    Pour mettre à jour ou insérer des fiches dans une extension de profil (liste de données liée 1 à 1) de la liste d'audience, sélectionnez tout d'abord l'extension de profil dans le composant Audience, sur l'onglet « Données ».



    Les champs du profil étendu s'afficheront sur l'onglet « Mettre à jour les données » du Composant Données, avec les champs de la liste d'audience, pour mettre à jour ou insérer les données. Vous n'avez pas besoin de saisir une valeur pour le champ dans lequel la relation des listes est définie. Exemple : ID de la liste d'audience - à - USERID de la liste de données Carte de fidélité : vous n'avez pas besoin de compléter le champ LOYALTYCARD.USERID. Les relations des listes sont définies sous « Listes ».

Selligent créera des nouvelles fiches de profil pour les contacts anonymes et les ajoutera à la liste ciblée. Les fiches des contacts connus seront mises à jour.

  • Activez l'option « Mettre à jour une fiche liée » si les informations doivent êtres stockées dans une liste de donnéesliée 1 à plusieurs. Les champs de la liste de données s'afficheront sur l'onglet « Mettre à jour les données ».

    Activez l'option « Forcer cette relation en réutilisant les fiches existantes » si chaque contact n'a qu'une seule fiche dans la liste de données liée 1 à plusieurs. Si la fiche existe, elle sera mise à jour ou écrasée. Si la fiche n'existe pas, elle sera insérée.

Lorsque vous sélectionnez une liste d’actions comme liste de données à mettre à jour, une option supplémentaire permet d’enregistrer la fiche comme élément Action. Un code action est sélectionné et assigné à ces fiches. Les champs de cette liste d’actions sont répertoriés dans l’onglet Données et peuvent être mis à jour. Cela signifie que les données de cette liste d’actions peuvent être utilisées directement dans des e-mails instantanés, à la suite du composant de données.

Si vous n'activez pas l'option « Forcer cette relation en réutilisant les fiches existantes », une nouvelle fiche sera insérée pour le contact chaque fois que les données seront stockées. Cette action est généralement délibérée pour les listes liées 1 à plusieurs. Si le contact ne peut avoir qu'une seule fiche dans la liste liée, celle-ci sera généralement une extension de profil mise à jour via l'option « Mettre à jour la fiche du profil » (voir plus haut).

 

Validation

L'onglet « Validation » permet de définir des contraintes qui seront validées avant que les données ne soient stockées. Si une ou plusieurs contraintes ne sont pas respectées, les données ne seront pas stockées. Exemple :

  • @NAME<>'' : le champ d'entrée ayant l'attribut de nom NAME n'est pas complété (aucune valeur publiée @NAME n'a été transmise lors de l'envoi du formulaire).
  • CHKMAIL(@MAIL) : pour vérifier si la syntaxe de @MAIL (la valeur publiée (@) à partir du champ d'entrée ayant l'attribut de nom MAIL) est correcte pour une adresse e- email.
  • @OPTIN1<>'' OR @OPTIN2<>'' : le contact doit sélectionner au moins une valeur Optin à partir de 2 champs d'entrée Optin (cases à cocher) ayant les attributs de nom OPTIN1 et OPTIN2. Associez les contraintes avec les opérateurs AND ou OR.
  • DATEDIFF('dd',LASTPARTICIPATION_DT,GETDATE())>=1 : le contact doit avoir participé au moins 1 jour plus tôt. La différence entre la valeur stockée dans le champ LASTPARTICIPATION_DT et la valeur du jour (fonction getdate) doit être d'au moins 1 jour.
  • CONTEST1.ANSWER='' : la réponse pour le concours 1 doit être vide. Le champ ANSWER est dans une extension de profil ayant l'étendue « CONTEST1 ». Voir la rubrique Relations des listes pour en savoir plus sur la liaison des listes.

Pour définir une contrainte, procédez comme suit :

1. Saisissez un nom pour la contrainte à appliquer (facultatif). Le nom n'a aucun effet sur le Journey ou la contrainte. Généralement, les contraintes sont simplement numérotées.

2. Saisissez une contrainte sur la base des valeurs publiées (@OPTIN_NEWSLETTER), des valeurs de la liste d'audience (OPTIN_NEWSLETTER) ou des valeurs de ses extensions de profil (OPTINS.OPTIN_NEWSLETTER).
- Chaque contrainte doit être vraie ou fausse. @OPTIN_NEWSLETTER n'est pas une contrainte. @OPTIN_NEWSLETTER<>'' est une contrainte, vraie ou fausse (la case Optin est-elle cochée sur le formulaire ? Oui ou non ?). Utilisez les opérateurs suivants pour définir une contrainte valide : = (égal à), <> (pas égal à), < (inférieur à), > (supérieur à), <= (inférieur ou égal à), >= (supérieur ou égal à). Pour vérifier les valeurs vides, vous pouvez utiliser '' (deux guillemets simples, chaîne vide).

La seule exception est CHKMAIL(@MAIL). Cette fonction renvoyant Vrai (1) ou Faux (0), la contrainte correcte est CHKMAIL(@MAIL)=1. Cependant, cette contrainte étant très généralement utilisée, la contrainte CHKMAIL(@MAIL) est elle aussi autorisée. Par exemple, CHKPROP(FIELDNAME,@VALUE)=1 est la contrainte correcte pour vérifier si @VALUE fait partie du champ multivaleur (1,2,3) FIELDNAME. Inclusion de « =1 ». CHKPROP(FIELDNAME,@VALUE) sans « =1 » n'est pas une contrainte valide.

- Associez des contraintes à valider pour n'en faire qu'une seule avec les opérateurs AND ou OR.
Vous pouvez également utiliser le bouton « ... » situé à droite pour ouvrir la fenêtre de l'éditeur de contrainte. Cette fenêtre vous aidera à définir la contrainte.

Remarque technique :
L'onglet « Fonction » de la boîte de dialogue Éditeur de contrainte affiche un grand nombre de fonctions que vous pouvez utiliser dans le processus de validation. Ces fonctions permettent, par exemple, de vérifier des valeurs textuelles (LEN(@PASSWORD)>4) et numériques (FADD(@NUMBER1,@NUMBER2)=5, de valider des adresses e-mail (CHKMAIL(@MAIL), etc.
Consultez le fichier PDF « Fonctions » sur le portail d'assistance pour connaître toutes les fonctions disponibles.

3. Saisissez le message d'erreur à afficher dans la variable DATA_ERROR de la page après le déclenchement de l'événement « Échec ».

 

Mise à jour des données

Vous pouvez stocker toutes les valeurs de la liste d'audience, ses extensions de profils ou les listes liées 1 à plusieurs :

  • valeurs publiées à partir d'un formulaire. Exemple : stocker @FIRSTNAME dans le champ FIRSTNAME de la liste d'audience.
  • Valeurs de la liste
  • Constantes. Exemple : stocker « 1 » dans un champ OPTIN.
  • Variables système. Exemple : stocker SYSTEM.CAMPAIGNID dans OPTOUT_SOURCE pour savoir de quel Journey le contact s'est désabonné.
  • Fonctions. Exemple : GETDATE() pour stocker la date du jour dans le champ date et heure OPTIN_DT.
  • Combinaisons. Exemple : IF(@VALUE=1,1,OPTIN) dans un champ OPTIN. Si une valeur publiée est égale à 1, stockez 1 dans le champ OPTIN, autrement prenez la valeur du champ OPTIN et stockez-la (elle restera telle quelle).
    Ou EVENTIDS&','&@EVENTID pour ajouter une valeur publiée @EVENTID à un champ multivaleur EVENTIDS, où les valeurs sont séparées par une virgule.

Assurez-vous de saisir chaque type de données (chaîne, nombre, date) dans le type de champ correspondant. Stockez les dates dans le champ Date et heure, les chaînes dans les champs de texte et les nombres dans les champs numériques.

La liste des champs affichés sur cet onglet dépend de la liste sélectionnée sur l'onglet« Sélection de liste ». Champs de la liste d'audience, champs des extensions de profil ou champs de la liste de données liée 1 à plusieurs. Voir plus haut « Sélection de liste ».

Remarque technique :
Avant de stocker des données, vous devez savoir comment Selligent assure leur gestion. Les données liées aux contacts peuvent s'afficher de différentes façons :
FIELDNAME : la valeur présente dans la liste du champ FIELDNAME.
@FIELDNAME : La valeur publiée dans un formulaire. En l'absence d'une valeur publiée, c'est la valeur présente dans la liste du champ FIELDNAME qui sera utilisée. Si le contact est connu - non anonyme (aucune valeur pour le contact).
$FIELDNAME : la traduction de la valeur présente dans la liste du champ FIELDNAME (les traductions sont définies dans les listes d'options de la section Configuration).      

Si la valeur est issue d'une extension de profil, utilisez le nom de l'étendue pour l'extension de profil : SCOPE.FIELDNAME.Exemple : CONTEST1.ANSWER

Les informations ne sont ou ne doivent pas toutes être dynamiques. Vous pouvez aussi stocker des valeurs statiques :
Pour stoker des valeurs statiques, saisissez simplement la valeur numérique (1, par exemple).
Pour stocker des valeurs textuelles, saisissez la valeur textuelle entre guillemets simples (‘a’).

1. Saisissez une valeur à stocker dans le champ spécifique. Les valeurs seront écrasées si une fiche existe déjà pour le contact connu. Si la fiche n'existe pas encore, une fiche sera insérée avec les valeurs.

2. Cliquez sur le bouton « - » situé dans le coin supérieur droit pour effacer toutes les valeurs saisies.

3. Cliquez sur le bouton « @ » situé dans le coin supérieur droit pour saisir des valeurs publiées dans tous les champs, en faisant correspondre les noms de champ.

4. Cliquez sur le bouton « @ » situé après le champ pour saisir une valeur publiée dans ce champ spécifique, en faisant correspondre le nom de champ.

Dans la plupart des cas, le nom de champ d'entrée sur le formulaire correspond au nom de champ dans la liste. Par exemple, le champ d'entrée du prénom aura l'attribut de nom FIRSTNAME car le champ d'entrée est ajouté à partir de la liste d'audience dans Editor :

Le code source de ce champ de formulaire est <input id="FIRSTNAME" name="FIRSTNAME" type="text" value="~@FIRSTNAME~" />. Par conséquent, la valeur publiée qui devrait être utilisée dans le Composant Données est @FIRSTNAME, en fonction de l'attribut de nom du champ d'entrée (en gras), et non la valeur du champ d'entrée.
La valeur ~@FIRSTNAME~ indique à Selligent Campaign d'afficher la valeur publiée du champ d'entrée ayant pour nom FIRSTNAME. Ce qui se produit lorsque le formulaire est envoyé, la validation échoue dans le Composant Données et le déclenchement de l'événement « Échec » renvoie au formulaire. En l'absence d'une valeur publiée, mais si la page est visualisée par un contact connu, ~@FIRSTNAME~ affichera également la valeur issue du champ FIRSTNAME de la liste d'audience. Ce qui est pratique pour les formulaires « Mettez à jour votre profil ». Tout est déjà pré-complété avec les données du contact stockées dans la liste d'audience. Après publication du formulaire, c'est la valeur publiée et non la valeur issue de la liste d'audience qui s'affichera. Pour les contacts anonymes et si le formulaire n'a pas encore été publié, la valeur du champ d'entrée sera vide. Il n'y a encore aucune donnée dans la liste d'audience (anonyme) et aucune donnée publiée.

 

Retour