Verwenden dynamischer Fragmente dynamic-fragments

Auf dieser Seite Erfahren Sie, wie Sie mithilfe der dynamischen Fragmentauflösung in Adobe Journey Optimizer festlegen können, welches veröffentlichte Fragment zur Laufzeit in eine Nachricht eingefügt wird. Dies erfolgt auf der Grundlage von Profilattributen, Datensatzsuchen oder Kontextdaten, die zum Sendezeitpunkt übergeben werden.

Adobe Journey Optimizer unterstützt dynamische Fragmentauflösung zur Laufzeit. Damit können Sie anhand von Profilattributen, Datensatzsuchen oder Kontextdaten, die zum Sendezeitpunkt übergeben werden, auswählen, welches veröffentlichte Fragment in eine Nachricht eingefügt wird. Dies ermöglicht hochgradig personalisierte Inhalte ohne Duplizierung der Kampagnen- oder Journey-Logik.

Überblick overview

Statische Fragmente werden zur Entwurfszeit in eine Nachricht eingebettet. Für jeden Empfänger wird dasselbe Fragment verwendet. Dynamische Fragmente lösen die Fragment-ID zur Laufzeit pro Empfänger auf. Das bedeutet, dass verschiedene Profile innerhalb derselben Kampagne oder Journey völlig unterschiedliche Inhaltsbausteine erhalten können.

Dynamische Fragment-IDs können aus drei Quellen stammen:

  • Eine Datensatzsuche - z. B. ein nach Stil oder Produkt verschlüsselter Recommendations-Datensatz
  • Ein Profilattribut, das in Adobe Experience Platform gespeichert ist
  • Kontextdaten werden zum Sendezeitpunkt direkt in der API-Anfrage übergeben.
NOTE
Die Verwendung der Hilfsfunktion datasetLookup in Ausdrucksfragmenten ist derzeit für eine begrenzte Anzahl von Kundinnen und Kunden verfügbar. Um Zugriff zu erhalten, wenden Sie sich an den Adobe-Support.

Voraussetzungen prerequisites

Stellen Sie vor der Verwendung dynamischer Fragmente Folgendes sicher:

  • Sie verfügen über die erforderlichen Berechtigungen, um Fragmente in Journey Optimizer zu erstellen und zu veröffentlichen. Weitere Informationen
  • Das Fragment, auf das Sie verweisen möchten ist "" (Status: Live). Entwurfsfragmente können nicht zur Laufzeit aufgelöst werden.
  • Wenn die Fragment-ID aus einem Datensatz aufgelöst wird, enthält das Datensatzschema ein Feld, in dem die Fragment-ID gespeichert wird, und der Datensatz wird für die Suche aktiviert.
  • Alle Profilattribute, auf die das dynamische Fragment selbst verweist, sind im Nachrichtenexportpfad enthalten oder zum Sendezeitpunkt im Profil verfügbar.
CAUTION
Fragmentbezogene Validierungen werden im dynamischen Fragmentfluss übersprungen. Ungültige Fragment-IDs werden als Fehler bei der Laufzeitbereitstellung und nicht als Validierungsfehler im Vorfeld angezeigt. Überprüfen Sie vor der Aktivierung einer Kampagne immer, ob die referenzierten Fragment-IDs gültig und veröffentlicht sind.

Schritt 1: Fragment erstellen und veröffentlichen create-fragment

Bevor ein Fragment dynamisch referenziert werden kann, muss es in Journey Optimizer veröffentlicht werden.

  1. Navigieren Sie in Journey Optimizer zu Content- > Fragmente.

  2. Wählen Sie Fragment erstellen aus und erstellen Sie den Inhalt. Erfahren Sie, wie Sie Fragmente erstellen

  3. Wenn der Inhalt fertig ist, klicken Sie auf "". Die Veröffentlichung erfolgt asynchron und kann einige Sekunden dauern. Vergewissern Sie sich, dass der Fragmentstatus zu Live wechselt, bevor Sie fortfahren.

  4. Beachten Sie die Fragment-ID in der Detailansicht des Fragments oder in der Fragments-API-Antwort. Sie werden in der Nachricht auf diese ID verweisen.

NOTE
Sie können alle veröffentlichten Fragment-IDs programmgesteuert über die GET /fragments-API abrufen. Weitere Informationen finden Sie in der Dokumentation zu den Journey OptimizerAPIs .

Schritt 2: Verfassen Sie die Nachricht mit einem dynamischen Fragmentverweis author-message

