Ajouter du contenu dynamique dans les courriers électroniques

Astuce

Si vous souhaitez essayer Dynamics 365 Customer Insights gratuitement, vous pouvez vous inscrire à un essai de 30 jours.

Important

Cet article s’applique uniquement au marketing sortant.

Le contenu dynamique est résolu juste avant l’envoi d’un message à un individu. Vous utiliserez généralement le contenu dynamique pour fusionner les informations depuis l’enregistrement de contact du destinataire (comme le prénom et le nom), placer des liens spéciaux et placer des informations et des liens depuis les paramètres de contenu. Si vous êtes à l’aise avec le code, vous pouvez également créer une logique personnalisée qui comprend des affirmations conditionnelles, des boucles for-each, etc. Vous pouvez utiliser le contenu dynamique n’importe où dans le corps de votre message, vous pouvez aussi utiliser quelques types de valeurs dynamiques dans les champs de l’en-tête du message (objet, adresse de l’expéditeur et nom de l’expéditeur).

Utiliser les paramètres de contenu pour configurer des référentiels de valeurs standard et obligatoires pour les messages électroniques

Les paramètres du contenu sont des ensembles de valeurs obligatoires et de valeurs standard disponibles pour une utilisation dans les courriers électroniques de marketing. Chacun inclut un lien vers le centre d’abonnement, un lien Transférer à un ami, des liens vers les réseaux sociaux, votre adresse postale et d’autres informations pouvant être placées dans le message comme valeurs dynamiques à l’aide de la fonctionnalité de personnalisation.

Dynamics 365 Customer Insights - Journeys est fourni avec un enregistrement de paramètres de contenu par défaut unique qui est préconfiguré pour utiliser le centre d’abonnement par défaut (également inclus). Vous pouvez personnaliser cet enregistrement, le cas échéant, et vous pouvez également créer des enregistrements supplémentaires. Vous devez configurer chaque parcours du client pour utiliser un enregistrement des paramètres de contenu spécifique. Autrement dit, tous les messages envoyés par ce parcours utiliseront le même enregistrement. Toutefois, chaque parcours peut utiliser un autre enregistrement, ce qui signifie que vous pouvez utiliser un design de courrier électronique de marketing identique dans deux voire plusieurs parcours du client, chacun précisant un enregistrement de paramètres de contenu différent. Si vous avez plusieurs enregistrements paramètres de contenu, l’un d’entre eux sera exactement celui par défaut et sera appliqué automatiquement à chaque nouveau parcours du client que vous créez.

Les valeurs des paramètres de contenu sont tout d’abord évaluées au moment de l’envoi. Autrement dit, vous pouvez modifier un enregistrement de paramètres de contenu à tout moment, et tous les messages électroniques en cours et à venir utiliseront automatiquement les valeurs les plus récentes.

Chaque enregistrement des paramètres de contenu que vous utilisez doit être disponible pour les services marketing externes, qui gèrent la livraison et l’assembly de courrier électronique. Vous devez donc publier vos enregistrements de paramètres de contenu en choisissant Mise en service à chaque fois que vous en créez un nouveau.

Note

Si vous avez d’autres types de valeurs que vous utilisez souvent dans des messages électroniques et/ou que vous souhaitez gérer au niveau du parcours du client, vous pouvez les ajouter comme champs personnalisés à l’entité Paramètres de contenu comme vous pouvez le faire pour d’autres types d’entités dans Dynamics 365. Toutefois, dans la version actuelle, tous les champs personnalisés de l’entité Paramètres de contenu doivent être de type Texte (chaîne). Pour plus d’informations : Personnalisation de Customer Insights - Journeys

