Auf dieser Seite Erfahren Sie, wie Sie Ausdrucksfragmente im Personalisierungseditor einfügen und wiederverwenden, mit impliziten Variablen arbeiten, Fragmente in Schleifen verwenden, bearbeitbare Felder anpassen und die Vererbung in Adobe Journey Optimizer aufheben.
Bei Verwendung des Personalisierungseditors können Sie alle Ausdrucksfragmente nutzen, die in der aktuellen Sandbox erstellt oder gespeichert wurden.
Ein Fragment ist eine wiederverwendbare Komponente, die in Journey Optimizer-Kampagnen und -Journeys referenziert werden kann. Mit dieser Funktion können Sie mehrere benutzerdefinierte Inhaltsbausteine vorab erstellen, mit denen Marketing-Fachleute Inhalte schnell in einem verbesserten Design-Prozess zusammenstellen können. Erfahren Sie mehr über Fragmente
➡️ In diesem Video erfahren Sie, wie Sie Fragmente verwalten, erstellen und verwenden
Verwenden eines Ausdrucksfragments use-expression-fragment
Um Ausdrucksfragmente zu Ihren Inhalten hinzuzufügen, gehen Sie folgendermaßen vor.
-
Öffnen Sie den Personalisierungseditor und wählen Sie die Schaltfläche Fragmente im linken Bereich aus.
In der Liste werden alle Ausdrucksfragmente angezeigt, die in der aktuellen Sandbox als Fragmente erstellt oder gespeichert wurden. Erfahren Sie, wie Sie Fragmente erstellen
Sie sind nach Erstellungsdatum sortiert: Kürzlich hinzugefügte Ausdrucksfragmente werden in der Liste zuerst angezeigt.
Sie können diese Liste auch aktualisieren.
note NOTE Wenn einige Fragmente während der Bearbeitung des Inhalts geändert oder hinzugefügt wurden, wird die Liste mit den neuesten Änderungen aktualisiert. -
Platzieren Sie den Cursor an der gewünschten Position im Inhalt und klicken Sie dann auf das Symbol + neben einem Ausdrucksfragment, um die entsprechende Fragment-ID in den Editor einzufügen.
note NOTE Sie können auch Ausdrucksfragmente zum <head>einer E-Mail oder Inhaltsvorlage hinzufügen.
note caution CAUTION Sie können jeden Entwurf und jedes Live-Fragment zu Ihrem Inhalt hinzufügen. Sie können Ihre Journey oder Kampagne jedoch nicht aktivieren, wenn darin ein Fragment mit dem Status Entwurf verwendet wird. Bei der Veröffentlichung einer Journey oder Kampagne wird bei Fragmententwürfen ein Fehler angezeigt. Sie müssen sie erst genehmigen, um sie veröffentlichen zu können. -
Wenn die Fragment-ID einmal hinzugefügt worden ist, werden die Änderungen synchronisiert, sobald Sie das entsprechende Ausdrucksfragment öffnen und bearbeiten. Sie werden automatisch an alle Entwürfe oder Live-Journeys/Kampagnen übertragen, die diese Fragment-ID enthalten.
-
Klicken Sie auf die Schaltfläche Mehr Aktionen neben einem Fragment. Wählen Sie aus dem sich öffnenden Kontextmenü die Option Fragment anzeigen aus, um weitere Informationen zu diesem Fragment zu erhalten. Die Fragment-ID wird ebenfalls angezeigt und kann von hier aus kopiert werden.
-
Sie können das Ausdrucksfragment in einem anderen Fenster öffnen, um seinen Inhalt und seine Eigenschaften zu bearbeiten – entweder im Kontextmenü mithilfe der Option Fragment öffnen oder im Bereich Fragmentinformationen. Erfahren Sie, wie ein Fragment bearbeitet wird
-
Anschließend können Sie Ihre Inhalte wie gewohnt mit allen Personalisierungs- und Authoring-Funktionen des Personalisierungseditors anpassen und validieren.
-
In einigen Fällen müssen Sie nur Variablen berechnen. Daher können Sie den Inhalt des Ausdrucksfragments ausblenden. Verwenden Sie dazu das Attribut
renderund legen Sie es auffalsefest. Beispiel:code language-none Hi {{profile.person.name.firstName|fragment id='ajo:fragmentId/variantId' mode ='inline' render=false}}
Verwenden implizierter Variablen implicit-variables
Die impliziten Variablen verbessern die vorhandene Fragmentfunktion, um die Effizienz der Wiederverwendbarkeit und Skripterstellung von Inhalten zu verbessern. Fragmente können Eingabevariablen verwenden und Ausgabevariablen erstellen, die in Kampagnen- und Journey-Inhalten verwendet werden können.
Diese Funktion kann beispielsweise verwendet werden, um Tracking-Parameter Ihrer E-Mails basierend auf der aktuellen Kampagne oder Journey zu initialisieren und diese Parameter in den personalisierten Links zu verwenden, die zum E-Mail-Inhalt hinzugefügt werden.
Folgende Anwendungsfälle sind möglich:
-
Verwenden Sie Eingabevariablen in einem Fragment.
Wenn ein Fragment im Inhalt einer Kampagnen-/Journey-Aktion verwendet wird, kann es Variablen nutzen, die außerhalb des Fragments deklariert wurden. Es folgt ein Beispiel:
Oben sehen Sie, dass die Variable
utm_contentim Kampagneninhalt deklariert ist. Wenn das Fragment Hero block verwendet wird, wird ein Link angezeigt, an den der Parameterwertutm_contentangehängt wird. Das Ergebnis lautet:https://luma.enablementadobe.com?utm_campaign= Product_launch&utm_content= start_shopping. -
Verwenden Sie Ausgabevariablen aus einem Fragment.
In einem Fragment berechnete oder definierte Variablen können in Ihren Inhalten verwendet werden. Im folgenden Beispiel deklariert ein Fragment F1 einen Variablensatz:
Ein E-Mail-Inhalt kann die folgende Personalisierung aufweisen:
Das Fragment F1 initialisiert die folgenden Variablen:
utm_campaignundutm_content. Dann werden dem Link im Nachrichteninhalt diese Parameter angehängt. Das Ergebnis lautet:https://luma.enablementadobe.com?utm_campaign= Product_launch&utm_content= start_shopping.
Verwenden von Ausdrucksfragmenten in Schleifen fragments-in-loops
Bei der Verwendung von Ausdrucksfragmenten in {{#each}}-Schleifen ist die Variablenauswahl von entscheidender Bedeutung. Ausdrucksfragmente können auf globale Variablen zugreifen, die im Nachrichteninhalt definiert sind, sie können jedoch keine schleifenspezifischen Variablen als Parameter empfangen.
Unterstützte Muster: Verwenden globaler Variablen global-variables-in-loops
Ausdrucksfragmente können auf globale Variablen verweisen, die außerhalb des Fragments definiert sind, selbst wenn das Fragment aus einer Schleife heraus aufgerufen wird. Dies ist der empfohlene Ansatz, wenn Sie Fragmente in iterativen Kontexten verwenden müssen.
Beispiel: Verwenden eines Fragments mit globalen Variablen in einer Schleife
Definieren Sie in Ihrem Nachrichteninhalt eine globale Variable und verwenden Sie ein Fragment, das darauf verweist:
Im Ausdrucksfragment (fragment123) können Sie auf die Variable globalDiscount verweisen:
Dieses Muster funktioniert, weil die globale Variable in der gesamten Nachricht verfügbar ist, auch in Fragmenten, unabhängig vom Schleifenkontext.
Nicht unterstützt: Übergeben von Schleifenvariablen als Fragmentparameter loop-variables-limitations
Sie können das aktuelle Iterationselement (z. B. product im obigen Beispiel) nicht als Parameter an ein Ausdrucksfragment übergeben. Das Fragment kann aus dem umgebenden {{#each}}-Block nicht direkt auf Variablen im Schleifenbereich zugreifen.
Beispiel: Was NICHT funktioniert
Das Fragment kann nicht product als Parameter empfangen und intern verwenden, da die Parameterübergabe für schleifenspezifische Variablen in der aktuellen Implementierung nicht unterstützt wird.
Empfohlene Problemumgehungen fragments-in-loops-workarounds
Wenn Sie Ausdrucksfragmente mit Daten aus einer Schleife verwenden müssen, sollten Sie die folgenden Ansätze berücksichtigen:
-
Einfügen von Logik direkt in die Nachricht: Statt ein Fragment für eine schleifenspezifische Logik zu verwenden, fügen Sie den Personalisierungs-Code direkt in Ihrem
{{#each}}-Block ein.code language-handlebars {{#each context.journey.actions.GetProducts.items as |product|}} <div class="product"> <h3>{{product.name}}</h3> <p>Price: ${{product.price}}</p> {{#if product.price > 100}} <span class="premium-badge">Premium Product</span> {{/if}} </div> {{/each}} -
Verwenden von Fragmenten außerhalb von Schleifen: Wenn der Fragmentinhalt nicht schleifenabhängig ist, rufen Sie das Fragment vor oder nach dem Iterationsblock auf.
code language-handlebars {{fragment id='ajo:fragment123/variant456' mode='inline'}} {{#each context.journey.actions.GetProducts.items as |product|}} <div class="product"> <h3>{{product.name}}</h3> <p>Price: ${{product.price}}</p> </div> {{/each}} -
Festlegen mehrerer globaler Variablen: Wenn Sie verschiedene Werte an ein Fragment über mehrere Iterationen hinweg übergeben müssen, legen Sie vor jedem Fragmentaufruf globale Variablen fest (obwohl dies die Flexibilität einschränkt).
Anpassen bearbeitbarer Felder customize-fields
Wenn bestimmte Teile eines Ausdrucksfragments mithilfe von Variablen bearbeitbar gemacht wurden, können Sie deren Standardwerte mithilfe einer speziellen Syntax überschreiben. Informationen dazu, wie Sie Ihre Fragmente anpassbar machen können
Gehen Sie wie folgt vor, um die Felder anzupassen:
-
Fügen Sie das Fragment über das Menü Fragmente in ihren Code ein.
-
Verwenden Sie den Code
<fieldId>="<value>"am Ende der Syntax, um den Standardwert der Variablen zu überschreiben.Im folgenden Beispiel wird der Wert einer Variablen, deren ID „sports“ lautet, mit dem Wert „Yoga“ überschrieben. Dadurch wird „Yoga“ überall dort in Ihrem Fragmentinhalt angezeigt, wo auf die Variable „sport“ verwiesen wird.
Ein Beispiel für das Hinzufügen von bearbeitbaren Feldern zu einem Ausdrucksfragment und zum Überschreiben ihrer Werte beim Erstellen einer E-Mail finden Sie in diesem Abschnitt.
Dynamische Fragmentauflösung verwenden dynamic-resolution
Anstatt eine Fragment-ID zur Entwurfszeit statisch einzubetten, können Sie die Fragment-ID zur Laufzeit pro Empfänger dynamisch auflösen. Dadurch können verschiedene Profile innerhalb derselben Kampagne oder Journey völlig unterschiedliche Inhaltsblöcke empfangen, die auf Profilattributen, Datensatzsuchen oder Kontextdaten basieren.
Unterbrechen der Vererbung break-inheritance
Beim Hinzufügen einer Fragment-ID zum Personalisierungseditor werden die Änderungen am ursprünglichen Ausdrucksfragment synchronisiert.
Sie können jedoch auch den Inhalt eines Ausdrucksfragments in den Editor einfügen. Wählen Sie im Kontextmenü die Option Fragment einfügen aus, um diesen Inhalt einzufügen.
In diesem Fall ist die Vererbung aus dem ursprünglichen Fragment fehlerhaft. Der Inhalt des Fragments wird in den Editor kopiert und die Änderungen werden nicht mehr synchronisiert.
Es wird zu einem eigenständigen Element, das nicht mehr mit dem ursprünglichen Fragment verknüpft ist. Sie können es wie jedes andere Element in Ihrem Code bearbeiten.
This section contains structured knowledge intended to support interpretation, retrieval, and question answering related to this topic.
For complete understanding, this information should be combined with the documentation on this page. Neither source is intended to stand alone; the page describes the feature, while this section provides additional context that helps disambiguate terminology, intent, applicability, and constraints.
- TL;DR: This page explains how to insert, customize, and manage expression fragments in the personalization editor — including implicit variables, using fragments inside loops, editable fields, dynamic resolution, and breaking inheritance.
Intents:
- Insert an expression fragment from the Fragments menu and understand automatic change propagation
- Use implicit variables: input variables (declared outside the fragment, used inside) and output variables (declared inside the fragment, used in surrounding message content)
- Use expression fragments inside loops — leverage global variables for fragment access; understand the limitation on passing loop-scoped variables as parameters
- Override editable fields in a customizable fragment using
<fieldId>="<value>"syntax - Resolve fragment IDs dynamically at runtime based on profile attributes, dataset lookups, or context data
- Break inheritance by pasting fragment content directly into the editor
Glossary:
- Expression fragment: A reusable personalization expression component referenced by ID across campaigns and journeys; changes to the fragment propagate automatically to all content referencing it. (product-specific)
- Implicit variables: Variables that extend the fragment functionality — input variables (declared in campaign/journey content, consumed inside the fragment) and output variables (declared inside the fragment, available in the surrounding message content). (product-specific)
- Input variable: A variable declared outside the fragment (in campaign or journey content) that the fragment can reference and use internally.
- Output variable: A variable declared or computed inside a fragment that becomes available for use in the surrounding message content after the fragment is called.
- Editable fields: Fragment variables exposed to allow the inserting user to override default values using
<fieldId>="<value>"syntax, without editing the fragment source. (product-specific) - Dynamic fragment resolution: The ability to resolve a fragment ID at runtime (based on profile attributes, dataset lookups, or context data) rather than embedding a static fragment ID at design time. (product-specific)
- Break inheritance: Using “Paste fragment” from the contextual menu copies the fragment’s content into the editor as a standalone element that no longer synchronizes with the original fragment. (product-specific)
Guardrails:
- Maximum 30 fragments can be added in a given delivery.
- Fragments can only be nested up to 1 level.
- A journey or campaign cannot be activated or published if it contains a fragment with Draft status; draft fragments must be approved before publication.
- Expression fragments cannot receive loop-scoped variables (the current
{{#each}}iteration item) as parameters — this is a known limitation. Use global variables or inline logic as a workaround. - If a fragment containing multiple line breaks is used in SMS or push content, line breaks are preserved; test the content before sending.
Terminology:
- Canonical name: expression fragment — variants: fragment, expression fragment
- Synonyms: “fragment ID” = the identifier used to reference the fragment in expressions
- Do not confuse: inserting a fragment by ID (referenced; changes propagate automatically to all content) ≠ breaking inheritance / paste fragment (content copied into editor; standalone element, no longer linked to original)
- Do not confuse: input variables (declared outside the fragment, consumed inside) ≠ output variables (declared inside the fragment, consumed outside in surrounding message content)
- Do not confuse: Draft fragment (can be added to content but blocks journey/campaign publication until approved) ≠ Live fragment (fully published; safe for active journeys and campaigns)
FAQ:
- Q: How many fragments can be added in a single delivery? — Up to 30 fragments.
- Q: Can fragments be nested inside other fragments? — Yes, but only up to 1 level of nesting.
- Q: What happens if I use a Draft fragment in a journey or campaign? — You can add a Draft fragment to content, but you cannot activate or publish the journey or campaign until the fragment is approved and its status changes to Live.
- Q: Can an expression fragment receive the current loop item (e.g.,
productin{{#each}}) as a parameter? — No. Expression fragments cannot receive loop-scoped variables as parameters. Use global variables declared outside the loop (which the fragment can access), or include the personalization logic directly within the loop instead of using a fragment. - Q: What is breaking inheritance and when should I use it? — Breaking inheritance means using “Paste fragment” from the contextual menu to copy the fragment’s content directly into the editor. The pasted content becomes a standalone element that no longer synchronizes with the original fragment — use this when you need to customize the content beyond what editable fields allow, knowing future changes to the original fragment will not propagate to this copy.