Aggiungere contenuto dinamico ai messaggi e-mail

Importante

Questo articolo si applica solo a marketing in uscita, che verrà rimosso dal prodotto il 30 giugno 2025. Per evitare interruzioni, passare ai viaggi in tempo reale prima di questa data. Ulteriori informazioni: Panoramica della transizione

Avviso

Se utilizzi la sicurezza a livello di campo per alcuni campi della tua email, devi aggiungere le autorizzazioni corrette, altrimenti non potrai elaborare la tua email. Customer Insights - Journeys

Per configurare la sicurezza a livello di campo:

  1. In alto a destra, Seleziona l'icona Impostazioni , quindi Seleziona Impostazioni avanzate.
  2. Nella sezione Sistema , Seleziona Sicurezza.
  3. Seleziona Profili di sicurezza della colonna.
  4. Per creare un nuovo profilo di sicurezza sul campo, Seleziona Nuovo profilo e inserisci un nome nella sezione Generale.
  5. Nella sezione Utenti , aggiungi l'utente di sistema: "# D365 Marketing Core Sending".
  6. Nella sezione Autorizzazioni campo , aggiungi l'autorizzazione Lettura a tutti i campi obbligatori.

Il contenuto dinamico viene risolto appena prima che un messaggio venga inviato a una persona specifica. Il contenuto dinamico viene in genere usato per unire le informazioni incluse nel record del contatto del destinatario (ad esempio nome e cognome), inserire collegamenti speciali e inserire informazioni e collegamenti dalle impostazioni del contenuto. Se hai familiarità con l'utilizzo del codice, puoi anche creare logica personalizzata che includa istruzioni condizionali, cicli for-each e altro ancora. Puoi utilizzare il contenuto dinamico in qualsiasi punto del corpo del messaggio nonché utilizzare alcuni tipi di valori dinamici nei campi di intestazione del messaggio (oggetto, indirizzo e nome del mittente).

Utilizzare le impostazioni del contenuto per configurare archivi di valori standard e obbligatori per i messaggi e-mail

Le impostazioni del contenuto sono set di valori obbligatori o standard disponibili per l'uso nei messaggi e-mail di marketing. Ognuno include un collegamento al centro sottoscrizioni, un collegamento di inoltro a un amico, collegamenti ai social media, l'indirizzo postale e altre informazioni che possono essere inserite nel messaggio come valori dinamici utilizzando la funzionalità di personalizzazione.

Dynamics 365 Customer Insights - Journeys include un singolo record predefinito di impostazioni del contenuto, preconfigurato per utilizzare il centro sottoscrizioni predefinito (anche questo fornito come predefinito). Puoi personalizzare questo record in base alle esigenze e puoi anche creare record aggiuntivi. Dovrai configurare ogni percorso del cliente per utilizzare un record di impostazioni del contenuto specifico in modo che tutti i messaggi inviati da tale percorso utilizzeranno lo stesso record. Ogni percorso può usare tuttavia un record diverso e di conseguenza puoi usare la stessa progettazione del messaggio e-mail di marketing in due o più percorsi del cliente, ognuno con un record diverso di impostazioni del contenuto. Se sono disponibili più record di impostazioni del contenuto, solo uno di essi è quello predefinito che viene applicato automaticamente a ogni nuovo percorso del cliente creato.

I valori per le impostazioni del contenuto vengono valutati solo al momento dell'invio, pertanto puoi modificare un record di impostazioni del contenuto in qualsiasi momento e tutti i messaggi e-mail in sospeso e futuri utilizzeranno automaticamente i valori più recenti.

Ogni record di impostazioni del contenuto utilizzato deve essere disponibile ai servizi di marketing esterni che gestiscono l'assembly e il recapito dei messaggi e-mail. Di conseguenza, devi pubblicare i record delle impostazioni del contenuto tramite l'opzione Passa allo stato Live ogni volta che crei un nuovo record.

Nota

Se disponi di altri tipi di valori utilizzati spesso in messaggi e-mail e/o desideri effettuare la gestione a livello di percorso del cliente, puoi aggiungerli come campi personalizzati all'entità delle impostazioni dei contenuti proprio come puoi fare per altri tipi di entità in Dynamics 365. Tuttavia, nella versione corrente, tutti i campi personalizzati per l'entità di impostazioni di contenuto devono essere di tipo testo (stringa). Altre informazioni: Personalizzazione di Customer Insights - Journeys