Pour afficher, modifier, créer ou supprimer un enregistrement de paramètres de contenu :

  1. Accédez à Marketing sortant>Modèles marketing>Paramètres de contenu.

  2. Une page de liste standard s’ouvre. Vous pouvez afficher, trier, filtrer la liste et y faire des recherches pour trouver un enregistrement spécifique et utiliser les boutons de la barre de commandes pour ajouter ou supprimer un enregistrement. Sélectionnez un enregistrement pour l’ouvrir afin de le modifier ou sélectionnez Nouveau dans la barre de commandes pour en créer un nouveau.

  3. Le formulaire Paramètres de contenu s’ouvre. Pour modifier un enregistrement qui est déjà en service, vous devez choisir Modifier dans la barre de commandes avant de pouvoir le modifier. Si vous en créez un nouveau, il vous suffit de remplir les champs.

    Le formulaire des paramètres de contenu.

  4. Définissez les paramètres suivants, en fonction des besoins :

    • Nom : Entrez un nom pour l’enregistrement de paramètres du client. Il s’agit du nom affiché lorsque vous attribuez les paramètres de contenu à un parcours du client ou à un aperçu du message par courrier électronique.
    • Propriétaire : affiche l’utilisateur Dynamics 365 Customer Insights - Journeys ayant créé l’enregistrement.
    • Adresse principale : Saisissez la partie principale de l’adresse postale de votre organisation. Tous les courriers électroniques de marketing doivent inclure une adresse principale valide issue d’un enregistrement de paramètres de contenu. Sélectionnez le bouton Bouton Personnalisation. pour utiliser la personnalisation pour entrer une expression qui fait référence à un champ d’un enregistrement existant (comme une champ d’adresse d’un enregistrement spécifique de compte).
    • Ligne d’adresse 2 : Saisissez les informations d’adresse postale supplémentaires (le cas échéant). Sélectionnez le bouton Bouton Personnalisation. pour utiliser la personnalisation pour entrer une expression qui fait référence à un champ d’un enregistrement existant (comme une champ d’adresse d’un enregistrement spécifique de compte).
    • Par défaut : Sélectionnez Oui pour déterminer l’enregistrement de paramètres de contenu actif comme groupe par défaut pour tous les nouveaux parcours du client. Il doit toujours y avoir une valeur par défaut ; si vous la modifiez, la valeur par défaut existante passera automatiquement sur Non.
    • Valeur par défaut de la division propriétaire : Ce paramètre n’est disponible que lorsque la portée de la division est activée. Définissez cette option sur Oui pour définir l’enregistrement des paramètres de contenu actif comme l’enregistrement par défaut pour tous les nouveaux parcours du client de la division. Il doit toujours y avoir un paramètre de contenu par défaut pour la portée de la division ; si vous le modifiez, la valeur par défaut existante deviendra automatiquement Non.
    • URL LinkedIn, URL Twitter, URL Facebook, URL Instagram, URL YouTube et URL Google Plus : pour chacun de ces services des réseaux sociaux, saisissez la page d’arrivée pour votre organisation.
    • Centre d’abonnement : Spécifiez une page marketing existante configurée comme centre d’abonnement. Tous les courriers électroniques de marketing doivent inclure un lien vers un centre d’abonnement valide issu d’un enregistrement de paramètres de contenu. Sélectionnez le bouton Bouton Personnalisation. pour utiliser la personnalisation pour entrer une expression qui fait référence au champ URL Pleine page pour la page spécifique que vous souhaitez utiliser. L’expression résultante devrait être similaire à ceci (où le GUID varie selon l’enregistrement que vous choisissez à l’aide de la personnalisation) :
      {{msdyncrm_marketingpage(3343053c-8daf-e911-a85e-000d3a3155d5).msdyncrm_full_page_url}}
    • Transférer à un ami : Spécifiez une page marketing existante enregistrée comme page de transfert à un ami. Sélectionnez le bouton Bouton Personnalisation. pour faire votre choix à partir de la liste des pages disponibles. Sélectionnez le bouton Bouton Personnalisation pour utiliser la personnalisation pour entrer une expression qui fait référence au champ URL Pleine page pour la page spécifique que vous souhaitez utiliser. L’expression résultante devrait être similaire à ceci (où le GUID varie selon l’enregistrement que vous choisissez à l’aide de la personnalisation) :
      {{msdyncrm_marketingpage(36458a9e-72af-e911-a859-000d3a3159df).msdyncrm_full_page_url}}
  5. Choisissez Enregistrer dans le coin inférieur droit de la fenêtre pour enregistrer vos paramètres.

  6. Si vous modifiez un enregistrement des paramètres de contenu qui était déjà en service, l’enregistrement est alors publié à nouveau automatiquement lorsque vous l’enregistrez. Si vous créez un enregistrement, vous devez alors sélectionner Mise en service dans la barre de commandes pour le publier dans les services marketing de manière à pouvoir commencer à vous en servir.

Utiliser la personnalisation pour placer des valeurs de champ dynamiques

La personnalisation vous permet de construire des expressions dynamiques valides pour positionner les valeurs de champ à partir des enregistrements de contact des destinataire, les paramètres de contenu de message et d’autres valeurs de la base de données. Ce bouton est fourni dans la barre d’outils de la mise en forme de texte lorsque vous sélectionnez un élément de texte dans le concepteur graphique. Ce bouton est également fourni pour les champs de paramètres, comme le champ d’objet, et les champs d’adresse de l’expéditeur et de nom de l’expéditeur.

Note

La boîte de dialogue de personnalisation affiche uniquement les entités et les relations qui sont synchronisées avec le service Marketing Insights. Si vous devez afficher des informations ou utiliser une relation entre une ou plusieurs entités qui ne sont pas répertoriées, demandez à votre administrateur d’ajouter les entités appropriées au service Marketing Insights. Si vous êtes administrateur, consultez Choisir des entités à synchroniser avec le service Marketing Insights pour obtenir des instructions.

Utiliser la fonction de personnalisation pour placer une expression dynamique