Fügen Sie im Personalisierungseditor den Platzhalter für dynamische Fragmente mit der folgenden Syntax ein:

{{fragment id=dynamic_fragment_id}}

Die Kennung dynamic_fragment_id ist ein Variablenname. Der Wert muss aufgelöst werden, bevor die Fragmentsuche erfolgt. Sie können sie mithilfe eines Datensatzsuchausdrucks, eines Profilattributs oder Kontextdaten auflösen.

Auflösen über eine Datensatzsuche resolve-from-dataset

Wenn die Fragment-ID in einem AEP-Datensatz gespeichert ist (z. B. in einer Zuordnungstabelle zwischen Stil und Fragment), verwenden Sie die datasetLookup Hilfsfunktion, um sie aufzulösen:

{{
  {datasetLookup datasetId="<your-dataset-id>" key=profile.style attribute="fragmentId"}
}}

{{fragment id=dynamic_fragment_id}}

In diesem Beispiel enthält der Datensatz Zeilen, die durch einen Stilwert (z. B. style1) verschlüsselt wurden. Für ein bestimmtes Profil ruft die Suche den entsprechenden Wert der fragmentId Spalte ab und weist ihn dynamic_fragment_id zu, die dann zum Auflösen des Fragments verwendet wird.

NOTE
Die Verwendung der Hilfsfunktion datasetLookup in Ausdrucksfragmenten ist derzeit für eine begrenzte Anzahl von Kundinnen und Kunden verfügbar. Um Zugriff zu erhalten, wenden Sie sich an den Adobe-Support. Weitere Informationen zur Datensatzsuche in der Personalisierung finden Sie unter Verwenden von Adobe Experience Platform-Daten.

Aus Kontextdaten auflösen resolve-from-context

Wenn die Fragment-ID zum Zeitpunkt des Versands als Teil des API-Anfragekontexts angegeben wird, verweisen Sie mithilfe des context-Namespace darauf:

{{fragment id=context.audiencePayload.fragmentId}}

Der context.audiencePayload ist das erforderliche Präfix für alle Attribute, die aus einer CSV-Zielgruppendatei stammen oder über den API-Anfragekontext übergeben werden. Der Spaltenname aus der CSV-Datei (z. B. fragmentId) folgt dem Präfix .

Aus einem Profilattribut auflösen resolve-from-profile

Wenn die Fragment-ID in Adobe Experience Platform als Profilattribut gespeichert ist, verweisen Sie direkt darauf:

{{fragment id=profile.mi.fragmentId}}

Schritt 3: Konfigurieren Sie Ihren Datensatz für den Suchansatz configure-dataset

Wenn Sie den Ansatz der Datensatzsuche verwenden, aktualisieren Sie Ihr Datensatzschema und Ihre Daten, um die Fragment-ID zu übernehmen.

  1. Fügen Sie in Ihren Recommendations- oder Zuordnungsdatensätzen eine Spalte (z. B. fragmentId) hinzu, in der die veröffentlichte AJO-Fragment-ID für jede Zeile gespeichert ist.

  2. Füllen Sie für jeden Stil bzw. jede Variante (z. B. style1, style2) die Spalte fragmentId mit der entsprechenden Fragment-ID aus.

  3. Stellen Sie sicher, dass der Datensatz in Adobe Experience Platform aufgenommen und für die Suche aktiviert wird.

  4. Vergewissern Sie sich, dass alle Profilattribute, auf die im dynamischen Fragment verwiesen wird, in der Nachricht oder in einem statischen Fragment erfasst werden, um ein leeres Rendering zur Exportzeit zu verhindern.

Beispiel für eine Datensatzstruktur:

Spalte
Beispielwert
Stil
style1
fragmentId
<fragment-id-1>
Stil
style2
fragmentId
<fragment-id-2>

Schritt 4: Kontextdaten zum Sendezeitpunkt übergeben pass-context-data

Wenn Sie die Fragment-ID aus Kontextdaten auflösen (z. B. aus einer CSV-Zielgruppenempfehlungsdatei), übergeben Sie die Fragment-ID in der API-Anfrage unter dem erforderlichen Kontextpräfix.

Fügen Sie bei Verwendung der Kampagnen-Proofing-API die Fragment-ID in das context ein:

{
  "recipients": [
    {
      "userId": "<profile-email>",
      "namespace": "email"
    }
  ],
  "inChannelData": {
    "channel": "email",
    "emailAddresses": ["<delivery-address>"]
  },
  "context": {
    "audiencePayload": {
      "fragmentId": "<published-fragment-id>",
      "systemSource": "<optional-system-value>"
    }
  }
}