Per visualizzare, modificare, creare un record di impostazioni del contenuto:

  1. Vai a Marketing in uscita>Modelli di marketing>Impostazioni di contenuto.

  2. Viene aperta una pagina elenco dove puoi visualizzare, ordinare, cercare e filtrare l'elenco per individuare un record specifico e utilizzare i pulsanti della barra dei comandi per aggiungere o rimuovere un record. Seleziona un record per aprirlo per la modifica o seleziona Nuovo sulla barra dei comandi per crearne uno nuovo.

  3. Viene visualizzato il modulo Impostazioni di contenuto. Se modifichi un record che è già nello stato Live, devi scegliere Modifica sulla barra dei comandi prima di eseguire l'operazione. Se crei un nuovo record, puoi semplicemente iniziare a compilare i campi.

    Modulo di impostazioni del contenuto.

  4. Specifica le impostazioni seguenti, in base alle esigenze:

    • Nome: immetti un nome per il record di impostazioni cliente. Questo è il nome visualizzato quando assegni le impostazioni di contenuto a un percorso del cliente oppure a un'anteprima del messaggio e-mail di marketing.
    • Proprietario: mostra l'utente Dynamics 365 Customer Insights - Journeys che ha creato il record.
    • Indirizzo principale: immetti la parte principale dell'indirizzo postale della tua organizzazione. Tutti i messaggi e-mail di marketing devono includere un indirizzo principale selezionato da un record di impostazioni del contenuto. Seleziona ha utilizzato il pulsante Pulsante di personalizzazione. per utilizzare personalizzazione per immettere un'espressione che fa riferimento a un campo di un record esistente (ad esempio un campo indirizzo di un record di account specifico).
    • Riga indirizzo 2: immetti le informazioni sull'indirizzo aggiuntivo (se necessario). Seleziona ha utilizzato il pulsante Pulsante di personalizzazione. per utilizzare personalizzazione per immettere un'espressione che fa riferimento a un campo di un record esistente (ad esempio un campo indirizzo di un record di account specifico).
    • Predefinito: seleziona per impostare il record di impostazioni del contenuto corrente come predefinito per tutti i nuovi percorsi del cliente. È consentito un solo valore predefinito; se modifichi il valore predefinito, quello esistente verrà automaticamente impostato su No.
    • Impostazione predefinita per la Business Unit proprietaria: questa impostazione è disponibile solo quando l'ambito della Business Unit è abilitato. Seleziona per impostare il record di impostazioni del contenuto corrente come predefinito per tutti i nuovi percorsi del cliente nella Business Unit. È consentito una sola impostazione del contenuto predefinita dall'ambito Business Unit; se modifichi il valore predefinito, quello esistente verrà automaticamente impostato su No.
    • URL LinkedIn, URL Twitter, URL Facebook, URL Instagram, URL YouTube URL Google Plus: per ognuno di questi servizi di social media, immetti la pagina di destinazione per l'organizzazione.
    • Centro sottoscrizioni: specifica una pagina di marketing esistente configurata come Centro sottoscrizioni. Tutti i messaggi e-mail di marketing devono includere un collegamento valido al Centro sottoscrizioni selezionato da un record di impostazioni del contenuto. Seleziona il pulsante Pulsante di personalizzazione. per utilizzare personalizzazione per immettere un'espressione che fa riferimento al campo URL pagina completa per la pagina specifica che si desidera utilizzare. L'espressione risultante sarà simile a questa (in cui il GUID varierà in base al record selezionato utilizzando la personalizzazione):
      {{msdyncrm_marketingpage(3343053c-8daf-e911-a85e-000d3a3155d5).msdyncrm_full_page_url}}
    • Inoltra a un amico: specifica una pagina di marketing esistente configurata come pagina di inoltro a un amico. Seleziona ha utilizzato il pulsante Pulsante di personalizzazione. per scegliere da un elenco di pagine disponibili. Seleziona il pulsante Pulsante di personalizzazione per utilizzare personalizzazione per immettere un'espressione che fa riferimento al campo URL pagina completa per la pagina specifica che si desidera utilizzare. L'espressione risultante sarà simile a questa (in cui il GUID varierà in base al record selezionato utilizzando la personalizzazione):
      {{msdyncrm_marketingpage(36458a9e-72af-e911-a859-000d3a3159df).msdyncrm_full_page_url}}
  5. Seleziona Salva nell'angolo inferiore destro della finestra per salvare le impostazioni.

  6. Se modifichi un record di impostazioni del contenuto già nello stato Live, il record viene ripubblicarlo automaticamente quando lo salvi. Se crei un nuovo record, seleziona Passa allo stato Live sulla barra dei comandi per pubblicarlo nei servizi di marketing e iniziare a utilizzarlo.

Utilizzare la personalizzazione per inserire valori di campo dinamici

La personalizzazione consente di creare espressioni dinamiche valide per posizionare i valori dei campi dai record del contatto dei destinatari, le impostazioni del contenuto dei messaggi e altri valori di database. Questo pulsante viene visualizzato sulla barra degli strumenti per la formattazione del testo ogni volta che selezioni un elemento di testo nella finestra di progettazione grafica. Il pulsante è disponibile anche per alcuni campi di impostazioni, ad esempio oggetto e indirizzo e nome del mittente.