Pour utiliser la personnalisation :

  1. Placez votre curseur dans le domaine ou l’élément de texte où vous souhaitez insérer le texte dynamique, puis sélectionnez le bouton PersonnalisationBouton Personnalisation. La boîte de dialogue de personnalisation s’ouvre.

    Personnalisation, page 1.

  2. Effectuez l’une des opérations suivantes :

    • Sélectionnez Contenu dynamique pour utiliser une valeur qui peut être modifiée selon le contexte lorsque vous utilisez le message, puis sélectionnez l’un des éléments suivants dans la liste déroulante ici :
      • Contact : Place une valeur de champ, comme un prénom, provenant de l’enregistrement de contact du destinataire. Ces valeurs varient selon le destinataire.
      • ContentSettings : Place une valeur de champ depuis les paramètres de contenu. Les valeurs telles qu’une URL du centre d’abonnement, l’URL de transfert, ainsi que l’adresse postale de l’expéditeur sont disponibles ici. Ces valeurs peuvent varier en fonction du parcours du client où le message est utilisé.
      • FormDoiSoumission : Place un champ dynamique pour double acceptation au niveau du formulaire. Ce champ ne nécessite pas de valeur de relation, comme indiqué ci-dessous.
      • Message : Place les valeurs qui correspondent au message lui-même ; actuellement, cela inclut l’URL de type ouvrir comme page web et les différentes valeurs dynamiques utilisées dans Double acceptation pour les courriers électroniques.
    • Sélectionnez Contenu statique pour placer une valeur fixe depuis un enregistrement spécifique (par exemple, le nom d’un événement à venir). Cette valeur est identique indépendamment de l’emplacement à partir duquel vous utilisez le message ou de qui le reçoit. Définissez ensuite les paramètres suivants pour identifier l’entité et l’enregistrement qui contient la valeur dont vous avez besoin :
      • Sélectionner une option (zone de liste déroulante supérieure) : Sélectionnez l’entité (telle que l’événement ou le compte). Pour rechercher une entité, placez le curseur dans cette zone et commencez à taper son nom jusqu’à ce que l’entité que vous souhaitez soit affichée.
      • Choisir un enregistrement (liste déroulante supérieure) : Sélectionnez l’enregistrement spécifique par nom. Cette liste affiche tous les enregistrements de votre entité sélectionnée. Comme pour l’entité, vous pouvez également lancer une recherche ici.
  3. À présent, vous devez identifier le champ approprié que vous souhaitez placer. Effectuez l’une des opérations suivantes :

    • Sélectionnez Entité associée pour trouver un champ d’une entité qui est lié à celui choisi à la page précédente. Définissez ensuite les paramètres suivants pour identifier la relation et le champ que vous souhaitez afficher :
      • Sélectionner la relation : Les relations définissent la deuxième entité que vous souhaitez passer, et la procédure que vous suivrez pour y arriver. Pour rechercher une relation, placez le curseur dans cette zone et commencez à taper son nom jusqu’à ce que la relation que vous souhaitez soit affichée, puis sélectionnez-la. Pour plus d’informations sur la façon dont les relations sont représentés ici, consultez la section suivante.
      • Sélectionner le champ : Choisissez le nom du champ à afficher. Comme pour la relation, vous pouvez également lancer une recherche ici. Cette liste déroulante n’est disponible qui si vous avez choisi une relation N à 1.
  4. En bas de la boîte de dialogue, vous pouvez désormais voir l’expression finale. Sélectionnez Insérer pour placer cette expression.

    Personnalisation, page 2.

Important

Les listes créées à l’aide de boucles for-each ne sont pas rendues dans un ordre particulier et ne peuvent être triées par aucun champ.

Présentation des relations de bases de données par la personnalisation

Lorsque vous sélectionnez des relations dans la personnalisation, les options sont affichées à l’aide de l’une des conventions d’affectation de noms suivantes :

  • FieldName (PrimaryEntity) -> SecondaryEntity
    Lorsque l’entité principale est entre parenthèses et affiche un nom de champ, il s’agit d’une relation plusieurs-à-un (N à 1) qui conduit à un seul enregistrement de l’entité secondaire. Il est donc généralement recommandé d’utiliser la deuxième liste déroulante pour en choisir un champ de l’entité secondaire à afficher avec votre expression.
  • PrimaryEntity -> FieldName (SecondaryEntity)
    Lorsque l’entité secondaire est entre parenthèses et affiche un nom de champ, il s’agit d’une relation un-à-plusieurs (1 à N) qui peut conduire à plusieurs enregistrements de l’entité secondaire. Vous ne pouvez donc pas choisir un champ (la deuxième liste déroulante est désactivée) et devez à la place utiliser cette relation dans le cadre d’une boucle foreach pour afficher les valeurs de chaque enregistrement disponible associé.
  • PrimaryEntity -> SecondaryEntity
    Lorsque aucune des deux entités n’est entre parenthèses, il s’agit d’une relation plusieurs à plusieurs (N à N), qui peut connecter plusieurs enregistrements dans les deux sens. Vous ne pouvez donc ni choisir un champ (la deuxième liste déroulante est désactivée), ni utiliser cette relation pour la personnalisation. En effet, la relation est gérée par une entité intermédiaire et vous ne pouvez accéder à l’entité intermédiaire qu’à partir de l’entité principale.

