Show Menu
SUJETS×

Cas pratique : création d’un formulaire de parrainage d’un ami

Dans cet exemple, nous allons proposer un jeu-concours aux destinataires de la base de données. Le formulaire Web de participation permettra au destinataire, en plus de ses réponses, de parrainer un ami auquel ce jeu pourra être proposé, en communiquant son adresse email.
Les blocs d'identification et de jeu sont construits selon les procédures décrites ci-avant, dans ce document.
Les étapes de paramétrage et de réalisation du bloc de parrainage sont les suivantes :
  1. Créez un formulaire Web de jeu-concours, avec des questions et une zone de saisie des coordonnées d'un ami, comme dans l'exemple ci-dessous :
    Le champ Votre message permet de saisir un message à l'intention du filleul. Le parrain doit également saisir Son nom , Son prénom et Son email .
    Les informations saisies dans les champs sont stockées dans une table spécifique : la table des visiteurs.
    Tant que le destinataire n'a pas exprimé son consentement, vous ne pouvez pas le stocker parmi les destinataires la base de données. Il sera donc provisoirement stocké dans la table des visiteurs ( nms:visitor ) conçue pour les opérations de marketing viral. Cette table est régulièrement purgée de son contenu par les opérations de cleansing .
    Dans notre exemple, nous allons en cibler les destinataires pour leur proposer de participer à ce concours, sur les conseils de leur parrain. Vous allez toutefois leur proposer, dans ce message, un abonnement à l'un de vos services d'information. S'ils acceptent, ils pourront être stockés en base.
    Le contenu des champs relatifs au filleul sera utilisé dans le script de création de son profil ainsi que dans le message qui lui sera adressé.
  2. Créez un premier script afin d'associer le parrain à son filleul.
    Il contient les instructions suivantes :
    ctx.recipient.visitor.@id = xtk.session.GetNewIds(1)
    ctx.recipient.visitor.@forwardUrl = "APP5"
    ctx.recipient.visitor.@referrerEmail = ctx.recipient.@email
    ctx.recipient.visitor.@referrerFirstName = ctx.recipient.@firstName
    ctx.recipient.visitor.@referrerLastName = ctx.recipient.@lastName
    
    
    Le nom, le prénom et l'adresse email renseignées dans le bloc d'identification de la page sont identifiés comme les nom, prénom et adresse email du parrain. Ces champs seront réinjectées dans le corps du message adressé au filleul.
    La valeur APP5 correspond au nom interne du formulaire Web : cette information permet de connaître l'origine du filleul, c'est-à-dire d'associer le visiteur au formulaire Web à partir duquel il a été créé.
  3. La boîte d'enregistrement permet de collecter les informations et les stocker dans la base de données.
  4. Créez ensuite le modèle de diffusion associé au service d'information créé lors de l'étape 1. Il sera sélectionné dans le champ Choix du scénario du service d'information.
    Le modèle de diffusion utilisé pour créer le message de proposition de parrainage contient les informations suivantes :
    Les caractéristiques de ce modèle sont les suivantes :
    • Vous devez sélectionner la table des visiteurs comme mapping de ciblage.
    • Les coordonnées du filleul, ainsi que les informations relatives au parrain, proviennent de la table des visiteurs. Elles sont insérées en utilisant le bouton de personnalisation.
    • Ce modèle contient un lien vers le formulaire du jeu-concours et le lien d'inscription pour que le filleul puisse s'abonner à la newsletter.
      Le lien d'inscription est inséré au travers d'un bloc de personnalisation. Par défaut, il permet d'abonner les profils au service newsletter . Ce bloc de personnalisation peut être modifié selon vos besoins, par exemple pour inscrire à un autre service.
    • Le nom interne (ici 'referrer') sera utilisé dans le script d'envoi du message, à l'étape suivante.
    Les modèles de diffusion sont présentés dans cette page .
  5. Créez le second script qui permet de procéder à l'envoi des messages de parrainage.
    // Updtate visitor to have a link to the referrer recipient
    ctx.recipient.visitor.@referrerId = ctx.recipient.@id
    ctx.recipient.visitor.@xtkschema = "nms:visitor"
    ctx.recipient.visitor.@_operation = "update" 
    ctx.recipient.visitor.@_key = "@id" 
    xtk.session.Write(ctx.recipient.visitor)
    
    // Send email to friend
    nms.delivery.QueueNotification("referrer",
    <delivery>
    <targets>
      <deliveryTarget>
        <targetPart type='query' exclusion='false' ignoreDeleteStatus='false'>
          <where>
            <condition expr={'@id IN ('+ ctx.recipient.visitor.@id +')' }/>
          </where>
        </targetPart>
       </deliveryTarget>
      </targets>
     </delivery>)
    
    
  6. Publiez le formulaire du jeu-concours et envoyez une proposition de participation aux destinataires de la cible initiale. Lorsque l'un d'entre eux souhaite inviter un ami à participer, une diffusion basée sur le modèle Offre de parrainage est créée.
    Le filleul est ajouté dans le dossier des visiteurs, sous le noeud Administration > Visiteurs :
    Son profil contient les informations saisies par son parrain. Elles sont stockées selon les paramétrages saisis dans le script du formulaire. Il sera enregistré dans la table des destinataires s'il choisit de s'inscrire à la newsletter.