Istruzioni per la preelaborazione

Puoi utilizzare una sintassi specifica nel contenuto della consegna per aggiungere istruzioni e creare uno script per l’URL dell’e-mail tracciata. Le istruzioni <%@ non sono JavaScript: questa sintassi è specifica di Adobe Campaign.

Si applicano solo nel contesto del contenuto di consegna. È l’unico modo per creare uno script per l’URL di un’e-mail e tenerlo tracciato (oltre ai parametri URL). Possono essere visualizzati come una copia/incolla automatica applicata durante l’analisi della consegna prima di rilevare i collegamenti da tracciare.

Sono disponibili tre tipi di istruzioni:

  • include: principalmente per rendere fattoriale un certo codice in opzioni, blocchi di personalizzazione, file esterni o pagine. Ulteriori informazioni
  • value: per consentire l’accesso ai campi della consegna, alle variabili di consegna e agli oggetti personalizzati caricati nella consegna. Ulteriori informazioni
  • foreach: per eseguire il ciclo continuo di una matrice caricata come oggetto personalizzato. Ulteriori informazioni

Possono essere testati direttamente dalla procedura guidata di consegna. Si applicano nell’anteprima del contenuto e quando fai clic sul pulsante di tracciamento per visualizzare l’elenco degli URL.

include

Gli esempi seguenti sono tra i più utilizzati:

  • Incluso il collegamento alla pagina speculare:

    <%@ include view="MirrorPage" %>  
    
  • URL pagina speculare:

    View as a <a href="<%@ include view='MirrorPageUrl' %>" _label="Mirror Page" _type="mirrorPage">web page.
    
  • URL di annullamento della sottoscrizione predefinito:

    <%@ include option='NmsServer_URL' %>/webApp/unsub?id=<%= escapeUrl(recipient.cryptedId)%>
    
  • Altri esempi:

    <%@ include file='http://www.google.com' %>
    <%@ include file='file:///X:/france/service/test.html' %>
    <%@ include option='NmsServer_URL' %>
    

    Utilizza il pulsante di personalizzazione nella procedura guidata di consegna per ottenere la sintassi corretta.

value

Questa istruzione fornisce l’accesso ai parametri della consegna costanti per tutti i destinatari.

Sintassi:

<%@ value object="myObject" xpath="@myField" index="1" %>

Dove:

  • object: nome dell'oggetto (esempio: consegna, fornitore e così via).
    L'oggetto può essere:
    • delivery: per la consegna corrente (vedi dettagli e restrizioni nella sottosezione seguente).
    • provider: per il provider/indirizzamento di consegna corrente (nms:externalAccount).
    • Un oggetto script aggiuntivo: se un oggetto viene caricato nel contesto tramite: Proprietà > Personalizzazione > Aggiungi oggetti nel contesto di esecuzione.
    • Elemento del ciclo foreach: vedi la sezione Foreach di seguito.
  • xpath: xpath del campo.
  • index (facoltativo): se object è un array (per oggetti script aggiuntivi), l'indice dell'elemento nell'array (Starts at 0).

delivery oggetto 

Per la personalizzazione delle e-mail, l’oggetto di consegna è accessibile in due modi:

  • Utilizzando JavaScript:

    <%= delivery.myField %>`.
    

    I campi personalizzati di consegna oggetti JavaScript non sono supportati. Funzionano nell’anteprima, ma non nell’MTA perché l’MTA può accedere solo allo schema di consegna predefinito.

  • Utilizzo di una pre-elaborazione:

    <%@ value object="delivery"
    

Attenzione

Se utilizzi le seguenti istruzioni per le consegne inviate tramite mid-sourcing, il campo personalizzato @myCustomField deve essere aggiunto allo schema nms:delivery sia sulle piattaforme di marketing che di mid-sourcing:

<%@ value object="delivery" xpath="@myCustomField" %>

Per i parametri/variabili di consegna, utilizza la sintassi seguente (utilizzando l’oggetto di consegna):

<%@ value object="delivery" xpath="variables/var[@name='myVar']/@stringValue" %>

value in una sezione Javascript

Per consentire l'utilizzo del valore <%@ nelle sezioni JavaScript, due oggetti speciali vengono sostituiti con <% e %>:

<%@ value object='startScript' %>
<%@ value object='endScript' %>

Ad esempio:

<%@ value object='startScript' %> var iMode = <%@ value object="delivery" xpath="@deliveryMode" %> if(iMode == 1) { ... } else { ... }`
`<%@ value object='endScript' %> is expanded in something like <% var iMode = 1 if(iMode == 1) { ... } else { ... } %>.

foreach

Questa istruzione consente l’iterazione su un array di oggetti caricati nella consegna per tenere traccia dei singoli collegamenti relativi agli oggetti.

Sintassi:

<%@ foreach object="myObject" xpath="myLink" index="3" item="myItem" %> <%@ end %>

Dove:

  • object: nome dell’oggetto da cui iniziare, in genere un oggetto script aggiuntivo, ma può essere una consegna.
  • xpath (facoltativo): xpath della raccolta su cui eseguire il ciclo. Il valore predefinito è ".", ovvero l’oggetto è la matrice su cui eseguire il ciclo.
  • index (facoltativo): se xpath non è "." e l'oggetto è un array stesso, l'indice dell'elemento dell'oggetto (inizia da 0).
  • item (facoltativo): nome di un nuovo oggetto accessibile con <> Impostazione predefinita con il nome del collegamento nello schema.

Esempio:

Nelle proprietà/personalizzazione di consegna, carica un array di articoli e una tabella di relazione tra destinatario e articoli.

La visualizzazione di collegamenti a questi articoli può essere effettuata semplicemente con un JavaScript come segue:

<%
  for(var i=0; i<recipient.rcpArticle.length; i++ )
  {
    %><a href="http://nl.net?a.jsp?article=<%=recipient.rcpArticle[i].article.@id%>">article</a><%
  }
%>

Con questa soluzione, i collegamenti a tutti gli articoli vengono tracciati senza distinzione. Puoi sapere che un destinatario ha fatto clic su un collegamento a un articolo, ma non puoi sapere su quale articolo.

La soluzione è:

  1. Precaricare tutti gli articoli possibili in un array di script aggiuntivo della consegna - articleList[] - il che significa che deve esserci un numero finito di articoli possibili.

  2. Scrivi una funzione JavaScript all'inizio del contenuto.

    <%@ value object='startScript' %>
    function displayArticle(articleId)
    {
      <%@ foreach object="articleList" item="article" %>
        if( articleId == <% value object="article" xpath="@id" %> ) 
        {
          <%@ value object='endScript' %>
            <a href="http://nl.net?a.jsp?article=<%@ value object="article" xpath="@id" %>">article</a>
          <%@ value object='startScript' %>
        } 
      <%@ end @%>
    }
    <%@ value object='endScript' %>
    
  3. Visualizza l'articolo chiamando la funzione .

    <%
    for(var i=0; i<recipient.rcpArticle.length; i++ )
    {
     displayArticle(recipient.rcpArticle[i].article.@id)
    }
    %>
    

In questa pagina