Udostępnij za pośrednictwem


Dodawanie zawartości dynamicznej do wiadomości e-mail

Porada

Jeśli chcesz wypróbować Dynamics 365 Customer Insights za darmo, możesz zarejestrować się na 30-dniową wersję próbną.

Ważne

Ten artykuł dotyczy tylko marketingu wychodzącego.

Zawartość dynamiczna zostaje przetworzona, zanim zostanie wysłana do określonej osoby. Zawartość dynamiczna zwykle jest używana do scalenia informacji w rekordzie kontaktu odbiorcy (np. imię i nazwisko) oraz umieszczania specjalnych linków, informacji i linków z ustawień zawartości. Jeśli pracujesz z kodem, możesz także utworzyć niestandardową logikę, która zawiera instrukcje warunkowe, pętle for-each i inne elementy. Możesz korzystać z zawartości dynamicznej w dowolnej części treści wiadomości oraz użyć kilku typów wartości dynamicznych polach nagłówka (temat, adres i nazwa nadawcy).

Używanie ustawień zawartości do konfigurowania repozytoriów wartości standardowych i wymaganych przez wiadomości e-mail

Ustawienia zawartości są zbiorami standardowych i wymaganych wartości, które są dostępne do użycia w marketingowych wiadomościach e-mail. Każde zawiera linki do centrum subskrypcji, przekazywania do znajomej osoby i mediów społecznościowych, a także adres pocztowy i inne informacje, które mogą być umieszczone w wiadomości jako wartości dynamiczne przy użyciu funkcji personalizacja.

Dynamics 365 Customer Insights - Journeys jest dostarczany z jednym domyślnym rekordem ustawień zawartości, które są wstępnie skonfigurowane pod kątem używania domyślnego centrum subskrypcji (także dostarczanego z programem). W razie potrzeby możesz dostosować ten rekord, a także utworzyć dodatkowe rekordy. Aby korzystać z rekordu właściwego dla ustawień zawartości, należy odpowiednio skonfigurować proces pozyskiwania klientów; oznacza to, że wszystkie wiadomości przesyłane za pośrednictwem tego procesu będą używać tych samych rekordów. Jednak każdy proces pozyskiwania klientów może korzystać z różnych rekordów, co oznacza, że możesz używać identycznego projektu wiadomości e-mail w dwóch lub większej liczbie procesów pozyskiwania klientów, z których każdy określa inny rekord ustawień zawartości. W przypadku posiadania więcej niż jeden rekord ustawień zawartości jeden z nich będzie domyślnym i zostanie automatycznie zastosowany do każdego nowego procesu pozyskiwania klientów.

Wartości ustawień zawartości są najpierw oceniane podczas wysyłania, co oznacza, że możesz edytować rekord ustawienia zawartości w dowolnym czasie, a wszystkie oczekujące i przyszłe wiadomości e-mail zostaną automatycznie zaktualizowane o najnowsze wartości.

Każdy rekord ustawień zawartości musi być dostępny dla zewnętrznych usług marketingowych, które zarządzają tworzeniem i dostarczaniem wiadomości e-mail. Dlatego musisz publikować rekordy ustawień zawartości, wybierając opcję Aktywuj za każdym razem, gdy tworzysz nowy.

Uwaga

Jeśli masz inne typy wartości, których często używasz w wiadomościach e-mail i/lub którym chcesz zarządzać na poziomie procesu pozyskiwania klientów, możesz dodać je jako pola niestandardowe do encji ustawień zawartości, tak samo jak inne typy encji w programie Dynamics 365. Jednak w obecnej wersji wszystkie pola niestandardowe encji ustawień zawartości muszą być typu tekst (ciąg). Więcej informacji: Dostosowywanie aplikacji Customer Insights - Journeys

