• Accueil / Marketing Cloud / Ajouter une validation…
, Ajouter une validation par e-mail à un formulaire cloudpage<span class="wtr-time-wrap after-title"><span class="wtr-time-number">5</span> minutes de lecture</span>

Ajouter une validation par e-mail à un formulaire cloudpage5 minutes de lecture


Nous pouvons tous convenir que les spambots sont un énorme désagrément dans le monde des formulaires d’inscription, mais pire encore, les tentatives infructueuses de soumissions réelles. Je parle de toutes les adresses gmail.con qui entrent dans votre base de données, rebondissent immédiatement et sont donc inutiles. Ce sont une énorme déception car ils représentent des personnes qui veulent vos e-mails mais qui ne les recevront pas à moins de revenir et de se réinscrire.

Heureusement, Marketing Cloud dispose d’une API qui testera la délivrabilité des adresses e-mail, et vous pouvez demander à cette API de renvoyer un message d’erreur à la personne qui remplit le formulaire afin qu’elle puisse corriger ses erreurs. Les validateurs incluent : SyntaxValidator, MXValidator et ListDetectiveValidator.

SyntaxValidator permettra d’attraper les fautes de frappe, comme le redouté gmail.con.

MXValidator vérifie si l’adresse e-mail saisie par un utilisateur est valide ou fausse. Cela n’attrapera pas les pots de miel, qui sont des adresses e-mail réelles, mais dormantes. Cependant, cela peut arrêter certaines soumissions de spam.

ListDetectiveValidator vous informera qu’il s’agit d’une adresse e-mail que Ma rketing Cloud n’enverra pas. Cela inclut les adresses e-mail de type info @. Si quelqu’un essaie d’envoyer un e-mail comme celui-ci, vous pouvez afficher une demande d’adresse e-mail personnelle au lieu d’une adresse e-mail fourre-tout. L’avantage ici est d’arrêter la collecte d’adresses e-mail valides que Marketing Cloud refusera d’envoyer et suggérera à l’abonné de fournir un e-mail personnel à la place.

La première étape consiste à obtenir le point de terminaison d’autorisation, l’ID client et le secret client, que vous devez stocker dans une extension de données, plutôt que d’exposer sur votre CloudPage. Vous pouvez effectuer une recherche en utilisant AMPScript ou SSJS. J’ai ces informations stockées dans une extension de données appelée « clés ». Je l’utilise également pour stocker d’autres clés pour d’autres appels d’API. Ma clé primaire sur cette extension de données s’appelle Service afin que je puisse facilement annuler toute modification apportée à cette extension de données.

%%[  
  SET @authEndpoint = Lookup("keys","authEndpoint","Service", "SFMC")
  SET @clientId = Lookup("keys","client_id","Service", "SFMC")
  SET @clientSecret = Lookup("keys","client_secret","Service", "SFMC")
]%%

Une fois que vous avez ces informations, vous pouvez utiliser SSJS pour obtenir le point de terminaison REST et un jeton d’accès. Vous pouvez également stocker le point de terminaison REST dans la même extension de données «clés».

Vous devrez également obtenir l’adresse e-mail soumise par le formulaire. En utilisant AMPScript, vous pouvez récupérer les valeurs publiées par un formulaire :

SET @email = RequestParameter("Email_Address")

Si vous utilisez AMPScript pour obtenir le point de terminaison d’autorisation, vous devrez saisir ces variables comme première étape dans le bloc SSJS. Vous devrez également récupérer la variable de courrier électronique obtenue via AMPScript.

var authEndpoint = Variable.GetValue("@authEndpoint");
var clientId = Variable.GetValue("@clientId");
var clientSecret = Variable.GetValue("@clientSecret");

var email = Variable.GetValue("@email");

Une fois que nous avons toutes les variables dont nous avons besoin, la première action que nous prendrons consiste à obtenir le jeton d’accès et le point de terminaison REST via SSJS :

var payload = {
    client_id: clientId,
    client_secret: clientSecret,
    grant_type: "client_credentials"
  };
  
  var url = authEndpoint + '/v2/token'
  var contentType = 'application/json'
  var accessTokenRequest = HTTP.Post(url, contentType, Stringify(payload));
  if (accessTokenRequest.StatusCode == 200) {
    var tokenResponse = Platform.Function.ParseJSON(accessTokenRequest.Response[0]);
    var mcAccessToken = tokenResponse.access_token
    var rest_instance_url = tokenResponse.rest_instance_url
    };

Si le jeton d’accès est renvoyé, nous pouvons passer directement à l’API de validation des e-mails :

if (mcAccessToken != null) {
    var headerNames = ["Authorization"];
    var headerValues = ["Bearer " + mcAccessToken];
    var jsonBody = {
      "email": email,
      "validators": [
        "SyntaxValidator",
        "MXValidator",
        "ListDetectiveValidator"
    ]
    }
  };

  var requestUrl = rest_instance_url + "/address/v1/validateEmail";
  var validateEmail = HTTP.Post(requestUrl, contentType, Stringify(jsonBody), headerNames, headerValues);
  
  var aRes = Platform.Function.ParseJSON(validateEmail.Response.toString());
  
  var valid = aRes.valid;
  
  Variable.SetValue("@valid", valid);

La réponse JSON à cet appel d’API ressemble à ceci:

{
 "email": "help@example.com",
 "valid": *false*,
 "failedValidation": "ListDetectiveValidator"
}

Ainsi, en analysant le JSON, nous obtenons la partie «valide» de la réponse. Nous pouvons utiliser la réponse « valide » pour un message d’erreur général, ou obtenir plus de détails dans le message à la personne qui remplit le formulaire en saisissant également la partie « failedValidation » de la réponse. Par exemple, nous pouvons avoir un message du type «veuillez fournir une adresse e-mail personnelle» lorsque la valeur failedValidation est ListDetectiveValidator. Ou, nous pouvons avoir un message comme «veuillez vérifier les fautes de frappe» ou «veuillez fournir une adresse e-mail valide» si la validation échouée est MXValidator ou SyntaxValidator.

Nous pouvons utiliser AMPScript pour modifier les formulaires afin d’afficher un message d’erreur pour l’utilisateur qui remplit le formulaire. Par exemple, j’ai utilisé AMPScript en ligne pour modifier le message d’espace réservé si la réponse revient comme non valide.

 

Cependant, il ne suffit pas de changer le texte de l’espace réservé pour vraiment attirer l’attention de quelqu’un. Vous pouvez également utiliser une instruction AMPScript if et css pour modifier la couleur du texte de l’espace réservé. Ici, je change le texte de l’espace réservé en rouge pour qu’il apparaisse comme un avertissement.

%%[if @valid == 'false' then]%%

%%[endif]%%

Ceci, bien sûr, n’est pas une solution parfaite, car elle ne convient pas aux personnes daltoniennes. Une autre solution à envisager consiste à placer du javascript dans l’instruction if pour déplacer une fenêtre contextuelle, telle que:

Je suis sûr qu’il existe d’autres solutions javascript que vous pouvez utiliser si @valid == ‘false’, mais ce ne sont là que quelques idées pour vous aider à démarrer.



Source de l’article traduit automatiquement en Français

Besoin d'aide ?
Vous utilisez Pardot depuis un certain temps mais vous n'êtes pas sûr d'en
exploiter tout le potentiel

Notre analyse de votre Pardot offerte dès aujourd'hui
Merci, vous pouvez compléter notre questionnaire
Nous allons revenir vers vous rapidement !

Fermer