Nota

Nella finestra di dialogo della personalizzazione vengono visualizzate solo le entità e le relazioni sincronizzate con il servizio Marketing Insights. Se è necessario visualizzare le informazioni oppure utilizzare le relazioni per una o più entità non elencate, chiedere all'amministratore di aggiungere tali entità al servizio Marketing Insights. Se sei un amministratore, vedi la sezione Scegliere le entità da sincronizzare con il servizio Marketing Insights per istruzioni. L'entità proprietario non è più supportata per la personalizzazione delle email. Sostituiscilo con l'entità systemuser o team , a seconda dell'entità che rappresenta il proprietario del record.

Utilizzare la personalizzazione per inserire un'espressione dinamica

Per utilizzare la personalizzazione:

  1. Posiziona il cursore nel campo o nell'elemento di testo in cui desideri inserire il testo dinamico, quindi Seleziona il pulsante Personalizzazione Pulsante di personalizzazione. Si apre la finestra di dialogo di personalizzazione.

    Personalizzazione, pagina 1.

  2. Esegui una delle operazioni seguenti:

    • Seleziona Contenuto Dinamico per inserire un valore che può cambiare in base al contesto in cui utilizzi il messaggio, quindi scegli una delle operazioni seguenti nell'elenco a discesa di seguito:
      • Contatto: inserisci un valore di campo, ad esempio il nome, dal record del contatto del destinatario. Tali valori variano in base al destinatario.
      • Impostazioni di contenuto: inserisce un valore di campo dalle impostazioni di contenuto. Valori quali l'URL del Centro sottoscrizioni, l'URL di inoltro e l'indirizzo postale del mittente sono disponibili qui. Tali valori possono variare a seconda del percorso del cliente in cui il messaggio viene utilizzato.
      • FormDoiSubmission: inserisce un campo dinamico per il doppio consenso esplicito del modulo. Questo campo non richiede un valore di relazione, come discusso di seguito.
      • Messaggio: consente di inserire valori relativi al messaggio stesso; attualmente, sono inclusi l'URL di apertura come pagina Web e i diversi valori dinamici utilizzati nei messaggi e-mail per il doppio consenso esplicito.
    • Seleziona Contenuto statico per inserire un valore fisso da un record specifico (ad esempio il nome di un evento imminente). Questo valore è lo stesso indipendentemente da dove utilizzi il messaggio o chi lo riceve. Quindi, effettua le seguenti impostazioni per identificare l'entità e i record contenenti il valore di cui hai bisogno:
      • Seleziona un'opzione (casella combinata superiore): seleziona l'entità (ad esempio evento o account). Per cercare un'entità, posiziona il cursore nella casella e inizia a digitarne il nome fino a che non viene visualizzata l'entità desiderata.
      • Scegli un record (elenco a discesa in basso): seleziona il record specifico per nome. Questo elenco mostra tutti i record dell'entità selezionata. Come per l'entità, puoi anche effettuare ricerche in questo punto.
  3. A questo punto devi identificare il campo specifico che vuoi inserire. Effettua una delle operazioni seguenti:

    • Seleziona Entità correlata per trovare un campo da un'entità correlata a quella selezionata nella pagina precedente. Effettua quindi le seguenti impostazioni per identificare la relazione e il campo che vuoi mostrare:
      • Seleziona relazione: la relazione definisce la seconda entità su cui vuoi passare direttamente il percorso per raggiungerla. Per cercare una relazione, posiziona il cursore nella casella e inizia a digitarne il nome fino a che non viene visualizzata la relazione quindi selezionala. Per ulteriori informazioni su come comprendere il modo in cui le relazioni vengono rappresentate qui, vedere la sezione seguente.
      • Seleziona campo: scegli il nome del campo che vuoi visualizzare. Come per la relazione, puoi anche effettuare ricerche in questo punto. Questo elenco a discesa è disponibile solo se è stato scelto relazione 1:N.
  4. Nella parte inferiore della finestra di dialogo, puoi ora vedere l'espressione finale. Seleziona Inserisci per inserire tale espressione.

    Personalizzazione, pagina 2.

Importante

Gli elenchi creati utilizzando i cicli for-each non vengono visualizzati in un ordine particolare e non sono ordinabili da alcun campo.

Come la personalizzazione presenta le relazioni del database