Wyświetlanie, edytowanie i tworzenie zestawu ustawienia rekordu:

  1. Wybierz kolejno opcje Marketing wychodzący>Szablony marketingowe>Ustawienia zawartości.

  2. Zostanie otwarta strona listy standardowej, na której możesz wyświetlać, sortować, wyszukiwać i filtrować listę, aby znaleźć określony rekord i używać przycisków na pasku poleceń, aby dodać lub usunąć rekord. Wybierz rekord, aby otworzyć go do edycji, lub wybierz opcję Nowy na pasku poleceń, aby utworzyć nową pozycję.

  3. Zostanie otwarty formularz Ustawienia zawartości. Jeśli edytujesz rekord, który jest już aktywowany, musisz wybrać opcję Edytuj na pasku poleceń, aby móc go edytować. Jeżeli tworzysz nowy, wystarczy po prostu zacząć wypełniać pola.

    Formularz Ustawienia zawartości.

  4. Wprowadź następujące ustawienia, zależnie od potrzeb:

    • Nazwa: wprowadź nazwę rekordu ustawień klienta. Jest to nazwa wyświetlana podczas przypisywania zawartości do procesu pozyskiwania klientów lub podglądu wiadomości e-mail.
    • Właściciel: pokazuje użytkownika Dynamics 365 Customer Insights - Journeys, który utworzył rekord.
    • Adres główny: wprowadź główną część adresu pocztowego organizacji. Wszystkie marketingowe wiadomości e-mail muszą zawierać prawidłowy adres główny pobrany z rekordu ustawień zawartości. Wybierz Przycisk Personalizacja. przycisk, aby użyć personalizacji, aby wprowadzić wyrażenie odwołujący się do pola z istniejącego rekordu (na przykład pola adresu z określonego rekordu konta).
    • Wiersz adresu 2: wprowadź dodatkowy adres pocztowy (jeśli jest to konieczne). Wybierz Przycisk Personalizacja. przycisk, aby użyć personalizacji, aby wprowadzić wyrażenie odwołujący się do pola z istniejącego rekordu (na przykład pola adresu z określonego rekordu konta).
    • Wartość domyślna: wybranie wartości Tak spowoduje ustawienie bieżącego rekordu ustawień zawartości jako domyślnego dla wszystkich nowych procesów pozyskiwania klientów. Jeden zestaw zawsze powinien być ustawiony jako domyślny; zmiana domyślnego zestawu spowoduje automatyczną zmianę wartości dla dotychczasowego ustawienia domyślnego na Nie.
    • Domyślnie dla jednostki biznesowej będącej właścicielem: To ustawienie jest dostępne tylko wtedy, gdy funkcja zakres jednostki biznesowej jest włączona. Wybranie wartości Tak spowoduje, że aktualny zapis ustawień treści był domyślny dla wszystkich nowych podróży klienta w obrębie jednostki biznesowej. Zawsze musi istnieć dokładnie jedno domyślne ustawienie zawartości dla zakresu jednostki biznesowej; jeśli zmienisz domyślne, istniejące domyślne zostanie automatycznie zmienione na Nie.
    • Adres URL w serwisie LinkedIn, Adres URL w serwisie Twitter, Adres URL w serwisie Facebook, Adres URL w serwisie Instagram, Adres URL w serwisie YouTube i Adres URL w serwisie Google Plus: dla każdej z usług mediów społecznościowych wprowadź stronę docelową swojej organizacji.
    • Centrum subskrypcji: określ istniejącą stronę marketingową skonfigurowaną jako centrum subskrypcji. Wszystkie marketingowe wiadomości e-mail muszą zawierać prawidłowy link do centrum subskrypcji pobrany z rekordu ustawień zawartości. Wybierz Przycisk Personalizacja. przycisk, aby użyć personalizacji, aby wprowadzić wyrażenie odwołujący się do pola pełnego adresu URL strony dla konkretnej strony, której chcesz użyć. Wynikowe wyrażenie będzie wyglądać mniej więcej tak (gdzie identyfikator GUID będzie się różnić w zależności od rekordu, który wybierzesz przy użyciu edycji z pomocą personalizacji):
      {{msdyncrm_marketingpage(3343053c-8daf-e911-a85e-000d3a3155d5).msdyncrm_full_page_url}}
    • Przekaż do znajomej osoby: określ istniejącą stronę marketingową zapisaną jako strona przekazywania znajomej osobie. Naciśnij przycisk Przycisk Personalizacja., aby wybrać stronę z listy dostępnych stron. Wybierz Przycisk Personalizacja przycisk, aby użyć personalizacji, aby wprowadzić wyrażenie odwołujący się do pola pełnego adresu URL strony dla konkretnej strony, której chcesz użyć. Wynikowe wyrażenie będzie wyglądać mniej więcej tak (gdzie identyfikator GUID będzie się różnić w zależności od rekordu, który wybierzesz przy użyciu edycji z pomocą personalizacji):
      {{msdyncrm_marketingpage(36458a9e-72af-e911-a859-000d3a3159df).msdyncrm_full_page_url}}
  5. Wybierz przycisk Zapisz widoczny w prawym dolnym rogu okna, aby zapisać ustawienia.

  6. Jeśli edytujesz rekord ustawień zawartości, który był już aktywny, wówczas rekord jest automatycznie ponownie publikowany po zapisaniu go. Jeśli tworzysz nowy rekord, wybierz opcję Aktywuj na pasku poleceń, aby opublikować go w usługach marketingowych i móc zacząć z niego korzystać.

Użyj personalizacji, aby umieścić dynamiczne wartości pól

Funkcja personalizacji pomaga tworzyć prawidłowe wyrażenia dynamiczne w celu ustawienia wartości pól w rekordach kontaktów, ustawień zawartości wiadomości i innych wartości w bazie danych. Ten przycisk jest dostępny na pasku narzędzi formatowania tekstu, gdy zostanie zaznaczony element tekstu w projektancie graficznym. Przycisk ten znajduje się również w polach tematu, takich jak „Temat”, „Od” i „Do”.

Uwaga

W oknie dialogowym personalizacji są wyświetlane tylko encje i relacje synchronizowane z usługą Marketing-Insights. Jeśli musisz wyświetlać informacje lub używać relacji dla jednej lub więcej encji, które nie są tu pokazywane, poproś administratora o dodanie odpowiednich encji do usługi Marketing-Insights. Jeśli jesteś administratorem, zobacz Wybór encji synchronizowanych z usługą Marketing-Insights w celu uzyskania instrukcji.

