Adăugarea conținutului dinamic la mesajele de e-mail
Important
Acest articol se aplică numai pentru marketing orientat spre exterior, care va fi eliminat din produs pe 30 iunie 2025. Pentru a evita întreruperi, treceți la călătorii în timp real înainte de această dată. Mai multe informații: Prezentare generală a tranziției
Avertisment
Dacă utilizați securitate la nivel de câmp pentru unele dintre câmpurile dvs. de e-mail, trebuie să adăugați permisiunile corecte sau Customer Insights - Journeys nu vă puteți procesa e-mailul.
Pentru a configura securitatea la nivel de câmp:
- În dreapta sus, selectați pictograma Setări apoi selectați Setări avansate.
- În secțiunea Sistem , selectați Securitate.
- Selectați Profiluri de securitate coloane.
- Pentru a crea un nou profil Field Security, selectați New Profile și introduceți un nume în secțiunea General.
- În secțiunea Utilizatori , adăugați utilizatorul de sistem: „# D365 Marketing Core Sending”.
- În secțiunea Permisiuni de câmp , adăugați permisiune de citire la toate câmpurile obligatorii.
Conținutul dinamic este rezolvat chiar înainte ca un mesaj să fie trimis unei anumite persoane. În mod obișnuit veți utiliza conținutul dinamic pentru a îmbina informații dintr-o înregistrare de persoană de contact a destinatarului (cum ar fi prenumele și numele de familie), pentru a plasa linkuri speciale și pentru a plasa informații și linkuri din setări de conținut. Dacă puteți lucra ușor în cod, puteți, de asemenea, să creați un algoritm particularizat care include declarații condiționale, bucle for-each etc. Puteți să utilizați conținut dinamic oriunde în corpul mesajului și să folosiți câteva tipuri de valori dinamice în câmpurile antetului de mesaj (subiect, adresă expeditor și nume expeditor).
Utilizarea setărilor de conținut pentru configurarea depozitelor de valori standard și obligatorii pentru mesajele de e-mail
Setările de conținut sunt seturi de valori standard și obligatorii care sunt disponibile pentru utilizarea în mesajele de e-mail de marketing. Fiecare include un link de centru de abonament, un link de redirecționare către un prieten, linkuri de rețele sociale, adresa dvs. poștală și alte informații care pot fi plasate în mesaj ca valori dinamice folosind personalizare funcție.
Dynamics 365 Customer Insights - Journeys este livrat cu o singură înregistrare implicită de setări de conținut, care este preconfigurată pentru a utiliza Centru de abonamente implicit (inclusă și din cutie). Puteți particulariza această înregistrare, după caz, și puteți, de asemenea, să creați înregistrări suplimentare. Veți seta fiecare călătorie a clientului să utilizeze un anumit set de setări de conținut, ceea ce înseamnă că toate mesajele transmise de către călătoria respectivă vor utiliza aceeași înregistrare. Cu toate acestea, fiecare călătorie poate utiliza o înregistrare diferită, ceea ce înseamnă că puteți folosi un proiect de e-mail de marketing identic în două sau mai multe călătorii ale clienților, fiecare specificând o înregistrare diferită de setări de conținut. Dacă aveți mai mult de o înregistare de setări de conținut, exact una dintre acestea va fi cea implicită și se va aplica în mod automat pentru fiecare călătorie a clientului pe care o creați.
Valorile pentru setările de conținut sunt evaluate mai întâi la data trimiterii, ceea ce înseamnă că puteți edita un set de setări de conținut în orice moment, iar toate mesajele de e-mail viitoare sau în așteptare vor utiliza în mod automat cele mai recente valori.
Fiecare înregistrare setări de conținut pe care o utilizați trebuie să fie disponibilă pentru serviciile externe de marketing, care gestionează asamblarea și livrarea e-mailului. Prin urmare, trebuie să vă publicați înregistrările privind setările de conținut alegând Intră în direct de fiecare dată când creați una nouă.
Notă
Dacă aveți alte tipuri de valori pe care le utilizați frecvent în mesajele e-mail, și/sau pe care doriți să le gestionați la nivel de călătorie client, atunci le puteți adăuga sub formă de câmpuri personalizate la entitatea setări de conținut la fel cum puteți pentru alte tipuri de entități în Dynamics 365. Cu toate acestea, în versiunea curentă, toate câmpurile particularizate pentru entitatea setări de conținut trebuie să fie de tip text (șir). Mai multe informații: Personalizare Customer Insights - Journeys
Pentru a vizualiza, a edita sau a crea o înregistrare de setări de conținut:
Accesați marketing orientat spre exterior>Șabloane de marketing>Setări de conținut.
Se deschide o pagină de listă standard, unde puteți vizualiza, sorta sau filtra lista și puteți căuta în ea pentru a găsi o anumită înregistrare și puteți utiliza butoanele din bara de comenzi pentru a adăuga sau a elimina o înregistrare. Selectați o înregistrare pentru a o deschide pentru editare sau selectați Nou în bara de comandă pentru a crea una nouă.
Se deschide formularul Setări de conținut . Dacă editați o înregistrare care este deja live, trebuie să alegeți Editare în bara de comandă înainte de a o putea edita. Dacă creați unul nou, puteți începe să completați câmpurile.
Faceți următoarele setări după caz:
- Nume: introduceți un nume pentru înregistrarea setărilor clientului. Acesta este numele afișat când atribuiți setările de conținut la o previzualizare a unei călătorii a clientului sau a unui mesaj de e-mail.
- Proprietar: arată Dynamics 365 Customer Insights - Journeys utilizatorul care a creat înregistrarea.
- Adresă principală: introduceți partea principală a adresei poștale a organizației dvs. Toate mesajele de e-mail de marketing trebuie să includă o adresă principală valabilă provenind dintr-un set de setări de conținut. Selectați butonul pentru a utiliza personalizarea pentru a introduce o expresie care face referire la un câmp dintr-o înregistrare existentă (cum ar fi un câmp de adresă dintr-o anumită înregistrare de cont ).
- Rândul de adresă 2: introduceți informații suplimentare despre adresa poștală (dacă este necesar). Selectați butonul pentru a utiliza personalizarea pentru a introduce o expresie care face referire la un câmp dintr-o înregistrare existentă (cum ar fi un câmp de adresă dintr-o anumită înregistrare de cont ).
- Implicit: setați la Da pentru ca setările curente de conținut să înregistreze valoarea prestabilită pentru toate călătoriile clienților noi. Trebuie să existe întotdeauna exact o singură valoare implicită; dacă modificați valoarea implicită, cea implicită existentă va fi schimbată automat în Nu.
- Implicit pentru deținerea unei unități de afaceri: această setare este disponibilă numai când acoperirea unității de afaceri este activată. Setați această opțiune la Da pentru ca setările actuale de conținut să înregistreze implicit pentru toate călătoriile clienților noi din unitatea de afaceri. Trebuie să existe întotdeauna exact o setare implicită de conținut pentru domeniul de aplicare al unității de afaceri; dacă modificați valoarea implicită, cea implicită existentă va fi schimbată automat în Nu.
- Adresa URL LinkedIn, Adresa URL Twitter, Facebook Adresa URL, URL Instagram, YouTube URL și URL Google Plus: pentru fiecare dintre aceste rețele sociale -servicii media, introduceți adresa URL a paginii de destinație a organizației dvs.
-
Centru de abonamente: specificați un pagină de marketing existent care este configurat ca Centru de abonamente. Toate mesajele de e-mail de marketing trebuie să includă un link către un centru de abonare valabil care provine dintr-o înregistrare de setări de conținut. Selectați butonul pentru a utiliza personalizarea pentru a introduce o expresie care face referire la adresa URL a paginii complete câmp pentru pagina specifică pe care doriți să o utilizați. Expresia rezultată arată cam așa (unde GUID-ul variază în funcție de înregistrarea pe care o alegeți folosind personalizarea):
{{msdyncrm_marketingpage(3343053c-8daf-e911-a85e-000d3a3155d5).msdyncrm_full_page_url}}
-
Redirecționați către un prieten: specificați un pagină de marketing existent care este înregistrat ca pagină de redirecționare către un prieten. Selectați butonul pentru a alege dintr-o listă de pagini disponibile. Selectați butonul pentru a utiliza personalizarea pentru a introduce o expresie care face referire la Adresa URL a paginii complete câmp pentru pagina specifică pe care doriți să o utilizați. Expresia rezultată arată cam așa (unde GUID-ul variază în funcție de înregistrarea pe care o alegeți folosind personalizarea):
{{msdyncrm_marketingpage(36458a9e-72af-e911-a859-000d3a3159df).msdyncrm_full_page_url}}
Selectați Salvare în colțul din dreapta jos al ferestrei pentru a salva setările.
Dacă editați o înregistrare cu setări de conținut care a fost deja live, atunci înregistrarea este republicată automat când o salvați. Dacă creați o înregistrare nouă, selectați Transmitere live în bara de comandă pentru a o publica în serviciile de marketing, astfel încât să puteți începe să o utilizați.
Utilizați personalizarea pentru a plasa valori dinamice ale câmpurilor
Personalizarea vă ajută să construiți expresii dinamice valide pentru a poziționa valorile câmpurilor din înregistrările de contact ale destinatarului, setările conținutului mesajului și alte valori ale bazei de date. Acest buton este furnizat pe bara de instrumente de formatare de text ori de câte ori selectați un element de text din proiectantul grafic. Butonul este, de asemenea, furnizat pentru unele câmpuri de setări, cum ar fi câmpurile de subiect, de adresă „De la” și de nume „De la”.
Notă
Dialogul de personalizare afișează doar entitățile și relațiile care sunt sincronizate cu serviciul marketing-insights. Dacă aveți nevoie să afișați informații sau să utilizați relații pentru una sau mai multe entități care nu sunt enumerate, adresați-vă administratorului să adauge entitățile relevante la serviciul Detalii de marketing. Dacă sunteți administrator, consultați Alegeți entitățile de sincronizat cu serviciul Marketing-Insights pentru instrucțiuni. Entitatea proprietar nu mai este acceptată pentru personalizarea e-mailului. Înlocuiți-l fie cu entitatea systemuser sau team , în funcție de entitate care reprezintă proprietarul înregistrării.
Utilizați personalizarea pentru a plasa o expresie dinamică
Pentru a utiliza personalizarea:
Poziționați cursorul în câmpul sau elementul de text în care doriți să inserați textul dinamic, apoi selectați butonul de personalizare . Se deschide dialogul de personalizare.
Alegeți una dintre următoarele variante:
- Selectați Conținut dinamic pentru a plasa o valoare care se poate modifica în funcție de contextul în care utilizați mesajul, apoi alegeți una dintre următoarele din lista derulantă de aici:
- Contact: plasează o valoare de câmp, cum ar fi prenume, din înregistrarea de contact a destinatarului. Aceste valori variază în funcție de destinatar.
- ContentSettings: plasează o valoare de câmp din setările de conținut. Aici sunt disponibile valori precum adresa URL a unui centru de abonare, adresa URL de redirecționare și adresa poștală a expeditorului. Aceste valori pot să difere în funcție de călătoria clientului unde este folosit mesajul.
- FormDoiSubmission: plasează un câmp dinamic pentru form double opt-in. Acest câmp nu necesită o valoare de relație, așa cum se discută mai jos.
- Mesaj: plasează valori care se referă la mesajul în sine; în prezent, aceasta include adresa URL deschisă ca pagină web și diferitele valori dinamice utilizate în e-mailurile de înscriere dublă.
- Selectați Conținut static pentru a plasa o valoare fixă dintr-o anumită înregistrare (cum ar fi numele unui eveniment viitor). Această valoare este aceeași, indiferent unde folosiți mesajul sau cine îl primește. Apoi faceți următoarele setări pentru a identifica entitatea și înregistrarea care conține valoarea de care aveți nevoie:
- Selectați o opțiune (caseta combinată de sus): selectați entitatea (cum ar fi evenimentul sau contul). Pentru a căuta o entitate, plasați cursorul în această casetă și începeți să tastați numele său până când este afișată entitatea pe care o doriți.
- Alegeți o înregistrare (lista verticală de jos): selectați înregistrarea specifică după nume. Această listă afișează toate înregistrările din entitatea selectată. La fel ca în cazul entității, puteți căuta aici.
- Selectați Conținut dinamic pentru a plasa o valoare care se poate modifica în funcție de contextul în care utilizați mesajul, apoi alegeți una dintre următoarele din lista derulantă de aici:
Acum trebuie să identificați câmpul specific pe care doriți să îl plasați. Alegeți una dintre următoarele variante:
- Selectați Entitate asociată pentru a găsi un câmp dintr-o entitate care are legătură cu cea pe care ați ales-o pe pagina anterioară. Apoi faceți următoarele setări pentru a identifica relația și câmpul pe care doriți să-l afișați:
- Selectați relația: relația definește la ce a doua entitate doriți să accesați și calea pe care o veți urma pentru a ajunge acolo. Pentru a căuta o relație, plasați cursorul în această casetă și începeți să tastați numele său până când este afișată relația pe care o doriți iar apoi selectați-o. Pentru mai multe informații despre cum să înțelegeți modul în care sunt reprezentate relațiile aici, consultați secțiunea următoare.
- Selectați câmpul: alegeți numele câmpului pe care doriți să-l afișați. La fel ca în cazul relației, puteți căuta aici. Această listă derulantă este disponibilă numai dacă ați ales o relație N:1.
- Selectați Entitate asociată pentru a găsi un câmp dintr-o entitate care are legătură cu cea pe care ați ales-o pe pagina anterioară. Apoi faceți următoarele setări pentru a identifica relația și câmpul pe care doriți să-l afișați:
În partea de jos a casetei de dialog, acum vedeți expresia finală. Selectați Inserați pentru a plasa expresia respectivă.
Important
Listele create utilizând buclele for-each nu sunt redate într-o anumită ordine și nu pot fi sortabile după niciun câmp.
Cum prezintă personalizarea relațiile cu bazele de date
Când selectați o relație în personalizare, opțiunile sunt afișate folosind una dintre următoarele convenții de denumire:
-
FieldName (PrimaryEntity) -> SecondaryEntity
Când entitatea principală este între paranteze și arată un nume de câmp, este o relație mai multe la unu (N:1) care duce la o singură înregistrare din entitatea secundară. Prin urmare, ar trebui să utilizați, de obicei, a doua listă derulantă pentru a alege un câmp de la entitatea secundară pentru a afișa cu expresia dvs. -
PrimaryEntity -> FieldName (SecondaryEntity)
Când entitatea secundară este între paranteze și arată un nume de câmp, este o relație unu-la-mai multe (1:N) care poate duce la mai multe înregistrări de la entitatea secundară. Prin urmare, nu puteți alege un câmp (a doua listă derulantă este dezactivată) și trebuie să utilizați această relație ca parte a unei for/each bucle pentru a afișa valorile din fiecare înregistrare aferentă disponibilă. -
PrimaryEntity -> SecondaryEntity
Când niciuna dintre entități nu este între paranteze, este o relație multe-la-mulți (N:N), care poate conecta mai multe înregistrări în ambele direcții. Prin urmare, nu puteți alege un câmp (a doua listă derulantă este dezactivată) și nu puteți utiliza această relație pentru personalizare. Acest lucru se datorează faptului că relația este menținută de o entitate intermediară și aveți posibilitatea să treceți numai la entitatea intermediară din entitatea principală.
Unde:
- PrimaryEntity este o entitate aflată la începutul relației. Este întotdeauna afișat în partea stângă a săgeții. Aceasta este entitatea pe care ați ales-o în pagina anterioară a dialogului de personalizare. De exemplu, o Contact (entitate principală) poate fi asociată cu un Cont (entitate secundară) prin intermediul contactului Nume companie câmp (nume câmp); acesta va fi afișat ca: Numele companiei (Contact) -> Cont.
- FieldName este întotdeauna afișat lângă un nume de entitate (care este în paranteză). Acesta este numele câmpului prin care se stabilește relația. Câmpul numit aparține entității din paranteză și afișează o valoare de la entitatea de cealaltă parte a săgeții (dar conține de fapt ID-ul înregistrării aferente din care este extrasă valoarea). În unele cazuri veți observa o relație dintre aceleași două entități, fiecare dintre ele trecând printr-un câmp diferit.
- SecondaryEntity este destinația relației. Este întotdeauna afișat în partea dreaptă a săgeții. Valoarea/valorile pe care le afișați cu expresia finală vor proveni dintr-un câmp aparținând entității secundare.
Notă
Pentru relațiile N:N, nu este afișată nicio valoare a câmpului. Aceasta înseamnă că, dacă aveți mai mult de o relație N:N între aceleași două entități, veți vedea mai multe relații identice în lista derulantă. Această situație este foarte rară, dar dacă o vedeți, va trebui să folosiți medota încercare-și-eroare pentru a identifica relația corectă de utilizat. Pentru a confirma, puteți verifica expresia rezultată pentru a vedea dacă pare că ați ales relația potrivită (relațiile sunt afișate diferit aici și pot oferi un indiciu) sau configurați un mesaj de testare care include ambele versiuni ale relației N:N și folosește un test călătoria clientului pentru a-l livra.
Iată câteva avantaje exemple:
- Nume companie (Contact) -> Cont: această relație este folosită de entitatea Contact pentru a afișa informații de la Entitate de cont în câmpul Numele companiei al unei înregistrări de contact. Cu alte cuvinte, acesta îl leagă de compania (contul) pentru care lucrează persoana de contact.
- Partener de conducere (Contact) -> Cont: această relație este folosită de entitatea Contact pentru a afișa informații de la Entitate de cont în câmpul Managing Partner al unei înregistrări de contact. Cu alte cuvinte, aceasta leagă la compania (contul) care este partenerul de gestionare pentru o persoană de contact.
- Contact -> Contact principal (Cont): această relație este folosită de entitatea Cont pentru a afișa informații de la Entitatea de contact în câmpul Contact principal al unei înregistrări de cont. Cu alte cuvinte, acesta găsește toate conturile în care contactul curent este atribuit drept contact principal.
- Contact -> Contact (înregistrare eveniment): această relație este folosită de entitatea Înregistrare eveniment pentru a afișa informații din Contact entitatea din câmpul Contact înregistrarea unui eveniment. Cu alte cuvinte, acesta găsește toate înregistrările evenimentului realizate de (sau pentru) contactul curent.
Expresii create prin personalizare
Personalizarea creează o expresie care utilizează un format precum următorul:
{{EntityName.FieldName}}
{{EntityName(RecordID).FieldName}}
{{EntityName.RelationshipName.FieldName}}
{{EntityName(RecordID).RelationshipName.FieldName}}
Rețineți că notația folosită pentru numele relațiilor din expresiile rezultate nu se potrivește cu modul în care sunt reprezentate în dialogul de personalizare. Iată unele exemple de expresii rezultate:
{{contact.firstname}}
Plasează prenumele destinatarului.{{msdyncrm_marketingpage(3343053c-8daf-e911-a85e-000d3a3155d5).msdyncrm_full_page_url}}
Plasează valoarea câmpuluimsdyncrm_full_page_url
din înregistrarea pagină de marketing specificată de GUID în paranteză. De obicei, puteți utiliza o expresie a acestui formular într-o înregistrare de setări de conținut pentru a specifica o pagină Centru de abonamente sau redirecționată către un prieten.{{msdyncrm_contentsettings.msdyncrm_subscriptioncenter}}
Plasează adresa URL pentru pagina Centru de abonamente identificată în setările de conținut configurate pentru călătoria clientului care trimite mesajul.{{msdyncrm_contentsettings.msdyncrm_forwardtoafriend}}
Plasează adresa URL la pagina de redirecționare identificată în setările de conținut configurate pentru călătoria clientului care trimite mesajul.{{Message.ViewAsWebpageURL}}
Plasează URL-ul pentru deschiderea mesajului curent într-un browser web.{{msevtmgt_event(8a519395-856c-4e22-b560-650ce6d6a79d).msevtmgt_webinarurl}}
Plasează URL-ul webinarului pentru evenimentul identificat de ID-ul evenimentului specificat (între paranteze).{{msdyn_survey(39128da2-c968-4627-9595-f030b6571be4).msdyn_name}}
Plasează numele chestionarului identificat de ID-ul chestionarului specificat (între paranteze).{{contact.contact_account_parentcustomerid.name}}
Această expresie găsește numele contului pentru compania unde lucrează o persoană de contact.{{contact.contact_account_msa_managingpartnerid.name}}
Această expresie găsește numele partenerului de gestionare pentru contul corespunzător companiei unde lucrează o persoană de contact.
Odață ce aveți o expresie care funcționează, o puteți copia și lipi oriunde. Nu trebuie să utilizați personalizarea de fiecare dată.
Important
Puteți avea, cel mult, două salturi (perioade) în expresiile dvs. de câmp. Nu încercați să creați expresii mai complexe adăugând mai multe hop la expresiile produse prin personalizare.
Sfat
Dacă aveți nevoie de tipurile de date acceptate de personalizare, atunci cel mai bine este să utilizați funcția personalizare pentru a plasa codul, decât să încercați să-l introduceți de la zero. Astfel vă asigurați că numele entității, relației și câmpului corespund celor utilizate în baza de date și puteți evita erorile de ortografie.
Notă
Dynamics 365 Customer Insights - Journeys Funcționalitatea de trimitere a e-mailurilor nu acceptă câmpuri calculate.
Valorile dinamice din câmpurile Către, numele De la, adresa De la și Răspuns către
În fila Rezumat a formularului e-mail de marketing , puteți face diverse setări care nu sunt legate de conținut pentru dvs. mesaj în secțiunea Expeditor și destinatar . Aceasta include valori și expresii pentru stabilirea valorilor Către, numele De la, adresa De la și Răspuns către pe care le va utiliza mesajul.
O modalitate obișnuită de a profita de această funcție este să setați Nume de la și De la adresa la proprietarul fișa de contact. Apoi, prin atribuirea proprietarului fiecărei înregistrări de contact agentului de vânzări care gestionează acel contact, destinatarii vor primi e-mailuri de marketing care să arate o adresă de la cineva cunoscut, ceea ce poate crește considerabil gradul de deschidere. Iată cum:
- Dacă Customer Insights - Journeys instanța dvs. nu este deja configurată pentru a sincroniza entitatea Utilizator (systemuser) cu serviciul de statistici de marketing, discutați cu administratorul despre stabilirea asta. Dacă sunteți administrator, consultați Alegeți entitățile de sincronizat cu serviciul de statistici de marketing pentru instrucțiuni.
- Deschideți mesajul de e-mail și accesați fila Rezumat .
- Ștergeți conținutul câmpului De la nume și apoi selectați butonul Personalizare în continuare la acest domeniu.
- Pe prima pagină a casetei de dialog de personalizare, selectați Contextual și setați-o la Contact. Apoi selectați Următorul.
- Pe a doua pagină a dialogului de personalizare, selectați Entitate asociată și apoi:
- Setați lista derulantă de sus (relație) la utilizator proprietar (Contact) -> Utilizator.
- Setați lista derulantă de jos (câmp) la Nume complet.
- Selectați OK pentru a plasa expresia, care ar trebui să fie:
{{contact.contact_systemuser_owninguser.fullname}}
. - Ștergeți conținutul câmpului De la adresa și apoi selectați butonul de personalizare în continuare la acest domeniu.
- Pe prima pagină a casetei de dialog de personalizare, selectați Contextual și setați-o la Contact. Apoi selectați Următorul.
- Pe a doua pagină a dialogului de personalizare, selectați Entitate asociată și apoi:
- Setați lista derulantă de sus (relație) la utilizator proprietar (Contact) -> Utilizator.
- Setați lista derulantă de jos (câmp) la E-mail principal.
- Selectați OK pentru a plasa expresia, care ar trebui să fie:
{{contact.contact_systemuser_owninguser.internalemailaddress}}
.
Puteți utiliza tehnici similare pentru a plasa numele sau adresa de e-mail a utilizatorului oriunde în conținutul mesajului. Puteți face acest lucru folosind personalizarea sau copiați/lipiți expresiile ghidonului sau chiar introduceți expresiile ghidonului manual.
Utilizați valorile dinamice pentru a alege o sursă de imagine sau un link
Puteți utiliza o expresie dinamică pentru a defini adresa URL sursă pentru elementele de imagine. Pentru a face acest lucru, selectați elementul imagine, accesați panoul Proprietăți și apoi selectați butonul Personalizare butonul lângă câmpul Sursă pentru a plasa text dinamic ca parte a adresei URL. De obicei veți amesteca acesta cu text static ca să semene cu un URL complet. De exemplu, ați putea include ID-ul persoanei de contact sau numele firmei destinatarului pentru a selecta o imagine care este relevantă pentru fiecare destinatar individual.
De asemenea, puteți utiliza personalizarea pentru a ajuta la construirea unei expresii dinamice pentru a seta o Link destinație pentru imagine.
Notă
Dynamics 365 Customer Insights - Journeys Biblioteca de fișiere generează o cale unică de fișier bazată pe GUID pentru fiecare imagine pe care o încărcați, ceea ce înseamnă că imaginile din biblioteca de fișiere au adrese URL imprevizibile care nu includ originalul dvs. nume de fișier. Ca urmare, pentru a utiliza tehnica descrisă aici, trebuie să vă găzduiți imaginile pe propriul site web sau orice serviciu de găzduire terță parte unde adresele URL sunt previzibile și pot include o valoare pe care o puteți extrage cu ușurință dintr-un câmp Dynamics 365.
Găsirea ID-urilor înregistrărilor
Expresiile de câmp non-contextuale (care folosesc formularul {{EntityName(RecordID).FieldName}}
) necesită un ID de înregistrare pentru a identifica înregistrarea specifică din care trebuie să provină valoarea. De obicei, personalizarea vă ajută să găsiți aceste ID-uri, dar uneori poate fi necesar să găsiți un ID manual în timp ce proiectați funcții dinamice pentru un mesaj. Pentru a găsi ID-ul oricărei înregistrări:
- Deschideți înregistrarea la care doriți să vă referiți.
- Priviți URL-ul afișat în bara de adrese a browserului dvs., care ar trebui să afișeze un URL precum:
https://<MyOrg>.crm.dynamics.com/main.aspx?appid=00001111-aaaa-2222-bbbb-3333cccc4444&pagetype=entityrecord&etn=msevtmgt_event&id=11112222-bbbb-3333-cccc-4444dddd5555
- Găsiți partea din adresa URL care începe cu
&id=
, care este urmată de numărul ID al înregistrării dvs. curente. Copiați numărul (doar valoarea) și utilizați-l în expresia dvs.
Conținut dinamic complex
Puteți să adăugați procesarea logică complexă la designurile dvs. de e-mail, ceea ce poate face conținutul și mai receptiv la destinatari, date demografice și context. Acest tip de particularizare necesită să aveți o înțelegere de bază privind scriptarea și programarea.
După cum ați văzut în exemplele anterioare, conținutul dinamic este înconjurat de acolade duble ( {{
și }}
). Aceasta include atât valorile câmpurilor standard pe care le adăugați folosind funcția personalizare , cât și constructele de programare mai avansate descrise în această secțiune.
Sfat
Dacă doriți să afișați acolade duble într-un mesaj, în loc să le folosiți pentru a indica începutul sau sfârșitul unui bloc de cod, apoi adăugați (escape) prima acolade cu o bară oblică inversă, cum ar fi \{{
sau \}}
. Barele oblice nu vor apărea în mesajul dvs. redat final, spre deosebire de acoladele duble.
Declarații condiționale și comparații
Declarațiile condiționale (if-then-else) afișează conținut în funcție de rezolvarea la Adevărat sau Fals a uneia sau mai multor expresii condiționale. Puteți adăuga codul necesar pentru a crea aceste declarații, plasându-l într-un element de text, sau prin introducerea de elemente de cod personalizat între alte elemente de design. Mai multe informații: Cum să introduceți conținut dinamic avansat în designer
Declarațiile condiționale au următoarea formă:
{{#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}}
Unde:
- Blocul condiționat trebuie să se deschidă întotdeauna cu
{{#if … }}
. - Expresiile condiționale trebuie incluse între paranteze.
- Expresiile condiționate încep cu un <operator>, care trebuie să fie una dintre valorile enumerate în tabelul următor. Acesta determină modul în care prima valoare trebuie comparată cu a doua valoare.
- <valoare1> și <valoare2> sunt valori care trebuie comparate prin expresia condiționată și fiecare poate fi valori dinamice sau constante. Dacă fie <valoarea1> sau <valoarea2> este o valoare de șir constantă (nu un număr sau o expresie), atunci trebuie să fie înconjurat cu ghilimele simple ('); pentru numere reale, utilizați un punct (.) ca delimitator zecimal.
- Dacă <value1> este un câmp Boolean (cunoscut și ca câmp cu două opțiuni în Dynamics 365), atunci nu Nu includeți un <operator>, <value2> sau parantezele. Câmpurile Boolean au întotdeauna o valoare fie adevărat, fie fals, așa că ar trebui să le utilizați direct pentru a stabili condiția, cum ar fi:
{{#if contact.is_vip}}
. -
{{else}}
și{{else if … }}
clauzele sunt opționale. - Blocul condiționat trebuie să se închidă întotdeauna cu
{{/if}}
.
Tabelul următor prezintă toți operatorii pe care îi puteți utiliza în expresiile condiționale. Alți operatori nu sunt disponibili momentan și nici nu puteți utiliza expresii complexe Boolean (cum ar fi cu operatorii AND sau OR) în expresiile dumneavoastră condiționate.
Dynamics 365 Customer Insights - Journeys sintaxă (sensibilă la majuscule și minuscule) | Operator |
---|---|
eq | Egal cu |
ne | Nu este egal cu |
lt | Mai mic decât |
gt | Mai mare decât |
lte | Mai mic sau egal cu |
gte | Mai mare sau egal cu |
De exemplu, această declarație condițională poate fi utilizată pentru stabilirea limbii utilizate în formula de salut a unui mesaj, în funcție de țara fiecărui destinatar al mesajului:
<p>{{#if (eq contact.address1_country 'Denmark')}}
Hej
{{else if (eq contact.address1_country 'US')}}
Hi
{{/if}} {{contact.firstname}}!</p>
Iată un exemplu de instrucțiune condiționată bazată pe un câmp Boolean (două opțiuni) numit is_vip
; rețineți că, deoarece câmpurile Boolean returnează întotdeauna o valoare adevărată sau falsă, niciun operator, valoare de comparație sau paranteză nu sunt incluse în condiție:
<!-- {{#if contact.is_vip}} -->
<h3>Be sure to show your VIP card to receive a 20% discount!</h3>
<!-- {{/if}} -->
Sfat
Puteți testa dacă există valori de câmp goale utilizând:
{{#if (eq contact.lastname '')}}
Unde ''
sunt două ghilimele simple, nu un ghilimele duble. Aceasta găsește câmpurile goale, și nu câmpurile nule.
Sfat
Deși nu puteți utiliza expresii booleene complexe în expresiile dvs. condiționale, puteți implementa funcționalități similare astfel:
Neacceptat:
{{#if A and B}}<DisplayedContent>{{/if}
Este echivalent cu (acceptat):
{{#if A}}{{#if B}}<DisplayedContent>{{/if}}{{/if}}
Neacceptat:
{{#if A or B}}<DisplayedContent>{{/if}
Este echivalent cu (acceptat):
{{#if A}}<DisplayedContent>{{/if}} {{#if B}}<DisplayedContent>{{/if}}
Sfat
Atunci când testați pentru valorile care sunt stocate ca un set de opțiuni în baza de date, utilizați valorile index pentru setul de opțiuni, nu valorile de afișare. De exemplu, este posibil să aveți un câmp numit contact.customertypecode
, care conține un număr întreg pentru a identifica tipul de client care este. Fiecare cod de tip client are de asemenea un nume afișat, astfel încât 0 = „cupru”, 1 = „argint” și 2 = „aur”. În acest caz, trebuie să configurați expresia pentru a utiliza respectivul index (întreg), nu valoarea afișată corespondentă. Prin urmare, dacă sunteți în căutarea de clienții aur, trebuie să utilizați:
{{#if (eq contact.customertypecode 2)}}
Sfat
Când testați valori numerice mari, cum ar fi "1.932.333", nu introduceți separatorul de mii (,) în declarația de comparație, chiar dacă deseori le puteți vedea prezentate în UI. Pentru a testa pentru această valoare, expresia ar trebui să arate ceva de genul:
{{#if (eq contact.customernumber 1932333)}}
Bucle for-each
Buclele for-each vă permit să parcurgeți o colecție de înregistrări asociate unei anumite înregistrări curente—de exemplu, pentru a furniza lista tuturor tranzacțiilor recente asociate cu o anumită persoană de contact. Puteți adăuga codul necesar pentru a crea aceste declarații, plasându-l într-un element de text, sau prin introducerea de elemente de cod personalizat între alte elemente de design. Mai multe informații: Cum să introduceți conținut dinamic avansat în designer
Buclele for-each au următoarea formă:
{{#each Entity.RelationshipName }}
...
{{this.RelatedField1}}
...
{{this.RelatedField2}}
...
{{/each}}
Unde:
- Blocul buclă trebuie să se deschidă întotdeauna cu
{{#each … }}
. -
Entity.RelationshipName
identifică setul de înregistrări înrudite peste care bucla va itera. - Bucla începe cu prima înregistrare asociată disponibilă și se repetă pentru fiecare înregistrare asociată disponibilă până când sunt listate toate înregistrările asociate. Rețineți că înregistrările asociate vor fi returnate într-o ordine arbitrară și imprevizibilă.
-
{{this.RelatedField<n>}}
identifică un nume de câmp din înregistrarea aferentă. Partea „this” a acestei expresii se referă la înregistrarea asociată în curs de procesare în iterația curentă a buclei și trebuie urmată de un nume de câmp valid pentru entitatea asociată. Puteți include orice număr de câmpuri în fiecare buclă. - Blocul de buclă trebuie să se închidă întotdeauna cu
{{/each}}
.
De exemplu, baza dvs. de date poate include o listă de produse comandate de o persoană de contact. Le puteți lista într-un mesaj de e-mail folosind un cod precum:
<p>You have purchased:</p>
<ul>
<!-- {{#each contact.contact_product_productid}} -->
<li>{{this.name}}</li>
<!-- {{/each}} -->
</ul>
În acest exemplu, Dynamics 365 Customer Insights - Journeys sistemul a fost personalizat pentru a include o entitate personalizată numită produs, care este creat cu o relație 1:N între contact și product entități din câmpul productid . Pentru ca entitatea de produs să fie disponibilă pentru mesajele dvs. de e-mail, aceasta trebuie să fie, de asemenea, sincronizată cu serviciul marketing-insights (ca de obicei).
Important
Doar primele 1.000 de elemente asociate sunt adăugate la relație în scopul redării e-mailului. Utilizarea relațiilor cu mai mult de 1.000 de elemente nu este acceptată în șabloanele de e-mail și poate duce la rezultate neașteptate.
De asemenea, rețineți că relațiile de al doilea nivel nu sunt acceptate. Prin urmare, următoarea sintaxă nu este permisă:
{{#each Entity.RelationshipOnEntity}}
...
{{#each this.RelationshipOnRelatedEntity}}
...
{{/each}}
...
{{/each}}
Introducerea de conținut dinamic complex în proiectant
Trebuie să fiți atent atunci când introduceți cod dinamic complex în proiectant, deoarece există multe căi, uneori neașteptate, de a-l introduce greșit, ceea ce vă va afecta codul. Iată câteva sfaturi pentru introducerea și testarea codului:
- Folosiți elemente de cod personalizat pentru a plasa fragmente de cod între elementele de design din fila Designer . Acest lucru este mult mai vizibil și mai fiabil decât plasarea codului direct în HTML folosind fila HTML . Cu toate acestea, este posibil să utilizați și cod dinamic în cadrul un element text, caz în care probabil va trebui să curățați codul respectiv de pe HTML fila, așa cum se menționează mai târziu în această listă. (Când lucrați în editorul de pagină completă, selectați un element de cod personalizat pentru a-și edita conținutul.)
- Când introduceți cod într-un element de text din fila Designer , orice spații suplimentare și returnări de transport pe care le adăugați vor crea
și<p>
etichete din codul dvs., care îl pot rupe. Mergeți întotdeauna la fila HTML după aceea, unde veți vedea toate aceste etichete suplimentare și asigurați-vă că le eliminați. - Când introduceți cod într-un element text, tot codul dvs. de conținut dinamic trebuie fie să fie conținut într-un set de etichete de început și de sfârșit (cum ar fi
<p>
și</p>
), fie într-un Comentariu HTML (pentru codul care este complet separat de textul afișat). Nu plasați cod în afara comentariilor sau a perechilor de etichete HTML valide (sau a elementelor de cod personalizat), deoarece acest lucru va deruta editorul (mai ales dacă comutați între HTML și Design file). Trebuie să lucrați la fila HTML , să inspectați și să corectați codul HTML din elementele dvs. de text. - Nu plasați returnări de transport între elementele de cod care fac parte din aceeași expresie (cum ar fi într-o buclă for-each) decât dacă includeți fiecare linie în propriul set de etichete HTML (așa cum este ilustrat în exemplul de buclă for-each dat după această listă).
- Funcția personalizare este adesea utilă pentru construirea de expresii care preiau valori din baza de date, deoarece vă ajută să găsiți nume de tabel, câmp și relații ale bazei de date. Acest instrument este disponibil atunci când lucrați într-un element text din fila Designer și când introduceți valori există anumite câmpuri care îl acceptă (cum ar fi subiectul e-mailului). Personalizarea nu este disponibilă atunci când lucrați în fila HTML sau într-un element de cod personalizat, așa că puteți începe prin a utiliza personalizarea în orice element de text și apoi tăiați/lipiți expresia rezultată în elementul de cod personalizat sau HTML.
- Numele relației pe care o utilizați când creați bucle sau plasați valori de căutare trebuie să corespundă celui utilizat în cadrul serviciilor Detalii de marketing. Acest nume de relație nu este neapărat același cu cel folosit pentru a personaliza Dynamics 365. Pentru a găsi numele corect al relației, utilizați funcția personalizare .
De exemplu, puteți configura linia de salut a unui mesaj de e-mail introducând următoarele în fila HTML a designerului (fie în interiorul, fie în afara unui element text):
<p>{{#if (eq contact.address1_country 'Denmark')}}Hej{{else if (eq contact.address1_country 'US')}}Hi{{/if}}{{contact.firstname}}!</p>
Următorul exemplu (de asemenea prezentat anterior) arată cum să utilizați comentariile pentru a include codul care există în întregime în afara conținutului afișat (de asemenea, în fila HTML ):
<p>You have purchased:</p>
<ul>
<!-- {{#each contact.contact_product_productid}} -->
<li>{{this.name}}</li>
<!-- {{/each}} -->
</ul>