Deli z drugimi prek


Razširite obrazce za izhodno trženje z uporabo kode

opomba,

1. septembra 2023 bosta Dynamics 365 Marketing in Dynamics 365 Customer Insights na prodaj skupaj v okviru ene inventarne enote izdelka, imenovane Dynamics 365 Customer Insights. Posamezni aplikaciji bosta preimenovani v Dynamics 365 Customer Insights – Dejavnosti oziroma Dynamics 365 Customer Insights – Podatki. Več informacij je v pogostih vprašanjih za Dynamics 365 Customer Insights

Poleg tega bodo 1. septembra 2023 novi uporabniki storitve Dynamics 365 Marketing prejeli samo funkcije sprotnega trženja. Več informacij je v razdelku Privzeta namestitev sprotnega trženja. Številne strani z dokumentacijo se trenutno nanašajo na odhodne funkcije, ki v sprotnem trženju morda niso na voljo ali delujejo drugače. Vsebina dokumentacije bo posodobljena septembra, da bo razvidno, ali se nanaša na sprotno ali odhodno trženje.

Pomembno

Ta članek se nanaša samo na izhodno trženje.

Obrazec za trženje določa nabor vnosnih polj, razvrščenih v postavitev obrazca. Verjetno boste ustvarili majhno knjižnico obrazcev za ponovno uporabo, ki jih lahko po potrebi umestite na vse svoje različne strani za trženje. Če želite dodati obrazec za trženje določenemu stran za trženje, uporabite element obrazca, da postavite obrazec in zanj izberite lokalne nastavitve, ki veljajo samo za to stran. Več informacij Obrazci za izhodno trženje

Obrazce za odhodno trženje je mogoče razširiti z uporabo JavaScripta za izvajanje poslovnih dejanj po meri v Dynamics 365 Customer Insights - Potovanja. Sledijo metode, ki so na voljo za razširitev izhodnih tržnih obrazcev.

JavaScript API

Uporabljamo najnovejšo različico JavaScript API-ja. Prepričajte se, da so vaše reference na form-loader.js ali loader.js skript videti kot https://mktdplp102cdn.azureedge.net/public/latest/js/form-loader.js?v=[version tag] ali https://mktdplp102cdn.azureedge.net/public/latest/js/loader.js?v=[version tag]. Razdelek ?v=[version tag] lahko izpustite. Starejši skripti (skripti, ki izgledajo kot https://mktdplp102cdn.azureedge.net/public/static/[version tag]/js/form-loader.js ali https://mktdplp102cdn.azureedge.net/public/static/[version tag]/js/loader.js) so zastareli in niso več podprti.

Postavite kodo po meri neposredno za form-loader.js skript.

Vzorec kode:

<script src="https://mktdplp102cdn.azureedge.net/public/latest/js/form-loader.js?v=..."></script>
<script>
// correct - the script will attach event handlers right after form loader script
MsCrmMkt.MsCrmFormLoader.on("afterFormLoad", function() {});

// wrong - the script will attach event handlers after window has finished loading, form already might have been loaded in the meantime and no events will trigger anymore
// window.onload = function() { MsCrmMkt.MsCrmFormLoader.on("afterFormLoad", function() {}); };
</script>

Metode MsCrmMkt.MsCrmFormLoader

Ime funkcije Description Ime parametra Vrsta parametra Opis parametra Vračila
.on(eventType,callback) Registrira povratni klic za vrsto dogodka življenjskega cikla obrazca eventType string, eden od "afterFormLoad", "afterFormRender", "afterFormSubmit", "formLoad", "formRender", "formSubmit" Vrsta dogodka, na katerega se lahko povežete undefined
callback Funkcija povratnega klica Function
.off(eventType) Odjavite povratne klice danega dogodka življenjskega cikla obrazca eventType neobvezno string, eden od "afterFormLoad", "afterFormRender", "afterFormSubmit", "formLoad", "formRender", "formSubmit" Vrsta dogodka, na katerega se lahko povežete undefined
.sendFormCaptureToCrm(form) Oddajo obrazca pošljite na Dynamics 365 Customer Insights - Potovanja, podprto samo za scenarij zajema obrazca form Element DOM, ki predstavlja obrazec, ali izbirnik JQuery, ki predstavlja obrazec Element obrazca DOM Promise<string>

Oblikujte dogodke