Używanie personalizacji w celu umieszczenia wyrażenia dynamicznego

Aby użyć personalizacji:

  1. Umieść kursor w polu lub elemencie tekstowym, w którym chcesz wstawić tekst dynamiczny, a następnie wybierz przycisk PersonalizacjaPrzycisk Personalizacja. Zostanie otwarte okno dialogowe personalizacji.

    Personalizacja, strona 1.

  2. Wykonaj jedną z następujących czynności:

    • Wybierz opcję Zawartość dynamiczna, aby umieścić wartość mogącą ulec zmianie na podstawie kontekstu, w którym jest używana wiadomość, a następnie wybierz jedną z następujących opcji z listy rozwijanej:
      • Kontakt: umieszcza wartość pola, taką jak imię, z rekordu kontaktu adresata. Wartości te różnią się w zależności od odbiorcy.
      • ContentSettings: umieszcza wartość pola z ustawień zawartości. W tym miejscu są dostępne wartości takie jak adres URL centrum subskrypcji, adres URL przesyłania dalej oraz adres pocztowy nadawcy. Te wartości mogą się różnić w zależności od procesu obsługi klienta, w którym jest używana wiadomość.
      • FormDoiSubmission: umieszcza dynamiczne pole służące udzieleniu podwójnej zgody w formularzu. To pole nie wymaga wartości relacji, jak omówiono poniżej.
      • Wiadomość: umieszcza wartości odnoszące się do samej wiadomości; obecnie obejmuje to adres URL „otwórz jako stronę internetową” i różne wartości dynamiczne używane w e-mailach wymagających dwukrotnej zgody.
    • Wybierz opcję Zawartość statyczna, aby umieścić stałą wartość z określonego rekordu (np. nazwę nadchodzącego wydarzenia). Ta wartość jest taka sama niezależnie od tego, gdzie używasz wiadomości lub kto ją otrzymuje. Następnie wprowadź następujące ustawienia, aby zidentyfikować encję i rekord zawierający wartość, której potrzebujesz:
      • Wybierz opcję (górne pole kombi): wybierz encję (np. wydarzenie lub konto klienta). Aby wyszukać encję, umieść kursor w tym polu i zacznij wpisywać jej nazwę, aż pojawi się żądana encja.
      • Wybierz rekord (dolna lista rozwijana): wybierz konkretny rekord według nazwy. Ta lista zawiera wszystkie rekordy z wybranej encji. Podobnie jak w przypadku encji, można tutaj wyszukiwać.
  3. Teraz trzeba zidentyfikować konkretne pole, które chcesz umieścić. Wykonaj jedną z następujących czynności:

    • Wybierz opcję Encja pokrewna, aby znaleźć pole w encji powiązanej z encją wybraną na poprzedniej stronie. Następnie wprowadź następujące ustawienia, aby określić relację i pole, które ma być wyświetlane:
      • Wybierz relację: relacja definiuje, do której drugiej encji ma być wykonywany przeskok, oraz ścieżkę, po której odbędzie się przeskok. Aby wyszukać relację, umieść kursor w tym polu i zacznij wpisywać jej nazwę, aż pojawi się żądana relacja, a następnie ją zaznacz. Aby uzyskać więcej informacji na temat interpretowania sposobu reprezentowania relacji w tym miejscu, zobacz następną sekcję.
      • Wybierz pole: wybierz nazwę pola, która ma być wyświetlana. Podobnie jak w przypadku relacji, można tutaj wyszukiwać. Ta lista rozwijana jest dostępna tylko po wybraniu relacji N:1.
  4. W dolnej części okna dialogowego zobaczysz teraz końcową postać wyrażenia. Wybierz przycisk Wstaw, aby umieścić to wyrażenie.

    Personalizacja, strona 2.

Ważne

Listy utworzone przy użyciu pętli for-each nie są renderowane w określonej kolejności i nie można ich sortować według żadnego pola.

Jak okno personalizacji pokazuje relacje istniejące w bazie danych

Podczas wybierania relacji w oknie personalizacji opcje są wyświetlane przy użyciu jednej z następujących konwencji nazewnictwa:

  • FieldName (PrimaryEntity) -> SecondaryEntity
    Gdy encja podstawowa jest w nawiasach i pokazuje nazwę pola, jest to relacja wiele-do-jednego (N:1), która prowadzi do jednego rekordu w encji pomocniczej. Dlatego należy zwykle użyć drugiej listy rozwijanej, aby z encji pomocniczej wybrać pole, które ma być wyświetlane w wyrażeniu.
  • FieldName (PrimaryEntity) -> FieldName (SecondaryEntity)
    Gdy encja pomocnicza jest w nawiasach i pokazuje nazwę pola, jest to relacja jeden-do-wielu (N:1), która może prowadzić wielu rekordów w encji pomocniczej. W związku z tym nie można wybrać pola (druga lista rozwijana jest wyłączona), a zamiast tego należy użyć tej relacji jako części pętli For/Each w celu wyświetlenia wartości z każdego dostępnego powiązanego rekordu.
  • PrimaryEntity -> SecondaryEntity
    Gdy żadna encja nie jest w nawiasach, jest to relacja wiele-do-wielu (N:N), która może łączyć wiele rekordów w obu kierunkach. W związku z tym nie można wybrać pola (druga lista rozwijana jest wyłączona) i nie można użyć tej relacji do personalizacji. Dzieje się tak, ponieważ relacja jest utrzymywana przez jednostkę pośrednią i można przechodzić tylko do jednostki pośredniej z jednostki podstawowej.