Das Präfix context.audiencePayload ist erforderlich. Attribute, die unter diesem Schlüssel verschachtelt sind, werden beim Ausführen der Live-Kampagne direkt den Spalten in der CSV-Zielgruppendatei zugeordnet.

Schritt 5: Testen und Validieren proof-validate

Bevor Sie die Kampagne aktivieren, verwenden Sie die Proofing-API von Campaign , um zu überprüfen, ob das dynamische Fragment korrekt aufgelöst wird und ob die gerenderte E-Mail-Ausgabe wie erwartet aussieht.

  1. Erstellen Sie einen Trigger für einen Korrekturabzugsauftrag mithilfe des POST /campaigns/{id}/proofs-Endpunkts. Übergeben Sie in der Testversand-Anfrage unter context.audiencePayload.fragmentId die Fragment-ID, die Sie testen möchten.

  2. Fragen Sie den Status des Korrekturabzugsvorgangs mit dem GET /campaigns/{id}/proofs/{proofId}-Endpunkt ab, bis der Status Submitted oder Failed ist.

  3. Überprüfen Sie die zugestellte E-Mail, um sicherzustellen, dass der richtige Fragmentinhalt gerendert wird.

  4. Wenn der Fragmentinhalt fehlt oder falsch ist, stellen Sie sicher, dass die Fragment-ID gültig ist, das Fragment veröffentlicht wird und alle erforderlichen Profilattribute vorhanden sind.

Weitere Informationen zur Campaign-API finden Sie in der Dokumentation zu Journey Optimizer-APIs.

Leitlinien und Einschränkungen guardrails

CAUTION
OLAC (Object-Level Access Control) wird für Fragmente im dynamischen Fragmentmodell nicht erzwungen. Stellen Sie sicher, dass Ihre Zugriffskontrollanforderungen auf Kampagnen- und Zielgruppenebene berücksichtigt werden.

Die folgenden Einschränkungen gelten für die Verwendung dynamischer Fragmente:

  • Profilattributabdeckung zur Exportzeit: Das Fragment wird zur Laufzeit pro Profil ausgewählt. Die für das dynamische Fragment erforderlichen Profilattribute sind nicht im Voraus bekannt. Wenn das dynamische Fragment auf ein Profilattribut angewiesen ist, das nicht in der ursprünglichen Nachricht oder in einem statischen Fragment vorhanden war, auf das in der Nachricht verwiesen wird, kann dieses Feld im Exportpfad leer gerendert werden.

  • Keine vorherige Fragmentvalidierung: Fragmentbezogene Validierungen werden in diesem Fluss übersprungen. Falsche oder nicht veröffentlichte Fragment-IDs werden in der Benutzeroberfläche als Laufzeitbereitstellungsfehler anstatt als Validierungsfehler angezeigt.

  • Schemaänderung erforderlich für den Datensatzansatz: Für die Verwendung des Pfads „Lookup-by-ID“ muss das Datensatzschema aktualisiert werden, um die Fragment-ID zu speichern und zu übergeben. Außerdem müssen die erforderlichen Sanitärinstallationen vorhanden sein, um diese in die Nachrichten-Pipeline einzuspeisen.

  • Attributerfassung für den Export: Stellen Sie sicher, dass alle im dynamischen Fragment verwendeten Attribute in der Nachricht oder in statischen Fragmenten erfasst werden, um ein leeres Rendering im Exportpfad zu verhindern.

Weitere Leitlinien für Fragmente finden Sie in diesem Abschnitt.

Umgang mit Fehlern error-handling

Wenn ein dynamisches Fragment zur Laufzeit nicht aufgelöst werden kann, wird ein Ausschlussereignis für das betroffene Profil generiert. Derzeit werden alle Fehler beim Rendern von Fragmenten als ein einziger allgemeiner Fehlertyp kategorisiert.

So debuggen Sie Fehler bei der Fragmentauflösung:

  1. Prüfen Sie die Versandberichte der Kampagne auf Ausschlussereignisse.
  2. Überprüfen Sie, ob die zur Laufzeit übergebene Fragment-ID mit einem veröffentlichten Fragment übereinstimmt.
  3. Vergewissern Sie sich, dass alle für das Fragment erforderlichen Profilattribute zum Sendezeitpunkt im Profil vorhanden sind.
  4. Verwenden Sie die Proofing-API um bestimmte Fragment-IDs zu testen, bevor Sie die Kampagne aktivieren.
recommendation-more-help
journey-optimizer-help