Où :

  • PrimaryEntity est une entité du côté du départ de la relation. Elle est toujours affichée à gauche de la flèche. Il s’agit de l’entité que vous avez sélectionnée dans la page précédente de la boîte de dialogue de personnalisation. Par exemple, un Contact (entité principale) peut être associé à un Compte (entité secondaire) via le champ Nom de la société du contact (nom du champ) ; cela s’affichera comme : Nom de la société (Contact) -> Compte.
  • FieldName est toujours affiché en regard d’un nom d’entité (qui se trouve entre parenthèses). Il s’agit du nom du champ au travers duquel la relation est établie. Le champ nommé appartient à l’entité entre parenthèses, et affiche une valeur de l’entité de l’autre côté de la flèche (mais il contient en réalité l’ID de l’enregistrement associé dont la valeur est extraite). Dans certains cas, vous remarquerez une relation entre les mêmes deux entités, qui passent par un autre champ.
  • SecondaryEntity est la destination de la relation. Elle est toujours affichée à droite de la flèche. La ou les valeurs que vous affichez avec votre expression finale proviendront d’un champ appartenant à l’entité secondaire.

Note

Pour les relations N à N, aucune valeur de champ n’est affichée. Cela signifie que, si vous avez plus d’une relation N à N entre les mêmes deux entités, vous verrez plusieurs relations à l’aspect identique dans la liste déroulante. Ce cas est très rare, mais si vous le voyez, vous devez procéder par essai-erreur pour identifier la relation correcte à utiliser. Pour confirmer, vous pouvez vérifier l’expression résultante pour voir si vous avez choisi la bonne relation (les relations sont présentées différemment ici et peuvent en donner une idée), ou installer un message de test comprenant les deux versions de la relation N à N et utiliser un parcours du client de test et vous l’adresser à vous-même.

Voici quelques exemples :

  • Nom de la société (Contact) -> Compte : cette relation est utilisée par l’entité Contact pour afficher les informations de l’entité Compte dans le champ Nom de la société d’un enregistrement. En d’autres termes, cela relie à la société (compte) pour laquelle travaille le contact.
  • Partenaire responsable (Contact) -> Compte : cette relation est utilisée par l’entité Contact pour afficher les informations de l’entité Compte dans le champ Partenaire responsable d’un enregistrement de contact. En d’autres termes, cela relie à la société (compte) qui est le partenaire responsable d’un contact.
  • Contact -> Contact principal (Compte) : cette relation est utilisée par l’entité Compte pour afficher les informations de l’entité Contact dans le champ Contact d’un enregistrement de compte. En d’autres termes, elle trouve tous les comptes où le contact actuel est défini comme contact principal.
  • Contact -> Contact (Inscription à un événement) : cette relation est utilisée par l’entité Inscription à un événement pour afficher les informations de l’entité Contact dans le champ Contact d’un enregistrement d’inscription à un événement. En d’autres termes, elle trouve toutes les inscriptions à des événements effectuées par (ou pour) le contact actuel.

Expressions créées par la personnalisation

La personnalisation crée une expression qui utilise un format, par exemple :

  • {{EntityName.FieldName}}
  • {{EntityName(RecordID).FieldName}}
  • {{EntityName.RelationshipName.FieldName}}
  • {{EntityName(RecordID).RelationshipName.FieldName}}

Notez que la notation utilisée pour les noms de relation dans les expressions résultantes ne correspond pas la façon dont elles sont représentées dans la boîte de dialogue personnalisation. Voici quelques exemples d’expressions résultates :

  • {{contact.firstname}}
    Place le prénom du destinataire.
  • {{msdyncrm_marketingpage(3343053c-8daf-e911-a85e-000d3a3155d5).msdyncrm_full_page_url}}
    Place la valeur du champ msdyncrm_full_page_url depuis l’enregistrement de la page marketing spécifié par le GUID entre parenthèses. Vous pouvez généralement utiliser une expression de ce formulaire dans un enregistrement de paramètres de contenu pour spécifier une page Transférer à un ami ou centre d’abonnement.
  • {{msdyncrm_contentsettings.msdyncrm_subscriptioncenter}}
    Place l’URL de la page du centre d’abonnement identifiée dans les paramètres de contenu configurés pour le parcours client qui envoie le message.
  • {{msdyncrm_contentsettings.msdyncrm_forwardtoafriend}}
    Place l’URL vers la page de transfert identifiée dans les paramètres de contenu configurés dans le parcours client qui envoie le message.
  • {{Message.ViewAsWebpageURL}}
    Place l’URL qui ouvre le message actuel dans un navigateur Web.
  • {{msevtmgt_event(8a519395-856c-4e22-b560-650ce6d6a79d).msevtmgt_webinarurl}}
    Place l’URL du webinaire de l’événement identifié par l’ID d’événement spécifié (entre parenthèses).
  • {{msdyn_survey(39128da2-c968-4627-9595-f030b6571be4).msdyn_name}}
    Place le nom de l’enquête identifié par l’identifiant d’enquête spécifié (entre parenthèses).
  • {{contact.contact_account_parentcustomerid.name}}
    Cette expression trouve le nom du compte de la société où travaille un contact.
  • {{contact.contact_account_msa_managingpartnerid.name}}
    Cette expression trouve le nom du partenaire responsable du compte de la société où travaille un contact.