Gdzie:

  • PrimaryEntity to jednostka po stronie początkowej relacji. Jest zawsze wyświetlana po lewej stronie strzałki. Jest to encja wybrana na poprzedniej stronie okna dialogowego personalizacji. Na przykład encja Kontakt (encja podstawowa) może być powiązana z encją Klient (encja pomocnicza) za pośrednictwem pola Nazwa firmy (nazwa pola). Ta relacja byłaby wyświetla jako Nazwa firmy (Kontakt) -> Klient.
  • FieldName jest zawsze wyświetlany obok nazwy encji (ujętej w nawiasy okrągłe). To nazwa pola, za którego pośrednictwem jest nawiązywana relacja. Nazwane pole należy do encji ujętej w nawiasy okrągłe i pokazuje wartość z encji po drugiej stronie strzałki (ale w rzeczywistości zawiera identyfikator powiązanego rekordu, z którego jest pobierana wartość). W niektórych przypadkach można zauważyć relację między tymi samymi dwoma encjami, z których każda używa innego pola.
  • SecondaryEntity to lokalizacja docelowa relacji. Jest zawsze wyświetlana po prawej stronie strzałki. Wartości wyświetlane w końcowym wyrażeniu będą pochodzić z pola należącego do encji pomocniczej.

Uwaga

W przypadku relacji N:N nie jest wyświetlana żadna wartość pola. Oznacza to, że jeśli masz więcej niż jedną relację N:N między tymi samymi dwoma encjami, na liście rozwijanej zobaczysz wiele identycznie wyglądających relacji. Taka sytuacja jest bardzo rzadka, ale jeśli ją widzisz, musisz użyć metody prób i błędów, aby zidentyfikować poprawną relację, która powinna być używana. Aby dokonać weryfikacji, możesz obejrzeć wyrażenie wynikowe i sprawdzić, czy wygląda na to, że wybrano właściwą relację (w tym miejscu relacje są wyświetlane inaczej, co może stanowić wskazówkę), lub skonfigurować komunikat testowy zawierający obie wersje relacji N:N i za pomocą testowego procesu pozyskiwania klienta wysłać komunikat do siebie.

Oto kilka przykładów:

  • Nazwa firmy (Kontakt) -> Klient: Ta relacja jest używana przez encję Kontakt do wyświetlania informacji z encji Klient w polu rekordu kontaktu zatytułowanym Nazwa firmy. Innymi słowy prowadzi do firmy (konta klienta), dla której pracuje kontakt.
  • Partner zarządzający (Kontakt) -> Klient: Ta relacja jest używana przez encję Kontakt do wyświetlania informacji z encji Klient w polu rekordu kontaktu zatytułowanym Partner zarządzający. Innymi słowy prowadzi do firmy (konta klienta), która jest partnerem zarządzającym kontaktu.
  • Kontakt -> Kontakt podstawowy (Klient): Ta relacja jest używana przez encję Klient do wyświetlania informacji z encji Kontakt w polu klienta kontaktu zatytułowanym Kontakt podstawowy. Innymi słowy znajduje wszystkich klientów, u których bieżący kontakt jest przypisany jako podstawowy.
  • Kontakt -> Kontakt (Rejestracja na wydarzenie): Ta relacja jest używana przez encję Rejestracja na wydarzenie do wyświetlania informacji z encji Kontakt w polu rekordu rejestracji na wydarzenie zatytułowanym Kontakt. Innymi słowy znajduje wszystkie rejestracje na wydarzenia dokonane przez (lub dla) bieżącego kontaktu.

Wyrażenia utworzone przez funkcję personalizacji

Funkcja personalizacji tworzy wyrażenie, które używa formatu takiego jak poniższy:

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