Quando selezioni una relazione nella personalizzazione, le opzioni vengono visualizzate utilizzando una delle seguenti convenzioni di denominazione:

  • FieldName (PrimaryEntity) -> SecondaryEntity
    Quando l'entità primaria è racchiusa tra parentesi e mostra un nome di campo, si tratta di una relazione molti-a-uno (N: 1) che porta a un singolo record dell'entità secondaria. È necessario pertanto utilizzare in genere il secondo elenco a discesa per scegliere un campo dall'entità secondaria da visualizzare con l'espressione.
  • PrimaryEntity -> FieldName (SecondaryEntity)
    Quando l'entità secondaria è racchiusa tra parentesi e mostra un nome di campo, si tratta di una relazione uno-a-molti (1:N) che può portare a più record dell'entità secondaria. Per questo motivo non sarà possibile scegliere un campo (il secondo elenco a discesa è disabilitato) e sarà necessario invece utilizzare questa relazione come parte di un ciclo for/each per visualizzare i valori di ogni record correlato disponibile.
  • PrimaryEntity -> SecondaryEntity
    Quando nessuna delle entità è racchiusa tra parentesi, si tratta di una relazione molti-a-molti (N:N), che può connettere più record in entrambe le direzioni. Non è quindi possibile scegliere un campo (il secondo elenco a discesa è disabilitato) e non è possibile utilizzare questa relazione per la personalizzazione. Questo perché la relazione è mantenuta da un'entità intermedia e puoi passare all'entità intermedia solo dall'entità primaria.

Dove:

  • PrimaryEntity è un'entità sul lato iniziale di una relazione. È sempre visualizzata nella parte sinistra della freccia. Questa è l'entità scelta nella pagina precedente della finestra di dialogo per la personalizzazione. Ad esempio, Contatto (entità primaria) può essere correlato a un Account (entità secondaria) nel campo Nome società del contatto (nome del campo) e sarà visualizzata come: Nome società (contatto) - > Account.
  • FieldName è sempre visualizzato accanto a un nome di entità (tra parentesi). Questo è il nome del campo attraverso il quale viene stabilita la relazione. Il campo denominato appartiene all'entità tra parentesi e visualizza un valore dell'entità dall'altro lato della freccia (ma in realtà il record contiene gli ID del record correlato da cui è ricavato il valore). In alcuni casi, noterai una relazione tra le due stesse entità, ognuna delle quali attraversa un campo diverso.
  • SecondaryEntity è la destinazione della relazione. È sempre visualizzata nella parte destra della freccia. I valori visualizzati con l'espressione finale verranno da un campo appartenente all'entità secondaria.

Nota

Per le relazioni N:N, non viene visualizzato alcun valore di campo. Vale a dire che se si dispone di più di una relazione N:N tra le stesse due entità, nell'elenco a discesa verranno visualizzate più relazioni identiche. Questa situazione è molto rara, ma se viene visualizzata, sarà necessario utilizzare prova-e-errore per identificare la relazione corretta da utilizzare. Per confermare, è possibile controllare espressione risultante per verificare di aver scelto la relazione corretta (le relazioni vengono visualizzate qui diversamente e possono offrire una traccia), oppure configurare un messaggio di prova che includa entrambe le versioni della relazione N:N e utilizzare un percorso cliente di prova da consegnare a se stessi.

Di seguito sono riportati alcuni esempi:

  • Nome società (contatto) - > Account: questa relazione viene utilizzata dall'entità Contatto per visualizzare le informazioni dell'entità Account nel campo Nome società di un record di contatto. In altre parole, è collegata alla società (account) per la quale lavora il contatto.
  • Partner responsabile (Contatto) - > Account: questa relazione viene utilizzata dall'entità Contatto per visualizzare le informazioni dell'entità Account nel campo Partner responsabile di un record di contatto. In altre parole, è collegata alla società (account) che è il partner responsabile per un contatto.
  • Contatto - > Contatto primario (Account): questa relazione viene utilizzata dall'entità Account per visualizzare le informazioni dell'entità Account nel campo Contatto primario di un record di account. In altre parole, vengono individuati tutti gli account in cui il contatto corrente è assegnato come contatto primario.
  • Contatto - > Contatto (Registrazione evento): questa relazione viene utilizzata dall'entità Registrazione evento per visualizzare le informazioni dell'entità Contatto nel campo Contatto di un record di registrazione evento. In altre parole, vengono individuate tutte registrazioni evento eseguite tramite (o per) il contatto corrente.

Espressioni create dalla personalizzazione

La personalizzazione crea un'espressione che utilizza un formato come quello seguente:

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