Une fois que vous avez une expression qui fonctionne, vous pouvez la copier et la coller n’importe où. Vous n’êtes pas obligé d’utiliser la personnalisation à chaque fois.

Important

Vous pouvez avoir, au maximum, deux tronçons (points) dans vos expressions de champ. Ne tentez pas de créer des expressions plus complexes en ajoutant plus de tronçons aux expressions produites à l’aide de la personnalisation.

Pourboire

Si vous avez besoin des types de données pris en charge par la personnalisation, il est généralement préférable d’utiliser la fonction de personnalisation pour placer le code au lieu d’essayer de le taper en partant de zéro. Cela garantit que les noms de champ, d’entité et de relation correspondent à ceux utilisés dans la base de données et permet d’éviter les fautes d’orthographe.

Note

La fonctionnalité d’envoi de courriers électroniques de Dynamics 365 Customer Insights - Journeys ne prend pas en charge les champs calculés.

Valeurs dynamiques dans les champs de destinataire, de nom de l’expéditeur, d’adresse de l’expéditeur et Répondre à.

Dans l’onglet Résumé du formulaire Courrier électronique de marketing, vous pouvez définir divers paramètres non liés au contenu de votre message dans la section Expéditeur et destinataire. Cela inclut des valeurs et des expressions pour définir les valeurs des champs de destinataire, d’adresse de l’expéditeur et de nom de l’expéditeur qui seront utilisés par le message.

Paramètres Expéditeur et destinataire pour les courriers électroniques.

Une méthode classique pour bénéficier de cette fonction consiste à définir le Nom de l’expéditeur et l’Adresse de l’expéditeur du propriétaire de l’enregistrement de contact. Ensuite, en attribuant le propriétaire de chaque enregistrement de contact au vendeur chargé de gérer ce contact, les destinataires recevront des courriers électroniques de marketing qui affichent une adresse d’expéditeur d’une personne qu’ils peuvent connaître, ce qui améliore sensiblement les taux d’ouverture. Voici comment procéder :

  1. Si votre instance Customer Insights - Journeys n’est pas déjà définie pour synchroniser l’entité Utilisateur (systemuser) avec le service Marketing Insights, demandez à votre administrateur d’opérer cette configuration. Si vous êtes administrateur, consultez Choisir des entités à synchroniser avec le service Marketing Insights pour obtenir des instructions.
  2. Ouvrez votre message électronique et accédez à l’onglet Résumé.
  3. Supprimez le contenu du champ Nom de l’expéditeur, puis sélectionnez le bouton PersonnalisationBouton Personnalisation en regard de ce champ.
  4. Dans la première page de la personnalisation, sélectionnez Contextuel et définissez-le sur Contact. Sélectionnez ensuite Suivant.
  5. Dans la deuxième page de la boîte de dialogue de personnalisation, sélectionnez Entité associée, puis :
    • Définissez la liste déroulante du haut (relations) sur Utilisateur propriétaire (Contact) -> Utilisateur.
    • Définissez la liste déroulante du bas (champ) sur Nom complet.
  6. Sélectionnez OK pour placer l’expression, qui doit être : {{contact.contact_systemuser_owninguser.fullname}}.
  7. Supprimez le contenu du champ Adresse de l’expéditeur, puis sélectionnez le bouton PersonnalisationBouton Personnalisation en regard de ce champ.
  8. Dans la première page de la personnalisation, sélectionnez Contextuel et définissez-le sur Contact. Sélectionnez ensuite Suivant.
  9. Dans la deuxième page de la boîte de dialogue de personnalisation, sélectionnez Entité associée, puis :
    • Définissez la liste déroulante du haut (relations) sur Utilisateur propriétaire (Contact) -> Utilisateur.
    • Définissez la liste déroulante du bas (champ) sur Adresse de messagerie principale.
  10. Sélectionnez OK pour placer l’expression, qui doit être : {{contact.contact_systemuser_owninguser.internalemailaddress}}.

Vous pouvez utiliser des techniques similaires pour placer le nom ou l’adresse de messagerie de l’utilisateur propriétaire n’importe où dans le contenu du message. Vous pouvez le faire avec la personnalisation, ou copier/coller les expressions Handlebar, voire taper les expressions Handlebar manuellement.

Vous pouvez utiliser une expression dynamique pour définir l’URL source des éléments d’image. Pour ce faire, sélectionnez l’élément d’image, accédez à son volet Propriétés, puis sélectionnez le bouton PersonnalisationBouton Personnalisation en regard du champ Source pour placer le texte dynamique comme portion de l’URL. En général, vous le combinerez avec du texte statique pour élaborer une URL complète. Par exemple, vous pouvez insérer l’ID contact ou le nom de la société du destinataire pour sélectionner une image appropriée pour chaque destinataire distinct.