Należy zauważyć, że zapis używany do nazw relacji w wyrażeniach wynikowych nie pasuje do sposobu ich reprezentowania w oknie dialogowym personalizacji. Oto kilka przykładów wyrażeń wynikowych:

  • {{contact.firstname}}
    Umieszcza imię odbiorcy.
  • {{msdyncrm_marketingpage(3343053c-8daf-e911-a85e-000d3a3155d5).msdyncrm_full_page_url}}
    Umieszcza wartość pola msdyncrm_full_page_url z rekordu strona marketingowa określonego przez identyfikator GUID w nawiasie. Zazwyczaj można użyć wyrażenia tego formularza w rekordzie ustawienia zawartości, aby określić Centrum subskrypcji lub stronę do znajomego.
  • {{msdyncrm_contentsettings.msdyncrm_subscriptioncenter}}
    Umieszcza adres URL dla strony centrum subskrypcji określonej w ustawieniach zawartości skonfigurowanych dla procesu pozyskiwania klientów wysyłającego wiadomość.
  • {{msdyncrm_contentsettings.msdyncrm_forwardtoafriend}}
    Umieszcza adres URL na stronie przesyłania dalej określonej w ustawieniach zawartości skonfigurowanych dla procesu pozyskiwania klientów wysyłającego wiadomość.
  • {{Message.ViewAsWebpageURL}}
    Umieszcza adres URL w celu otwarcia bieżącej wiadomości w przeglądarce.
  • {{msevtmgt_event(8a519395-856c-4e22-b560-650ce6d6a79d).msevtmgt_webinarurl}}
    Umieszcza adres URL seminarium internetowego wydarzenia zidentyfikowanego przez określony identyfikator wydarzenia (w nawiasach).
  • {{msdyn_survey(39128da2-c968-4627-9595-f030b6571be4).msdyn_name}}
    Umieszcza nazwę ankiety zidentyfikowaną przez określony identyfikator ankiety (w nawiasach).
  • {{contact.contact_account_parentcustomerid.name}}
    To wyrażenie określa nazwę konta dla firmy, w której pracuje kontakt.
  • {{contact.contact_account_msa_managingpartnerid.name}}
    To wyrażenie określa nazwę partnera zarządzającego dla konta dla firmy, w której pracuje kontakt.

Gdy już masz wyrażenie, które działa, możesz je kopiować i wklejać w dowolnych miejscach. Nie musisz za każdym razem używać funkcji personalizacji.

Ważne

W wyrażeniach pola można wykorzystać maksymalnie dwa przeskoki (kropki). Nie próbuj tworzyć bardziej złożonych wyrażeń poprzez dodanie większej liczby przeskoków do wyrażeń utworzonych za pomocą funkcji personalizacji.

Napiwek

Jeśli potrzebujesz typów danych, które są obsługiwane przez personalizację, zazwyczaj najlepiej jest użyć funkcji personalizacji do umieszczenia kodu zamiast pisać kod od zera. Dzięki temu nazwy encji, relacji i pól będą zgodne z nazwami stosowanymi w bazie danych i łatwiej będzie uniknąć błędnej pisowni.

Uwaga

Funkcja wysyłania wiadomości e-mail w Dynamics 365 Customer Insights - Journeys nie obsługuje pól obliczeniowych.

Wartości dynamiczne w polach „Od”, „Nazwa nadawcy”, „Adres nadawcy” i „Odpowiedz do”

Na karcie Podsumowanie formularza Marketingowa wiadomość e-mail można określić różne ustawienia dotyczące treści wiadomości w sekcji Nadawca i odbiorca. Obejmuje to wartości i wyrażenia służące do ustalania wartości „Od”, „Nazwa nadawcy”, „Adres nadawcy” i „Odpowiedz do”, które będą używane w wiadomości.

Ustawienia nadawcy i odbiorcy dla wiadomości e-mail.

Jednym z typowych sposobów wykorzystania tej funkcji jest ustawienie w polach Nazwa nadawcy i Adres nadawcy danych właściciela rekordu kontaktu. Następnie należy przypisać właściciela każdego rekordu kontaktu do sprzedawcy zarządzającego tym kontaktem, co sprawi, że odbiorcy będą otrzymywać marketingowe wiadomości e-mail z adresem nadawcy, którego mogą już znać, co znacznie zwiększy prawdopodobieństwo otwarcia i przeczytania wiadomości. Oto jak to zrobić:

  1. Jeśli wystąpienie aplikacji Customer Insights - Journeys nie jest jeszcze skonfigurowane do synchronizowania encji Użytkownik (systemuser) z usługą Marketing Insights, poproś administratora, aby ją skonfigurował. Jeśli jesteś administratorem, zobacz Wybór encji synchronizowanych z usługą marketing-insights w celu uzyskania instrukcji.
  2. Otwórz wiadomość e-mail i przejdź do karty Podsumowanie.
  3. Usuń zawartość pola Nazwa nadawcy, a następnie naciśnij przycisk PersonalizacjaPrzycisk Personalizacja obok tego pola.
  4. Na pierwszej stronie okna dialogowego personalizacji wybierz opcję Kontekstowe i ustaw wartość Kontakt. Następnie wybierz opcję Dalej.
  5. Na drugiej stronie okna dialogowego personalizacji wybierz opcję Encja pokrewna, a następnie.
    • Na górnej liście rozwijanej (relacji) ustaw wartość Użytkownik będący właścicielem (Kontakt) -> Użytkownik.
    • Ustaw dolną listę rozwijaną (pole) na Imię i nazwisko.
  6. Wybierz przycisk OK, aby umieścić wyrażenie, które powinno wyglądać następująco: {{contact.contact_systemuser_owninguser.fullname}}.
  7. Usuń zawartość pola Nazwa nadawcy, a następnie naciśnij przycisk PersonalizacjaPrzycisk Personalizacja obok tego pola.
  8. Na pierwszej stronie okna dialogowego personalizacji wybierz opcję Kontekstowe i ustaw wartość Kontakt. Następnie wybierz opcję Dalej.
  9. Na drugiej stronie okna dialogowego personalizacji wybierz opcję Encja pokrewna, a następnie.
    • Na górnej liście rozwijanej (relacji) ustaw wartość Użytkownik będący właścicielem (Kontakt) -> Użytkownik.
    • Ustaw dolną listę rozwijaną (pole) na Podstawowy adres e-mail.
  10. Wybierz przycisk OK, aby umieścić wyrażenie, które powinno wyglądać następująco: {{contact.contact_systemuser_owninguser.internalemailaddress}}.

