Anweisungen zur Vorab-Bearbeitung

Sie können eine bestimmte Syntax im Versandinhalt verwenden, um Anweisungen hinzuzufügen und die URL der getrackten E-Mail zu skripten. Die Anweisungen "<%@" sind keine JavaScript-Anweisungen. Diese Syntax ist spezifisch für Adobe Campaign.

Sie gelten nur im Zusammenhang mit dem Versandinhalt. Dies ist die einzige Möglichkeit, die URL einer E-Mail zu skripten und dennoch zu tracken (neben URL-Parametern). Sie können als ein automatisches Kopieren/Einfügen betrachtet werden, das während der Versandanalyse angewendet wird, bevor die zu trackenden Links erkannt werden.

Es gibt drei Arten von Anweisungen:

  • include: hauptsächlich zur Strukturierung von Code-Abschnitten nach Optionen, Gestaltungsbausteinen, externen Dateien oder Seiten. Mehr dazu
  • value: um Zugriff auf die Felder des Versands, Versandvariablen und benutzerdefinierte Objekte zu gewähren, die im Versand geladen werden. Mehr dazu
  • foreach: um eine Schleife über das Array auszuführen, das als benutzerdefiniertes Objekt geladen wird. Mehr dazu

Sie können direkt vom Versand-Assistenten aus getestet werden. Sie gelten in der Inhaltsvorschau und wenn Sie auf die Tracking-Schaltfläche klicken, um die Liste der URLs anzuzeigen.

include

Die folgenden Beispiele gehören zu den am häufigsten verwendeten:

  • Link zur Mirrorseite einbinden:

    <%@ include view="MirrorPage" %>  
    
  • URL der Mirrorseite:

    View as a <a href="<%@ include view='MirrorPageUrl' %>" _label="Mirror Page" _type="mirrorPage">web page.
    
  • Native Abmelde-URL:

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

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

    Verwenden Sie die Personalisierungsschaltfläche im Versand-Assistenten, um die richtige Syntax zu erhalten.

value

Diese Anweisung ermöglicht den Zugriff auf die Parameter des Versands, die für alle Empfänger gleich sind.

Syntax:

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

Wobei:

  • object: Name des Objekts (Beispiel: "delivery", "provider" usw.).
    Objekt kann sein:
    • delivery: für den aktuellen Versand (siehe Details und Einschränkungen im Unterabschnitt unten).
    • provider: für den aktuellen Versand-Provider bzw. das aktuelle Versand-Routing (nms:externalAccount).
    • Ein zusätzliches Skriptobjekt: wenn ein Objekt im Kontext geladen wird: Eigenschaften > Personalisierung > Objekte im Ausführungskontext hinzufügen.
    • Element der foreach-Schleife: siehe Abschnitt Foreach weiter unten.
  • xpath: Pfad (XPath) des Felds.
  • index (optional): wenn object ein Array ist (für zusätzliche Skriptobjekte), Elementindex im Array (beginnt bei 0).

delivery Objekt 

Für die E-Mail-Personalisierung kann auf zwei Arten auf das "delivery"-Objekt zugegriffen werden:

  • Mittels JavaScript:

    <%= delivery.myField %>`.
    

    Im Objektversand in JavaScript werden benutzerdefinierte Felder nicht unterstützt. Sie funktionieren in der Vorschau, jedoch nicht im MTA, da der MTA nur auf das vorkonfigurierte Versandschema zugreifen kann.

  • Mittels Vorab-Bearbeitung:

    <%@ value object="delivery"
    

Vorsicht

Wenn Sie die folgende Anweisung für den Versand per Mid-Sourcing verwenden, muss das benutzerdefinierte Feld @myCustomField auf Marketing- und Mid-Sourcing-Plattformen dem Schema "nms:delivery" hinzugefügt werden:

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

Verwenden Sie für Versandparameter/-variablen die folgende Syntax (unter Verwendung des "delivery"-Objekts):

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

value in einem JavaScript-Abschnitt

Damit der Wert "<%@" in JavaScript-Abschnitten verwendet werden kann, werden zwei Sonderobjekte durch "<%" und "%>" ersetzt:

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

Beispiel:

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

Diese Anweisung ermöglicht die Iteration eines Arrays von Objekten, die im Versand geladen werden, um einzelne Links zu den Objekten zu verfolgen.

Syntax:

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

Wobei:

  • object: Name des Objekts, von dem aus gestartet werden soll, normalerweise ein zusätzliches Skriptobjekt, es kann sich jedoch auch um einen Versand handeln.
  • xpath (optional): Pfad (XPath) der Kollektion, über die eine Schleife ausgeführt werden soll. Der Standardwert ist ".", d. h., das Objekt ist das Array, über das eine Schleife ausgeführt werden soll.
  • index (optional): wenn "xpath" nicht "." und "object" selbst ein Array ist, Elementindex des Objekts (beginnt bei 0).
  • item (optional): Name eines neuen Objekts, auf das mit dem Wert "<%@" innerhalb der foreach-Schleife zugegriffen werden kann. Standardeinstellung mit dem Link-Namen im Schema.

Beispiel:

Laden Sie in den Versandeigenschaften/der Versandpersonalisierung ein Array von Artikeln und eine Beziehungstabelle zwischen Empfänger und Artikeln.

Die Anzeige von Links zu diesen Artikeln kann mit einem JavaScript wie folgt erfolgen:

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

Bei dieser Lösung werden die Links zu allen Artikeln ohne Differenzierung verfolgt. Sie können zwar wissen, dass ein Empfänger auf einen Artikel-Link geklickt hat, aber Sie können nicht wissen, auf welchen Artikel.

Die Lösung ist:

  1. Laden Sie alle möglichen Artikel in einem zusätzlichen Skript-Array des Versands – articleList[] – vorab, was bedeutet, dass eine endliche Anzahl möglicher Artikel vorhanden sein muss.

  2. Schreiben Sie eine JavaScript-Funktion am Anfang des Inhalts.

    <%@ 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. Zeigen Sie den Artikel durch Aufruf der Funktion an.

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

Auf dieser Seite

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now