Vous pouvez de même utiliser la personnalisation pour construire une expression dynamique pour définir une destination du Lien pour l’image.

Note

La bibliothèque de fichiers de Dynamics 365 Customer Insights - Journeys génère un chemin de fichier unique basé sur le GUID pour chaque image que vous téléchargez. Cela signifie que les images de la bibliothèque de fichiers ont des URL imprévisibles qui n’incluent pas le nom d’origine de votre fichier. Par conséquent, pour utiliser la technique décrite ici, vous devez héberger vos images sur votre propre site web ou tout autre service d’hébergement tiers où les URL sont prévisibles et peuvent inclure une valeur que vous pouvez facilement extraire d’un champ Dynamics 365.

Rechercher des ID d’enregistrement

Les expressions de champ non contextuelles (sous la forme {{EntityName(RecordID).FieldName}}) requièrent un ID d’enregistrement pour identifier l’enregistrement d’où la valeur doit provenir. En règle générale, la personnalisation vous aidera à trouver ces ID, mais parfois vous devrez trouver un ID manuellement pendant que vous concevez les fonctionnalités dynamiques pour un message. Pour trouver l’ID d’un enregistrement :

  1. Ouvrez l’enregistrement que vous souhaitez référencer.
  2. Recherchez l’URL affichée dans la barre d’adresse de votre navigateur, qui doit se présenter sous cette forme :
    https://<MyOrg>.crm.dynamics.com/main.aspx?appid=c8cba597-4754-e811-a859-000d3a1be1a3&pagetype=entityrecord&etn=msevtmgt_event&id=5acc43d5-356e-e811-a960-000d3a1cae35
  3. Recherchez la partie de l’URL qui commence par &id=, suivie du numéro d’ID de votre enregistrement actuel. Copiez ce numéro (la valeur uniquement) et utilisez-le dans votre expression.

Contenu dynamique avancé

Vous pouvez ajouter un traitement logique avancé à vos conceptions de courrier électronique qui peut rendre le contexte encore plus réactif aux destinataires, données démographiques et contexte. Ce type de personnalisation exige d’avoir une compréhension de base des scripts et des programmes.

Comme vous l’avez vu dans les exemples précédents, le contenu dynamique est entouré par des crochets ({{ et }}). Cela inclut les valeurs de champs standard que vous ajoutez à l’aide de la fonction de personnalisation, ainsi que les éléments de programmation plus avancés décrits dans cette section.

Pourboire

Pour afficher les crochets dans un message, plutôt que de les utiliser pour indiquer le début ou la fin d’un bloc de code, faites échapper le premier crochet avec une barre oblique inversée, comme \{{ ou \}}. Les barres obliques n’apparaissent pas dans la version finale du message, mais les crochets apparaissent.

Instructions conditionnelles et comparaisons

Les instructions conditionnelles (if-then-else) affichent le contenu selon qu’une ou plusieurs des expressions conditionnelles ont la valeur True ou False. Vous pouvez ajouter le code nécessaire pour créer ces instructions en le plaçant dans un élément de texte, ou en plaçant des éléments de code personnalisé entre les autres éléments de conception. Pour plus d’informations : Comment entrer du contenu dynamique avancé dans le concepteur

Les instructions conditionnelles utilisent le formulaire suivant :