Tieni presente che la notazione utilizzata per i nomi di relazione nelle espressioni risultanti non corrisponde al modo in cui vengono presentati nella finestra di dialogo della personalizzazione. Di seguito sono riportati alcuni esempi di espressioni risultanti:

  • {{contact.firstname}}
    Inserisce il nome del destinatario.
  • {{msdyncrm_marketingpage(3343053c-8daf-e911-a85e-000d3a3155d5).msdyncrm_full_page_url}}
    Inserisce il valore del campo msdyncrm_full_page_url dal record della pagina di marketing specificata dal GUID tra parentesi. In genere si può utilizzare un'espressione di questo modulo in un record di impostazioni del contenuto per specificare una pagina Centro sottoscrizioni o di inoltro a un amico.
  • {{msdyncrm_contentsettings.msdyncrm_subscriptioncenter}}
    Inserisce l'URL per la pagina Centro sottoscrizioni identificata nelle impostazioni del contenuto configurate per il percorso del cliente che invia il messaggio.
  • {{msdyncrm_contentsettings.msdyncrm_forwardtoafriend}}
    Inserisce l'URL della pagina di inoltro identificata nelle impostazioni del contenuto configurate per il percorso del cliente che invia il messaggio.
  • {{Message.ViewAsWebpageURL}}
    Inserisce un URL per l'apertura del messaggio corrente in un Web browser.
  • {{msevtmgt_event(8a519395-856c-4e22-b560-650ce6d6a79d).msevtmgt_webinarurl}}
    Inserisce l'URL del webinar per l'evento identificato dall'ID evento specificato (tra parentesi).
  • {{msdyn_survey(39128da2-c968-4627-9595-f030b6571be4).msdyn_name}}
    Inserisce il nome del sondaggio identificato dall'ID sondaggio specificato (tra perentesi).
  • {{contact.contact_account_parentcustomerid.name}}
    Questa espressione trova il nome dell'account per l'azienda in cui un contatto lavora.
  • {{contact.contact_account_msa_managingpartnerid.name}}
    Questa espressione trova il nome del partner responsabile per l'account per l'azienda in cui un contatto lavora.

Dopo aver ottenuto un'espressione che funziona, è possibile copiarla e incollarla ovunque. Non è necessario utilizzare ogni volta la personalizzazione.

Importante

È possibile avere al massimo due hop (punti) nelle espressioni di campo. Non provare a creare espressioni più complesse aggiungendo più hop alle espressioni create con la personalizzazione.

Mancia

Se sono necessari i tipi di dati supportati dalla personalizzazione, è consigliabile utilizzare la funzionalità di personalizzazione per inserire il codice piuttosto che scriverlo da zero. In questo modo i nomi di entità, relazione e campo corrispondono a quelli utilizzati nel database e si evitano errori ortografici.

Nota

La funzionalità di invio di e-mail di Dynamics 365 Customer Insights - Journeys non supporta i campi calcolati.

Valori dinamici nei campi del destinatario, del nome e dell'indirizzo del mittente e di risposta

Nella scheda Riepilogo del modulo Messaggio e-mail di marketing, puoi modificare le diverse impostazioni non correlate al contenuto per il messaggio nella sezione Mittente e destinatario. Sono inclusi i valori e le espressioni per definire i valori del destinatario, del nome e dell'indirizzo del mittente e del campo di risposta utilizzati dal messaggio.

Impostazioni di Mittente e destinatario per i messaggi e-mail.

Un tipico modo di sfruttare i vantaggi di questa funzionalità è di impostare Nome mittente e Indirizzo mittente sul proprietario del record del contatto. Successivamente, assegnando il proprietario di ogni record di contatto al venditore che gestisce il contatto, i destinatari riceveranno messaggi e-mail di marketing che mostrano un indirizzo mittente di qualcuno che conoscono, che può aumentare notevolmente le tariffe aperte. In tal caso, eseguire la procedura seguente:

  1. Se l'istanza Customer Insights - Journeys non è ancora configurata per sincronizzare l'entità Utente (systemuser) con il servizio Marketing Insights, contatta l'amministratore per eseguire la configurazione. Se sei l'amministratore, vedi la sezione Scegliere le entità da sincronizzare con il servizio Marketing Insights per istruzioni.
  2. Apri il messaggio e-mail e vai alla scheda Riepilogo.
  3. Elimina il contenuto del campo Nome mittente e quindi Seleziona il pulsante Personalizzazione Pulsante di personalizzazione accanto a questo campo.
  4. Sulla prima pagina della finestra di dialogo per la personalizzazione seleziona Contestuale e impostalo su Contatto. Quindi, seleziona Avanti.
  5. Sulla seconda pagina della finestra di dialogo per la personalizzazione seleziona Entità correlata e quindi:
    • Imposta l'elenco a discesa in alto (relazione) su Utente proprietario (Contatto) -> Utente.
    • Imposta l'elenco a discesa in basso (campo) su Nome completo.
  6. Selezionare OK per inserire l'espressione, che deve essere: {{contact.contact_systemuser_owninguser.fullname}}.
  7. Elimina il contenuto del campo Indirizzo mittente e quindi Seleziona il pulsante Personalizzazione Pulsante di personalizzazione accanto a questo campo.
  8. Sulla prima pagina della finestra di dialogo per la personalizzazione seleziona Contestuale e impostalo su Contatto. Quindi, seleziona Avanti.
  9. Sulla seconda pagina della finestra di dialogo per la personalizzazione seleziona Entità correlata e quindi:
    • Imposta l'elenco a discesa in alto (relazione) su Utente proprietario (Contatto) -> Utente.
    • Imposta l'elenco a discesa in basso (campo) su Indirizzo e-mail primario.
  10. Selezionare OK per inserire l'espressione, che deve essere: {{contact.contact_systemuser_owninguser.internalemailaddress}}.