Podobnych technik można użyć, aby umieścić nazwę lub adres e-mail użytkownika będącego właścicielem w dowolnym miejscu w treści wiadomości. Można to zrobić przy użyciu funkcji personalizacji, kopiując/wklejając wyrażenia Kierownicy, a nawet ręcznie wpisując wyrażenie Kierownicy.

Można użyć wyrażenia dynamicznego, aby zdefiniować źródłowy adres URL dla elementów obrazu. Aby to zrobić, zaznacz element obrazu, przejdź do jego panelu Właściwości, a następnie wybierz przycisk PersonalizacjaPrzycisk Personalizacja obok pola Źródło, aby umieścić tekst dynamiczny jako część adresu URL. Zazwyczaj łączy się go z tekstem statycznym, aby zbudować kompletny adres URL. Możesz na przykład umieścić identyfikator kontaktu odbiorcy lub nazwę firmy, aby wybrać obraz odpowiedni dla poszczególnych odbiorców.

Analogicznie można użyć funkcji personalizacji, aby łatwiej skonstruować wyrażenie dynamiczne do ustawiania lokalizacji docelowej Łącze dla obrazu.

Uwaga

Biblioteka plików aplikacji Dynamics 365 Customer Insights - Journeys generuje unikatową ścieżkę pliku opartą na identyfikatorze GUID dla każdego przekazywanego obrazu, co oznacza, że obrazy w bibliotece plików mają nieprzewidywalne adresy URL, które nie zawierają oryginalnej nazwy pliku. W związku z tym aby skorzystać z opisanej tutaj techniki, należy umieścić swoje obrazy we własnej witrynie internetowej lub dowolnej innej usłudze hostingowej, gdzie adresy URL są przewidywalne i mogą zawierać wartość, którą da się łatwo wyodrębnić z pola systemu Dynamics 365.

Wyszukiwanie identyfikatorów rekordów

Niekontekstowe wyrażenia pól (które używają formularza {{EntityName(RecordID).FieldName}}) wymagają identyfikatora rekordu w celu identyfikacji konkretnego rekordu, z którego musi pochodzić wartość. Zwykle funkcja personalizacji pomoże znaleźć te identyfikatory, ale czasami podczas projektowania dynamicznych funkcji wiadomości może być konieczne ręczne znalezienie identyfikatora. Aby znaleźć identyfikator rekordu:

  1. Otwórz rekord, dla którego chcesz utworzyć odniesienie.
  2. Sprawdź adres URL wyświetlony w pasku adresu przeglądarki, który powinien zawierać adres URL taki jak:
    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. Znajdź tę część adresu URL, która zaczyna się od &id=, po której następuje numer identyfikacyjny bieżącego rekordu. Skopiuj ten numer (tylko wartość) i użyj go w swoim wyrażeniu.

Zaawansowana zawartość dynamiczna

Do projektów wiadomości e-mail możesz dodać zaawansowane funkcje przetwarzania logicznego, które mogą sprawić, że zawartość będzie charakteryzować się jeszcze większą responsywnością dla odbiorców, danych demograficznych i kontekstu. Ten typ dostosowania wymaga podstawowej znajomości skryptów i programowania.

Jak widać w poprzednich przykładach, dynamiczna zawartość otoczona jest podwójnymi nawiasami ({{ i }}). Obejmuje to zarówno standardowe wartości pól dodawane za pomocą funkcji personalizacji, jak i bardziej zaawansowane konstrukcje programowania opisane w tym rozdziale.

Napiwek

Jeśli chcesz wyświetlić podwójne nawiasy w wiadomości, zamiast używać ich do oznaczania początku lub końca bloku kodu, wówczas anuluj pierwszy nawias przy pomocy odwróconego ukośnika, przykładowo \{{ lub \}}. Ukośniki nie będą wyświetlane w ostatecznej, wyrenderowanej wiadomości, ale podwójne nawiasy będą widoczne.

Instrukcje warunkowe i porównania

Instrukcje warunkowe (if-then-else) wyświetlają zawartość w zależności od tego, czy jedno lub więcej wyrażeń warunkowych jest prawdziwe lub fałszywe. Można dodać kod źródłowy wymagany do tworzenia tych instrukcji, umieszczając go w elemencie tekstowym lub umieszczając elementy kodu niestandardowego między innymi elementami projektu. Więcej informacji: Jak wprowadzać zaawansowaną zawartość dynamiczna w projektancie

Instrukcje warunkowe mają następującą postać:

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

