[Gäller även för v8]{class="badge positive" title="Gäller även Campaign v8"}

Instruktioner för förbehandling pre-processing-instructions

Du kan använda en specifik syntax i leveransinnehållet för att lägga till instruktioner och skripta URL:en för det spårade e-postmeddelandet. <%@-instruktionerna är inte JavaScript: den här syntaxen är specifik för Adobe Campaign.

De gäller endast för leveransinnehåll. Det är det enda sättet att skripta URL:en för ett e-postmeddelande och fortfarande spåra den (förutom URL-parametrar). De kan ses som en automatisk kopiera/klistra in som tillämpas under leveransanalysen innan länkarna som ska spåras identifieras.

Det finns tre typer av instruktioner:

  • include: huvudsakligen för att faktorisera viss kod i alternativ, anpassningsblock, externa filer eller sidor. Läs mer
  • value: för att ge åtkomst till fält för leveransen, leveransvariabler och anpassade objekt som lästs in i leveransen. Läs mer
  • foreach: för att repetera en array som har lästs in som ett anpassat objekt. Läs mer

De kan testas direkt från leveransguiden. De används i innehållsförhandsgranskningen och när du klickar på spårningsknappen för att visa en lista över URL-adresser.

include include

Följande exempel är bland de vanligaste:

  • Inklusive spegelsidans länk:

    code language-none
    <%@ include view="MirrorPage" %>
    
  • URL för speglingssida:

    code language-none
    View as a <a href="<%@ include view='MirrorPageUrl' %>" _label="Mirror Page" _type="mirrorPage">web page.
    
  • Oanvändbar url för avprenumeration:

    code language-none
    <%@ include option='NmsServer_URL' %>/webApp/unsub?id=<%= escapeUrl(recipient.cryptedId)%>
    
  • Andra exempel:

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

    Använd personaliseringsknappen i leveransguiden för att få rätt syntax.

value value

Den här instruktionen ger åtkomst till parametrar för leveransen som är konstanta för alla mottagare.

Syntax:

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

Var:

  • object: objektets namn (exempel: leverans, provider och så vidare).
    Objektet kan vara:

    • delivery: för aktuell leverans (se information och begränsningar i underavsnittet nedan).
    • provider: för aktuell leveransleverantör/routning (nms:externalAccount).
    • Ett extra skriptobjekt: Om ett objekt läses in i kontexten via: Egenskaper > Personalization > Lägg till objekt i körningskontexten.
    • Objekt i förgreningsloopen: se avsnittet Förgrund nedan.
  • xpath: fältets xpath.

  • index (valfritt): Om object är en array (för extra skriptobjekt), objektindex i arrayen (börjar vid 0).

delivery objekt  delivery-object

För e-postpersonalisering är leveransobjektet tillgängligt på två sätt:

  • Använda JavaScript:

    code language-none
    <%= delivery.myField %>`.
    

    Anpassade fält för leverans av JavaScript-objekt stöds inte. De fungerar i förhandsgranskningen, men inte i MTA eftersom MTA bara kan komma åt leveransschemat som är klart att användas.

  • Med förbehandling:

    code language-none
    <%@ value object="delivery"
    

Varning

Om du använder följande instruktion för leveranser som skickas via mellanlagring måste det anpassade fältet @myCustomField läggas till i nms:delivery-schemat på både marknadsförings- och mellankällplattformar:

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

Använd följande syntax för leveransparametrar/variabler (med leveransobjektet):

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

value i ett JavaScript-avsnitt value-in-javascript

Om du vill tillåta användning av <%@ värde i JavaScript-avsnitt ersätts två specialobjekt med <% och %>:

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

Exempel:

<%@ 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 foreach

Den här instruktionen tillåter upprepning i en array med objekt som lästs in i leveransen för att spåra enskilda länkar som är relaterade till objekten.

Syntax:

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

Var:

  • object: namnet på objektet som ska börja från, vanligtvis ett extra skriptobjekt, men det kan vara en leverans.
  • xpath (valfritt): XPath för samlingen som ska repeteras. Standardvärdet är ".", vilket innebär att objektet är den array som ska upprepas.
  • index (valfritt): Om xpath inte är "." och objektet är en array, objektindex för objektet (börjar vid 0).
  • item (valfritt): namnet på ett nytt objekt som är tillgängligt med <%@-värdet inuti förgreningsslingan. Standard med länknamnet i schemat.

Exempel:

Läs in en array med artiklar och en relationstabell mellan mottagare och artiklar i leveransegenskaperna/personaliseringen.

Du kan visa länkar till de här artiklarna med hjälp av ett JavaScript-skript på följande sätt:

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

Med den lösningen spåras länkarna till alla artiklar utan åtskillnad. Du vet att en mottagare har klickat på en artikellänk, men du vet inte vilken artikel.

Lösningen är att

  1. Läs in alla möjliga artiklar i en extra skriptmatris för leveransen - articleList [] - vilket innebär att det måste finnas ett begränsat antal möjliga artiklar.

  2. Skriv en JavaScript-funktion i början av innehållet.

    code language-none
    <%@ 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. Visa artikeln genom att anropa funktionen.

    code language-none
    <%
    for(var i=0; i<recipient.rcpArticle.length; i++ )
    {
     displayArticle(recipient.rcpArticle[i].article.@id)
    }
    %>
    
recommendation-more-help
601d79c3-e613-4db3-889a-ae959cd9e3e1