Ime dogodka Sproži se za zajete obrazce Sintaksa Description
formLoad Da MsCrmMkt.MsCrmFormLoader
.on("formLoad", function(event) {})
Sproži, ko je ograda obrazca prepoznana, preden se pridobi dejanska vsebina obrazca, za zajete obrazce sproži, ko je obrazec prepoznan
formRender No MsCrmMkt.MsCrmFormLoader
.on("formRender", function(event) {})
Sproži se po pridobitvi vsebine obrazca in preden je vsebina obrazca vstavljena na stran.
afterFormRender No MsCrmMkt.MsCrmFormLoader
.on("afterFormRender", function(event) {})
Sproži se po tem, ko je vsebina obrazca vstavljena na stran, preden so pritrjene potrditvene kljuke.
afterFormLoad No MsCrmMkt.MsCrmFormLoader
.on("afterFormLoad", function(event) {})
Sproži se po tem, ko je vsebina obrazca vstavljena na stran in po tem, ko so pritrjeni kavlji za preverjanje veljavnosti.
formSubmit No MsCrmMkt.MsCrmFormLoader
.on("formSubmit", function(event) {})
Sproži ob oddaji obrazca, preden je oddaja obrazca poslana strežniku.
afterFormSubmit Da MsCrmMkt.MsCrmFormLoader
.on("afterFormSubmit", function(event) {})
Sproži ob oddaji obrazca, potem ko je oddaja obrazca poslana strežniku. Sproži se šele, ko je predložitev uspešna. Sproži se pred preusmeritvijo ali pred prikazom potrditvenega sporočila.

Za vsak povratni klic dogodka so na voljo naslednje metode:

Ime načina Description Tip vrnitve
.getType() Pridobi vrsto dogodka string, eden od "afterFormLoad", "afterFormRender", "afterFormSubmit", "formLoad", "formRender", "formSubmit"
.getFormPageId() Pridobi ID strani obrazca – to se nanaša na msdyncrm_formpage enolični identifikator entitete string
.getFormPlaceholder() Pridobi element DOM, ki predstavlja obrazec Element DOM
.preventDefault() Prekliče oddajo obrazca, velja samo za dogodek tipa formSubmit undefined
.preventFormLoadingProgressBar() Med nalaganjem obrazca skrije vrtljivko, velja samo za vrsto dogodka formLoad undefined
.setFormNotification(function (n) {}) Preglasi povratni klic za upodabljanje obvestila obrazca (kot je sporočilo o predložitvi obrazca). Brez telesa funkcije ne bodo upodobljena nobena obvestila. Velja le za dogodek vrste formLoad . undefined

Prilagoditev vedenja za zajem obrazca

Zajem obrazca usmerja konfiguracijski element, ki izgleda <div class="d365-mkt-config" style="display:none" data-website-id="..." data-hostname="...">. Vedenje zajemanja obrazca lahko spremenite tako, da dodate naslednje atribute:

Ime atributa Description
data-ignore-prevent-default="true" Ko je določeno, bo obrazec predložen ne glede na dejstvo, da je bil .preventDefault() priklican v dogodku.
data-no-submit="true" Ko je določeno, skript za zajemanje obrazca ne bo zajel dogodka oddaje obrazca, zato morate MsCrmMkt.MsCrmFormLoader.sendFormCaptureToCrm(form) izrecno sprožiti. To je uporabno v primerih, ko želite najprej oddati obrazec in pozneje sinhronizirati z Dynamics 365 Customer Insights - Potovanja.

opomba,

Javascript API je na voljo samo za obrazce, ki gostujejo kot skript, ni podprt za možnost gostovanja iframe.

Med uporabo portalov dodajte svoj izrezek kode

Če želite dodati kodo JavaScript, morate slediti spodnjim korakom:

  1. Pomaknite se do aplikacije Customer Insights - Journeys in pojdite na strani za trženje.

  2. Izberite Novo da ustvarite nov stran za trženje.

  3. Povlecite in spustite element Obrazec z zavihka Orodjarna v Oblikovalnik in izberite tržni obrazec, ki ga želite uporabiti.

    Dodaj novo stran obrazca.

  4. Preklopite na zavihek HTML in svoj izrezek kode.

    Dodajte kodo v zavihek HTML.

  5. Izberite Shrani , da shranite svoje spremembe, nato pa izberite Pojdi v živo.

Dodajte svoj izrezek kode, ko uporabljate svoj CMS in gostovanje obrazcev