È possibile utilizzare tecniche simili per inserire il nome dell'utente proprietario o l'indirizzo e-mail in qualsiasi punto del contenuto del messaggio. È possibile eseguire questa operazione mediante la personalizzazione o copiando/incollando le espressioni Handlebar oppure digitandole manualmente.

È possibile utilizzare un'espressione dinamica per definire l'URL di origine per gli elementi di immagine. Per farlo, Seleziona l'elemento immagine, vai al suo pannello Proprietà e poi Seleziona il pulsante Personalizzazione Pulsante di personalizzazione accanto al campo Sorgente per inserire il testo dinamico come parte dell'URL. Ciò verrà combinato con il testo statico per assemblare un URL completo. Ad esempio, puoi includere l'ID contatto o il nome società del destinatario per selezionare un'immagine pertinente per ogni singolo destinatario.

È possibile utilizzare in modo simile la personalizzazione per creare un'espressione dinamica per l'impostazione di una destinazione Collegamento per l'immagine.

Nota

La libreria di file di Dynamics 365 Customer Insights - Journeys genera un percorso file basato su GUID univoco per ogni immagine caricata, pertanto le immagini nella libreria di file hanno URL imprevedibili che non includono il nome del file originale. Pertanto, per utilizzare la tecnica qui descritta, è necessario ospitare le immagini sul proprio sito Web o qualsiasi servizio di hosting di terze parti in cui gli URL sono prevedibili e possono includere un valore che è possibile estrarre facilmente da un campo di Dynamics 365.

Trovare ID record

Espressioni di campo non contestuali (che utilizzano il modulo {{EntityName(RecordID).FieldName}}) richiedono un ID record per identificare il record specifico da cui deve derivare il valore. In genere, la personalizzazione consente di trovare questi ID, ma talvolta potrebbe essere necessario trovare un ID manualmente mentre stai progettando le funzionalità dinamiche per un messaggio. Per trovare l'ID per ogni record:

  1. Apri il record cui fare riferimento.
  2. Verifica che l'URL visualizzato nella barra degli indirizzi del browser sia analogo al seguente:
    https://<MyOrg>.crm.dynamics.com/main.aspx?appid=00001111-aaaa-2222-bbbb-3333cccc4444&pagetype=entityrecord&etn=msevtmgt_event&id=11112222-bbbb-3333-cccc-4444dddd5555
  3. Individua la parte di URL che inizia con &id=, seguito dal numero ID del record corrente. Copia tale numero (solo il valore) e utilizzalo nell'espressione.

Contenuto dinamico avanzato

Puoi aggiungere elaborazione logica avanzata alla progettazione del messaggio e-mail in modo che il contenuto sia ancora più reattivo in relazione a destinatari, dati demografici e contesto. Per questo tipo di personalizzazione, devi avere familiarità con la creazione di script e la programmazione.

Come indicato negli esempi precedenti, il contenuto dinamico è racchiuso tra parentesi graffe doppie ({{ e }}). Sono inclusi valori di campo standard aggiunti tramite la funzionalità di personalizzazione e i costrutti di programmazione più avanzati descritti in questa sezione.

Mancia

Se desideri visualizzare parentesi graffe doppie in un messaggio, anziché utilizzarle per indicare l'inizio o la fine di un blocco di codice, anteponi alla prima parentesi graffa una barra rovesciata, ad esempio \{{ o \}}. A differenze delle doppie parentesi graffe, le barre non vengono visualizzate nel messaggio finale di cui è stato eseguito il rendering.

Istruzioni condizionali e confronti

Le istruzioni condizionali (if-then-else) visualizzano contenuto in base al valore restituito (true o false) da una o più espressioni condizionali. Puoi aggiungere il codice richiesto per creare queste istruzioni importandolo all'interno di un elemento di testo o importando elementi di codice personalizzato tra gli altri elementi della progettazione. Altre informazioni: Istruzioni per immettere contenuto dinamico avanzato nella finestra di progettazione

Le istruzioni condizionali assumono il formato seguente:

{{#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}}

Dove:

  • Il blocco condizionale deve aprirsi sempre con {{#if … }}.
  • Le espressioni condizionali devono essere racchiuse tra parentesi.
  • Le espressioni condizionali iniziano con un <operatore>, che deve essere uno dei valori elencati nella tabella seguente. Tale operatore stabilisce la modalità di confronto tra il primo e il secondo valore.
  • <valore1> e <valore2> sono i valori confrontati nell'espressione condizionale e ciascuno può essere un valore dinamico o costante. Se <valore1> o <valore2> è un valore di stringa costante (non un numero né un'espressione)t, deve essere racchiuso da virgolette singole ('). Per i numeri reali, utilizza un punto (.) come separatore decimale.
  • Se <valore1> è un campo booleano (noto anche come campo a due opzioni in Dynamics 365), non includere <operatore> o <valore2> o le parentesi. I campi booleani includono sempre un valore true o false, pertanto è consigliabile utilizzarli direttamente solo per stabilire la condizione ad esempio: {{#if contact.is_vip}}.
  • Le clausole {{else}} e {{else if … }} sono facoltative.
  • Il blocco condizionale deve chiudersi sempre con {{/if}}.

Nella tabella seguente sono elencati tutti gli operatori utilizzabili nelle espressioni condizionali. Attualmente non sono disponibili altri operatori né puoi utilizzare espressioni booleane complesse (ad esempio con operatori AND oppure OR) nelle espressioni condizionali.

Sintassi di Dynamics 365 Customer Insights - Journeys (rileva la distinzione tra maiuscole e minuscole) Operatore
eq Uguale a
ne Diverso da
lt Minore di
gt Maggiore di
lte Minore di o uguale a
gte Maggiore di o uguale a

Questa espressione condizionale può essere utilizzata, ad esempio, per determinare la lingua usata in una formula di saluto in base al paese di ogni destinatario del messaggio:

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

Di seguito è riportato un esempio di un'istruzione condizionale basata su un campo booleano (due opzioni) denominato is_vip; nota come dal momento i campi booleani restituiscono sempre un valore true o false, nessun operatore, valore di confronto o parentesi viene incluso nella condizione:

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

Mancia

Per verificare la presenza di campi vuoti, puoi operare nel modo seguente:

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

Dove '' sono due virgolette singole e non un simbolo di virgolette doppie. In questo modo vengono individuati i campi vuoti, ma non quelli con valore Null.

Mancia

Sebbene nelle espressioni condizionali sia possibile utilizzare espressioni booleane, puoi implementare funzionalità analoghe nel modo seguente:

Non supportata:

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

Equivalente a (supportata):

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

 
Non supportata:

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

Equivalente a (supportata):

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

Mancia

Quando stai effettuando testo per i valori archiviati come set di opzioni nel database, utilizza i valori dell'indice per il set di opzioni, non i valori visualizzati. Ad esempio, è consigliabile avere un campo denominato contact.customertypecode che contiene un valore intero per identificare di che tipo di cliente si tratta. Ogni codice di tipo cliente dispone di un nome visualizzato, ad esempio 0 = "copper", 1 = "silver" e 2 = "gold". In questo caso, devi configurare l'espressione in modo da utilizzare l'indice (valore intero), non il valore visualizzato corrispondente. Pertanto, se stai cercando i clienti Gold, è consigliabile utilizzare:

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

Mancia

Quando stai testando grandi valori numerici, ad esempio "1,932,333 ", escludi il separatore delle migliaia (,) nell'istruzione di confronto, anche se potrebbe essere visualizzata spesso nell'interfaccia utente. Per testare su questo valore, l'espressione dovrebbe quindi assumere questo aspetto:

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

Cicli for-each

I cicli for-each consentono di esaminare una raccolta di record correlati a un record corrente specifico, ad esempio per fornire un elenco di tutte le transazioni recenti associate a un determinato contatto. Puoi aggiungere il codice richiesto per creare queste istruzioni importandolo all'interno di un elemento di testo o importando elementi di codice personalizzato tra gli altri elementi della progettazione. Altre informazioni: Istruzioni per immettere contenuto dinamico avanzato nella finestra di progettazione

I cicli for-each assumono il formato seguente:

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

Dove:

  • Il blocco del ciclo deve aprirsi sempre con {{#each … }}.
  • Entity.RelationshipName identifica il set di record correlati su cui viene eseguito il ciclo.
  • Il ciclo inizia a operare sul primo record correlato disponibile e l'operazione viene eseguita su ogni record correlato disponibile fino a quando tutti i record correlati non sono stati elencati. Nota che i record correlati vengono restituiti in un ordine arbitrario e non prevedibile.
  • {{this.RelatedField<n>}} identifica un nome di campo del record correlato. La parte "this" dell'espressione si riferisce al record correlato da elaborare nell'iterazione del ciclo corrente e deve essere seguita da un nome di campo valido per l'entità correlata. In ogni ciclo puoi includere un numero di campi qualsiasi.
  • Il blocco del ciclo deve chiudersi sempre con {{/each}}.

Supponi che nel tuo database sia presente un elenco di prodotti che un contatto ha ordinato. Puoi elencare tali prodotti in un messaggio e-mail con un codice analogo al seguente:

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

In questo esempio, il sistema Dynamics 365 Customer Insights - Journeys è stato personalizzato per includere un'entità personalizzata denominata product, configurata con una relazione 1:N tra le entità contact e product nel campo productid. Affinché l'entità product sia disponibile nel messaggio e-mail, è necessario che sia sincronizzata con il servizio Marketing Insights (come di consueto).

Importante

Solo i primi 1.000 elementi correlati vengono aggiunti alla relazione ai fini del rendering del messaggio e-mail. L'utilizzo di relazioni con più di 1.000 elementi non è supportato nei modelli di messaggio e potrebbe portare a risultati imprevisti.

Inoltre, le relazioni di secondo non sono supportate. Pertanto, la seguente sintassi non è consentita:

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

Istruzioni per immettere contenuto dinamico avanzato nella finestra di progettazione

Devi prestare attenzione durante l'immissione del codice dinamico avanzato nella finestra di progettazione in quanto esistono molti modi, a volte imprevedibili, in cui puoi immetterlo in maniera errata, causando l'interruzione del codice. Di seguito sono riportati alcuni suggerimenti su come inserire e testare il codice:

  • Utilizza elementi di codice personalizzato per importare frammenti di codice tra gli elementi di progettazione nella scheda Progettazione. Si tratta di un metodo molto visibile e affidabile che importare il codice direttamente in HTML tramite la scheda HTML. Tuttavia, è inoltre possibile utilizzare il codice dinamico all'interno di un elemento di testo, nel qual caso dovrai probabilmente pulire tale codice nella scheda HTML, come indicato più avanti in questo elenco. Quando lavori nell'editor a pagina intera, seleziona un elemento di codice personalizzato per modificarne il relativo contenuto.
    Elemento di codice personalizzato.
  • Quando immetti il codice in un elemento di testo nella scheda Progettazione, tutti gli spazi e i ritorni a capo che aggiungi comportano la creazione dei tag &nbsp; e <p> nel codice, causandone l'interruzione. Accedi sempre in seguito alla scheda HTML dove potrai visualizzare tutti questi tag aggiuntivi e assicurati di rimuoverli.
  • Quando immetti codice in un elemento di testo tutto il codice del contenuto dinamico deve essere contenuto in un set di tag iniziali e finali (ad esempio <p> e </p>) oppure in un commento HTML (per codice completamente separato dal testo visualizzato). Non posizionare codice al di fuori di commenti o di coppie di tag HTML (o elementi di codice personalizzato) per evitare confusione nell'editor (soprattutto se ti sposti tra le schede HTML e Progetta). Devi utilizzare la scheda HTML per rivedere e correggere l'HTML negli elementi di testo.
  • Non posizionare ritorni a capi tra gli elementi di codice che fanno parte della stessa espressione (ad esempio in un ciclo for-each) a meno che racchiudi ogni riga con il proprio set di tag HTML (come illustrato nel ciclo for-each di esempio illustrato dopo questo elenco).
  • La funzionalità di personalizzazione è spesso utile per creare espressioni che recuperano i valori dal database poiché consente di trovare la tabella del database, il campo e nomi di relazione. Questo strumento è disponibile quando si lavora in un elemento di testo nella scheda Progettazione e durante l'immissione di valori in determinati campi che la supportano (come l'oggetto del messaggio e-mail). La personalizzazione non è disponibile quando si utilizza la scheda HTML o all'interno di un elemento di codice personalizzato, pertanto puoi iniziare utilizzando la personalizzazione in qualsiasi elemento di testo e quindi eseguire tagliato e quindi tagliare/incollare l'espressione nell'elemento di codice personalizzato o HTML.
  • Il nome di relazione utilizzato durante la creazione di cicli o il posizionamento di valori di ricerca deve corrispondere a quello utilizzato nel servizio Marketing Insights. Il nome di relazione non è necessariamente lo stesso utilizzato per personalizzare Dynamics 365. Per individuare il nome di relazione corretto, utilizza la funzionalità di personalizzazione.

Per impostare la formula di saluto di un messaggio e-mail, ad esempio, puoi immettere il codice seguente nella scheda HTML della finestra di progettazione (all'interno o all'esterno di un elemento di testo):

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

L'esempio seguente illustra (come in precedenza) come utilizzare i commenti per racchiudere codice che esiste interamente all'esterno del contenuto visualizzato (anche nella scheda HTML):

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