{{#if (<operator> <value1> <value2>)}}
   Content displayed when the expression is true
{{else if (<operator> <value1> <value2>)}}
   Content displayed when the first expression is false and the second one is true
.
.
.
{{else}}
   Content displayed when all expressions are false
{{/if}}

Où :

  • Le bloc conditionnel doit toujours s’ouvrir avec {{#if … }}.
  • Les expressions conditionnelles doivent être entre parenthèses.
  • Les expressions conditionnelles commencent par un <opérateur>, qui doit être l’une des valeurs répertoriées dans le tableau suivant. Elle définit la manière dont la première valeur doit être comparée à la deuxième valeur.
  • La <valeur1> et la <valeur2> sont les valeurs que l’expression conditionnelle doit comparer. Il peut s’agir de valeurs dynamiques ou constantes. Si la <valeur1> ou la <valeur2> est une valeur de chaîne constante (et pas un nombre ou une expression), elle doit alors être entourée par des guillemets simples (’). Pour les nombres réels, utilisez un espace comme séparateur de décimal.
  • Si <valeur 1> est un champ de type booléen (également appelé champ à deux options dans Dynamics 365), n’incluez pas d’<opérateur> ou la <valeur2> ou les parenthèses. Les champs de type booléen ont toujours une valeur True ou False, vous devez donc simplement les utiliser directement pour établir la condition, comme : {{#if contact.is_vip}}.
  • Les clauses {{else}} et {{else if … }} sont facultatives.
  • Le bloc conditionnel doit toujours se fermer avec {{/if}}.

Le tableau suivant répertorie tous les opérateurs que vous pouvez utiliser dans vos expressions conditionnelles. Les autres opérateurs ne sont pas disponibles actuellement et vous ne pouvez pas non plus utiliser d’expressions booléennes complexes (par exemple avec les opérateurs AND et OR) dans vos expressions conditionnelles.

Dynamics 365 Customer Insights - Journeys syntaxe (respecte la casse) Opérateur
eq Égal(e) à
ne Est différent(e) de
lt Inférieur(e) à
gt Supérieur(e) à
lte Inférieur(e) ou égal(e) à
gte Supérieur(e) ou égal(e) à

Par exemple, cette déclaration conditionnelles peut être utilisée pour établir la langue utilisée dans la ligne de salutation d’un message selon le pays de chaque destinataire du message :

<p>{{#if (eq contact.address1_country 'Denmark')}}
    Hej
{{else if (eq contact.address1_country 'US')}}
    Hi
{{/if}} {{contact.firstname}}!</p>

Voici un exemple d’une instruction conditionnelle basée sur un champ de type booléen (à deux options) appelé is_vip ; notez que du fait que les champs de type booléen renvoient toujours une valeur True ou False, aucun opérateur ni aucune valeur de comparaison, ou de parenthèses ne sont inclus dans la condition :

<!-- {{#if contact.is_vip}} -->
    <h3>Be sure to show your VIP card to receive a 20% discount!</h3>
<!-- {{/if}} -->

Pourboire

Vous pouvez tester les valeurs de champ vides comme suit :

{{#if (eq contact.lastname '')}}

'' est représenté par deux guillemets simples, pas des guillemets doubles. Cela détecte les champs vides, mais pas les champs Null.

Pourboire

Bien que vous ne puissiez pas utiliser d’expressions booléennes complexes dans vos expressions conditionnelles, vous pouvez implémenter une fonctionnalité similaire comme suit :

Non pris en charge :

{{#if A and B}}<DisplayedContent>{{/if}

Est équivalent à (pris en charge) :

{{#if A}}{{#if B}}<DisplayedContent>{{/if}}{{/if}}

 
Non pris en charge :

{{#if A or B}}<DisplayedContent>{{/if}

Est équivalent à (pris en charge) :

{{#if A}}<DisplayedContent>{{/if}} {{#if B}}<DisplayedContent>{{/if}}

Pourboire

Lorsque vous testez des valeurs qui sont stockées comme groupe d’options dans la base de données, utilisez les valeurs d’index pour le groupe d’options, et non les valeurs d’affichage. Par exemple, vous pouvez avoir un champ intitulé contact.customertypecode, qui contient un entier pour identifier le type de client. Chaque code de type de client a également un nom complet, par exemple 0 = « cuivre », 1 = « argent » et 2 = « or ». Dans ce cas, vous devez configurer votre expression pour utiliser l’index (entier), et non la valeur d’affichage correspondante. Ainsi, si vous recherchez des clients Gold, vous devez utiliser :

{{#if (eq contact.customertypecode 2)}}

Pourboire

Lorsque vous testez de grandes valeurs numériques, par exemple « 1.932.333 », supprimez le séparateur de milliers (.) dans l’instruction de comparaison, même s’il est souvent présenté dans l’interface utilisateur. Pour tester cette valeur, votre expression doit donc se présenter comme suit :

{{#if (eq contact.customernumber 1932333)}}

Boucles for-each

Les boucles for-each vous permettent de parcourir une collection d’enregistrements qui sont associés à un enregistrement spécifique (par exemple, pour fournir la liste de toutes les transactions récentes associées à un contact). Vous pouvez ajouter le code nécessaire pour créer ces instructions en le plaçant dans un élément de texte, ou en plaçant des éléments de code personnalisé entre les autres éléments de conception. Pour plus d’informations : Comment entrer du contenu dynamique avancé dans le concepteur

Les boucles for-each se présentent comme suit :

{{#each Entity.RelationshipName }}
   ...
   {{this.RelatedField1}}
   ...
   {{this.RelatedField2}}
   ...
{{/each}}

Où :

  • Le bloc de boucle doit toujours s’ouvrir avec {{#each … }}.
  • Entity.RelationshipName identifie l’ensemble des enregistrements associés que la boucle va itérer le plus.
  • La boucle démarre avec le premier enregistrement associé disponible, et se répète pour chaque enregistrement associé disponible jusqu’à ce que tous les enregistrements associés soient répertoriés. Notez que les enregistrements associés seront retournés dans une commande arbitraire et imprévisible.
  • {{this.RelatedField<n>}} identifie un nom de champ provenant de l’enregistrement associé. La partie « this » de cette expression fait référence à l’enregistrement associé en cours de traitement dans l’itération de boucle actuelle, et doit être suivie d’un nom du champ valide pour l’entité associée. Vous pouvez inclure n’importe quel nombre de champs dans chaque boucle.
  • Le bloc de boucle doit toujours se fermer avec {{/each}}.

Par exemple, votre base de données peut contenir la liste des produits qu’un contact a commandée. Vous pouvez répertorier ceci dans un courrier électronique à l’aide de code :

<p>You have purchased:</p>
<ul>
<!-- {{#each contact.contact_product_productid}} -->
<li>{{this.name}}</li>
<!-- {{/each}} -->
</ul>

Dans cet exemple, le système Dynamics 365 Customer Insights - Journeys a été personnalisé pour inclure une entité personnalisée appelée produit, configurée avec une relation 1:N entre les entités contact et produit dans le champ productid. Pour que l’entité produit soit disponible dans vos courriers électroniques, elle doit également être synchronisée avec le service Marketing Insights (comme d’habitude).

Important

Seuls les 1 000 premiers éléments associés sont ajoutés à la relation à des fins de rendu des courriers électroniques. L’utilisation de relations avec plus de 1 000 éléments n’est pas prise en charge dans les modèles de courrier électronique et peut entraîner des résultats inattendus.

Notez également que le deuxième niveau de relations n’est pas pris en charge. Par conséquent, la syntaxe suivante n’est pas autorisée :

{{#each Entity.RelationshipOnEntity}} 
    ... 
    {{#each this.RelationshipOnRelatedEntity}}
        ...
    {{/each}}
    ... 
{{/each}}

Comment entrer du contenu dynamique avancé dans le concepteur

Lorsque vous entrer du code dynamique avancé dans le concepteur, vous devez être vigilant, car il existe plusieurs manières, parfois inattendues, de commettre des erreurs, ce qui compromet votre code. Voici quelques conseils pour écrire et tester du code :

  • Utilisez des éléments de code personnalisé pour placer des extraits de code entre les éléments de conception dans l’onglet Concepteur. Cela est beaucoup plus visible et fiable que de placer le code directement dans le code HTML à l’aide de l’onglet HTML. Toutefois, vous pouvez également utiliser du code dynamique dans un élément de texte, auquel cas vous devrez probablement nettoyer ce code dans l’onglet HTML, comme indiqué plus loin dans cette liste. (Lorsque vous travaillez dans l’éditeur pleine page, sélectionnez un élément de code personnalisé pour modifier son contenu.)
    L’élément de code personnalisé.
  • Lorsque vous entrez du code dans un élément de texte de l’onglet Concepteur, les espaces supplémentaires et les retours chariot que vous ajoutez créent des indicateurs &nbsp; et <p> dans votre code, ce qui peut le compromettre. Accédez toujours à l’onglet HTML par la suite, où vous verrez toutes ces indicateurs supplémentaires et pourrez les supprimer.
  • Lorsque vous entrez du code dans un élément de texte, tout votre code de contenu dynamique doit se trouver entre les indicateurs d’ouverture et de fermeture (<p> et </p>) ou au sein d’un commentaire HTML (pour le code qui est entièrement distinct du texte affiché). Ne placez pas de code en dehors des commentaires ou des paires d’indicateurs HTML valides (éléments de code personnalisé), car cela risque de perturber l’éditeur (notamment lorsque vous basculez entre les onglets HTML et Conception). Vous devez utiliser l’onglet HTML pour inspecter et corriger le code HTML dans vos éléments de texte.
  • Ne placez pas les retours chariot entre des éléments de code qui font partie de la même expression (comme dans une boucle for-each) à moins que vous entouriez chaque ligne de son propre ensemble d’indicateurs HTML (comme décrit dans l’exemple de boucle for-each fourni après cette liste).
  • La fonctionnalité de personnalisation est souvent utile pour créer des expressions qui extraient des valeurs de votre base de données, car elle vous aide à rechercher des noms de table, de champ et de relation dans la base de données. Cet outil est disponible lorsque vous travaillez dans un élément de texte de l’onglet Concepteur, et lorsque vous entrez des valeurs dans certains champs qui le prennent en charge (comme l’objet du courrier électronique). La fonctionnalité de personnalisation n’est pas disponible lorsque vous travaillez dans l’onglet HTML ou dans un élément de code personnalisé. Vous pouvez donc commencer par utiliser la personnalisation dans un élément de texte, puis couper/coller l’expression obtenue dans votre élément de code personnalisé ou votre code HTML.
  • Le nom de relation que vous utilisez lorsque vous créez des boucles ou que vous placez des valeurs de recherche doit correspondre à celui utilisé dans le service Marketing Insights. Ce nom de relation n’est pas nécessairement identique à celui utilisé pour personnaliser Dynamics 365. Pour rechercher le nom de relation correct, utilisez la fonctionnalité de personnalisation.

Par exemple, vous pouvez définir la ligne de salutation d’un message électronique en entrant ce qui suit dans l’onglet HTML du concepteur (à l’intérieur ou à l’extérieur d’un élément de texte) :

<p>{{#if (eq contact.address1_country 'Denmark')}}Hej{{else if (eq contact.address1_country 'US')}}Hi{{/if}}{{contact.firstname}}!</p>

L’exemple suivant (également affiché précédemment) montre comment utiliser des commentaires pour placer du code qui existe entièrement en dehors du contenu affiché (également dans l’onglet HTML) :

<p>You have purchased:</p>
<ul>
<!-- {{#each contact.contact_product_productid}} -->
<li>{{this.name}}</li>
<!-- {{/each}} -->
</ul>