Če želite dodati izrezek kode, morate slediti spodnjim korakom:

  1. Pomaknite se do aplikacije Customer Insights - Journeys in pojdite na Obrazce za trženje v Izhodno trženje območje

  2. Izberite Novo , da ustvarite nov tržni obrazec.

  3. Izberite Pojdi v živo.

  4. Izberite zavihek Gostovanje obrazcev in pod Razpoložljive domene za gostovanje obrazcev izberite domeno, če je na voljo, ali izberite + Ustvari novo domeno.

    Zavihek Gostovanje obrazcev.

  5. Dodajte svojo domeno CMS in izberite Shrani.

  6. Na zavihku Iz gostovanja pod zavihkom Sorodne strani z obrazcem za trženje izberite ... in + Nova stran obrazca za dodajanje strani obrazca za trženje.

    Povezani vpogledi strank – strani z obrazci za potovanja.

  7. Izberite možnost Shrani.

  8. Zdaj izberite stran obrazca, ki ste jo ustvarili, in kopirajte skript v odložišče.

    Dodajte izrezek kode.

  9. Zdaj v svojem CMS uredite stran, kamor želite vključiti obrazec, dodajte svoje prilagoditve in skript.

    Prilagoditve oglasov v CMS.

Primeri

  1. Preverjanje vzorca - preveri, ali je besedilno polje Fabricam ali Contoso, sicer prepreči oddajo obrazca.

    MsCrmMkt.MsCrmFormLoader.on('formSubmit', function(event) {
      // sample validation - check if 
      document.getElementById('txt-company-name-message').style.visibility = 'hidden';
      var companyName = document.getElementById('txt-company-name').value;
      if (companyName !== 'Fabricam' && companyName != 'Contoso') 
      {
        document.getElementById('txt-company-name-message').style.visibility = 'visible';
        event.preventDefault();
      }
    });
    
  2. Polnjenje parametrov dohodnega poizvedbenega niza v skrita polja.

    MsCrmMkt.MsCrmFormLoader.on('afterFormLoad', function(event) {
      var self = window.location.toString();
      var queryString = self.split("?");
      var hiddenFields = document.querySelectorAll("input[type=hidden]");
      if (queryString.length > 1) 
      {
        var pairs = queryString[1].split("&");
        for (var pairIndex in pairs) 
        {
          var pair = pairs[pairIndex].split("=");
          if (pair.length !== 2) 
          {
            continue;
          }
          var key = pair[0];
          var value = pair[1];
          if (key && value) 
          {
            for (var i = 0; i < hiddenFields.length; i++) 
            {
              if (hiddenFields[i].id === key) 
              {
                hiddenFields[i].value = value;
              }
            }
          }
        }
      }
    });
    
  3. Lokalizirajte obrazec (izbirni seznam) – za lokalizacijo obrazcev za odhodno trženje lahko uporabite razširljivost na strani odjemalca. Lokalizacija se mora izvesti po nalaganju obrazca (afterFormLoad dogodek). Znotraj stran za trženje (ali v CMS, kjer gostite obrazec), dodajte naslednji lokalizacijski skript:

    <script>
    function translatePicklists(lcid) 
    {
        var picklists = document.querySelectorAll("select");
        for(var i = 0; i < picklists.length; i++) 
        {
            var picklist = picklists[i];
            var relatedDatalist = document.getElementById("localize-" + picklist.name + "-" + lcid.toString());
            if (relatedDatalist) 
            {
                for(var j = 0; j < picklist.options.length; j++) 
                {
                    if (j >= relatedDatalist.options.length) 
                    {
                        break;
                    }
                    picklist.options[j].text = relatedDatalist.options[j].text;
                }
            }
        }
    }
    MsCrmMkt.MsCrmFormLoader.on("afterFormLoad", function(event) { translatePicklists(1029); });
    </script>
    

    V marketinškem obrazcu poskrbite, da imate pripravljene prevode. Uredite marketinški obrazec v oblikovalniku HTML, ga formatirajte (kliknite z desno miškino tipko v oblikovalniku, nato izberite format) in dodajte potrebne prevode.

    <div data-editorblocktype="Field-dropdown">
        <div class="marketing-field">
            <div class="lp-form-field" data-required-field="false">
                <label for="f7ae1a98-0d83-4592-afe0-272c85ce607d" class="lp-ellipsis" title="">Marital status</label>
                <select id="f7ae1a98-0d83-4592-afe0-272c85ce607d" name="f7ae1a98-0d83-4592-afe0-272c85ce607d" class="lp-form-fieldInput" title="" style="width: 100%; box-sizing: border-box;">
                  <option value=""></option>
                  <option value="1">Single</option>
                  <option value="2">Married</option>
                  <option value="3">Divorced</option>
                  <option value="4">Widowed</option>
                </select>
            </div>
        </div>
    </div>
    <!-- format is localize-fieldid-lcid -->
    <datalist id="localize-f7ae1a98-0d83-4592-afe0-272c85ce607d-1029">
        <option></option>
        <option>Svobodny(a)</option>
        <option>Zenaty(a)</option>
        <option>Rozvedeny(a)</option>
        <option>Vdovec(vdova)</option>
    </datalist>