Gdzie:

  • Blok warunkowy zawsze należy otwierać przy pomocy {{#if … }}.
  • Wyrażenia warunkowe muszą być umieszczone w nawiasach.
  • Wyrażenia warunkowe rozpoczynają się od <operatora>, który musi mieć jedną z wartości wymienionych w poniższej tabeli. Określa on sposób porównywania pierwszej wartości z drugą.
  • <value1> i <value2> are values to be compared by the conditional expression, and each can be either dynamic or constant values. Jeśli <wartość1> lub <wartość2> jest stałą wartością typu ciąg (nie liczbą ani wyrażeniem), musi być otoczona pojedynczym cudzysłowem ('); dla liczb rzeczywistych należy użyć kropki (.) jako separatora dziesiętnego.
  • Jeśli <wartość1> jest polem logicznym (znanym także jako pole dwóch opcji w systemie Dynamics 365), nie należy dołączać <operatora>, <wartość2> ani nawiasów. Pola logiczne zawsze mają wartość prawda lub fałsz, więc należy po prostu użyć ich bezpośrednio do ustanowienia warunku, na przykład {{#if contact.is_vip}}.
  • Klauzule {{else}} i {{else if … }} są opcjonalne.
  • Blok warunkowy zawsze należy zamykać przy pomocy {{/if}}.

Poniższa tabela zawiera listę wszystkich operatorów, których można użyć w wyrażeniach warunkowych. Inne operatory nie są obecnie dostępne, a w wyrażeniach warunkowych nie można używać złożonych wyrażeń logicznych (np. z operatorami AND lub OR).

Składnia Dynamics 365 Customer Insights - Journeys (uwzględniana jest wielkość liter) Operator
eq Równa się
ne Nierówne
lt Mniejsze niż
gt Większe niż
lte Mniejsze niż lub równe
gte Większe niż lub równe

Na przykład taka instrukcja warunkowa może być użyta do ustalenia używanego języka do przekazywania wiadomości w oparciu o kraj każdego odbiorcy wiadomości:

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

Oto przykład instrukcji warunkowej opartej na polu logicznym (dwie opcje) o nazwie is_vip; należy zauważyć, że ponieważ pola logiczne zawsze zwracają wartość prawda lub fałsz, to operator, wartość porównania ani nawiasy nie są uwzględnione w warunku:

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

Napiwek

Można testować puste wartości pól przy użyciu:

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

Gdzie '' jest dwoma pojedynczymi cudzysłowami, a nie podwójnym cudzysłowem. Znajduje puste pola, ale nie null.

Napiwek

Chociaż w wyrażeniach warunkowych nie można użyć złożonych wyrażeń logicznych, można zaimplementować podobne funkcje w następujący sposób:

Nieobsługiwane:

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

Jest równoważne z (obsługiwane):

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

 
Nieobsługiwane:

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

Jest równoważne z (obsługiwane):

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

Napiwek

Podczas testowania wartości, które są przechowywane jako zestaw opcji w bazie danych, należy użyć wartości indeksu dla zestawu opcji, a nie wartości wyświetlania. Na przykład możesz mieć pole o nazwie contact.customertypecode, które przechowuje liczbę całkowitą identyfikującą typ klienta. Każdy kod typu klienta ma również nazwę wyświetlaną, tak że 0 = „miedziany”, 1 = „srebrny” i 2 = „złoty”. W takim przypadku należy skonfigurować wyrażenie używające indeksu (liczby całkowitej), a nie pasującej wartości wyświetlanej. Dlatego też jeśli szukasz klientów złotych, należy użyć następującego wyrażenia:

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

Napiwek

Podczas testowania dużych wartości liczbowych, takich jak „1 932 333”, nie umieszczaj separatora tysięcy (spacji) w instrukcji porównania, mimo że często widać użycie tego separatora w interfejsie użytkownika. Aby przetestować tę wartość, wyrażenie powinno wyglądać na przykład tak:

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

Pętle for-each

Każda pętla umożliwia przeglądanie kolejno zbioru rekordów, które są powiązane z określonym rekordem bieżącym, na przykład w celu dostarczenia listy wszystkich ostatnich transakcji związanych z danym kontaktem. Można dodać kod źródłowy wymagany do tworzenia tych instrukcji, umieszczając go w elemencie tekstowym lub umieszczając elementy kodu niestandardowego między innymi elementami projektu. Więcej informacji: Jak wprowadzać zaawansowaną zawartość dynamiczna w projektancie

Pętle for-each mają następującą postać:

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

Gdzie:

  • Blok pętli zawsze należy otwierać przy pomocy {{#each … }}.
  • Entity.RelationshipName określa zbiór powiązanych rekordów, przez które pętla będzie przechodzić.
  • Pętla zaczyna się od pierwszego dostępnego powiązanego rekordu i powtarza dla każdego dostępnego powiązanego rekordu aż do momentu, gdy wszystkie powiązane rekordy zostaną sprawdzone. Powiązane rekordy zostaną zwrócone w sposób arbitralny i nieprzewidywalny.
  • {{this.RelatedField<n>}} identyfikuje nazwę pola na podstawie powiązanego rekordu. Część „this” tego wyrażenia odnosi się do powiązanego rekordu przetwarzanego w bieżącej iteracji pętli, po której musi następować prawidłowa nazwa pola dla powiązanej encji. W każdej pętli można umieścić dowolną liczbę pól.
  • Blok pętli zawsze należy zamykać przy pomocy {{/each}}.

Na przykład baza danych może zawierać listę produktów zamówionych przez kontakt. Można je wymienić w wiadomości e-mail za pomocą kodu:

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

W tym przykładzie system Dynamics 365 Customer Insights - Journeys został dostosowany, aby objąć encję niestandardową o nazwie product, która jest konfigurowana przy użyciu relacji 1:n między encjami contact i product w polu productid. Aby encja produktu była dostępna dla wiadomości e-mail, musi być również zsynchronizowana z usługą Marketing-Insights (tak jak zwykle).

Ważne

Tylko pierwsze 1000 powiązanych elementów jest dodawanych do relacji na potrzeby renderowania wiadomości e-mail. Korzystanie z relacji z ponad 1000 elementów nie jest obsługiwane w szablonach wiadomości e-mail i może prowadzić do nieoczekiwanych wyników.

Należy również pamiętać, że relacje drugiego poziomu nie są obsługiwane. W związku z tym następująca składnia jest niedozwolona:

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

Jak wprowadzać zaawansowaną zawartość dynamiczna w projektancie

Podczas wprowadzania zaawansowanego dynamicznego kodu źródłowego w projektancie należy zachować ostrożność, ponieważ istnieje wiele — często nieoczekiwanych — sposobów na popełnienie błędu, wskutek czego kod nie będzie działał. Oto kilka wskazówek na temat wprowadzania i testowania kodu źródłowego:

  • Używaj elementów niestandardowego kodu źródłowego (custom-code), aby umieszczać fragmenty kodu między elementami projektu na karcie Projektant. Jest to o wiele bardziej widoczne i niezawodne, niż umieszczanie kodu bezpośrednio w kodzie HTML przy użyciu karty HTML. Można jednak również użyć kodu dynamicznego w elemencie tekstowym, w którym to przypadku prawdopodobnie będzie trzeba oczyścić ten kod na karcie HTML, jak wspomniano w dalszej części tej listy. (Podczas pracy w edytorze pełnostronicowym wybierz element kodu niestandardowego, aby edytować jego zawartość).
    Element kodu niestandardowego.
  • Podczas wprowadzania kodu w elemencie tekstowym na karcie Projektant wszystkie dodatkowe spacje i znaki powrotu karetki spowodują utworzenie w kodzie tagów &nbsp; i <p>, i w ten sposób go uszkodzą. Dlatego potem zawsze przejdź do karty HTML, gdzie zobaczysz wszystkie dodatkowe tagi. Koniecznie je usuń.
  • Podczas wprowadzania kodu w elemencie tekstowym cały kod źródłowy w postaci zawartości dynamicznej musi być albo zawarty w zestawie znaczników początku i końca (takich jak <p> i </p>), albo w komentarzu HTML (dla kodu, który jest całkowicie osobny od wyświetlanego tekstu). Nie należy umieszczać kodu poza komentarzami lub poprawnymi parami znaczników HTML (lub elementami kodu niestandardowego), ponieważ będzie to mylące dla edytora (szczególnie w przypadku przełączania pomiędzy kartą HTML i Projektant). Musisz pracować na karcie HTML, która umożliwia sprawdzanie i poprawianie kodu HTML w elementach tekstowych.
  • Nie umieszczaj znaków powrotu karetki między elementami kodu wchodzącymi w skład tego samego wyrażenia (np. pętli for-each), chyba że ujmiesz każdy wiersz w jego własny blok tagów HTML (co przedstawiono w przykładzie pętli for-each po zakończeniu tej listy).
  • Funkcja personalizacji jest często przydatna przy konstruowaniu wyrażeń pobierających wartości z bazy danych, ponieważ ułatwia ona znajdowanie nazw tabel, pól i relacji bazy danych. To narzędzie jest dostępne podczas pracy z elementem tekstowym na karcie Projektant oraz podczas wprowadzania wartości w niektórych polach, które je obsługują (np. w polu tematu wiadomości e-mail). Funkcja personalizacji jest niedostępna podczas pracy na karcie HTML oraz w elementach kodu niestandardowego, dlatego można zacząć od użycia tej funkcji w dowolnym elemencie tekstowym, a następnie wyciąć/wkleić powstałe wyrażenie do elementu kodu niestandardowego lub kodu HTML.
  • Nazwa relacji używana podczas tworzenia pętli lub wprowadzania wartości wyszukiwania musi być zgodna z nazwą używaną w usłudze Marketing-Insights. Może się ona różnić od nazwy używanej w celu dostosowania usługi Dynamics 365. Aby znaleźć poprawną nazwę relacji, należy użyć funkcji personalizacji.

Można na przykład skonfigurować wiersz pozdrowienia w wiadomości e-mail, wprowadzając następujące dane na karcie HTML projektanta (wewnątrz elementu tekstowego lub poza nim):

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

Poniższy przykład (podany także wcześniej) pokazuje, jak używać komentarzy do załączania kodu, który znajduje się całkowicie poza wyświetlaną zawartością (również na karcie HTML):

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