Utnyttja fragment i beslutspolicyer fragments

Om din beslutspolicy innehåller beslutsobjekt, inklusive fragment, kan du utnyttja dessa fragment när du skapar ett meddelande, inom beslutspolicyn. Läs mer om fragment

AVAILABILITY
Den här funktionen är tillgänglig för kanalerna Kodbaserad upplevelse och E-post.

Anta till exempel att du vill visa olika innehåll för flera mobila enhetsmodeller. Lägg till de angivna fragmenten, som gäller olika telefonmodeller, i beslutsobjektet som du använder i beslutsprincipen. Lär dig hur.

Fragmentavsnitt i ett beslutsobjekt som visar fragmentreferenser och placeringsnycklar. {width="70%"}

När du är klar kan du använda någon av följande metoder:

Infoga koden direkt

Kopiera och klistra in kodblocket nedan i beslutspolicykoden. Ersätt variable med fragment-ID och placement med fragmentreferensnyckeln:

code language-handlebars
{% let variable =  get(item._experience.decisioning.offeritem.contentReferencesMap, "placement").id %}
{{fragment id = variable required=false}}
Följ de detaljerade stegen
  1. Navigera till Helper functions och lägg till funktionen {% let variable = expression %} {{variable}} i kodfönstret, där du kan deklarera variabeln för fragmentet.

    Kodredigeraren för beslutspolicy visar hjälpfunktionen Låt ha lagts till i kodfönstret.

  2. Använd funktionen Karta > Hämta {%= get(map, string) %} för att skapa ditt uttryck. Kartan är det fragment som refereras i beslutsobjektet. Strängen kan vara den enhetsmodell som du angav i beslutsobjektet som Fragment reference key.

    Karta- och Hämta-funktioner som används för att referera till fragmentmappningen och fragmentreferensnyckeln.

  3. Du kan också använda ett kontextuellt attribut som skulle innehålla detta enhetsmodell-ID.

    Kontextattribut har valts för enhetsmodellens identifierare.

  4. Lägg till variabeln som du valde för fragmentet som fragment-ID.

    Variabeln Fragment-ID har angetts från beslutsobjektet i beslutsprincipkoden.

Fragment-ID och referensnyckel väljs från beslutsobjektets Fragments-avsnitt.

WARNING
Om fragmentnyckeln är felaktig eller om fragmentinnehållet inte är giltigt, kan återgivningen misslyckas och orsaka ett fel i Edge-anropet.
För att undvika fel när ett fragment inte är tillgängligt för tillfället används flaggan required=false så att fragmentet hoppas över i stället. Läs mer

Användning och skyddsräcken fragments-guardrails

Simulera innehålls- och uttrycksfragment i e-postmeddelanden simulate-content-expression-fragments

För kanalen Email visas uttrycksfragment som är kopplade till ett beslutsobjekt korrekt när du Send proof eller när kampanjen aktiveras. Simulate content visar dock inte uttrycksfragmentet från beslutsobjektet.

Visuella fragment och beslutsobjekt i e-post visual-fragments-decision-items

Du kan inte tilldela ett Visual fragment till ett beslutsobjekt. Endast uttrycksfragment stöds i den här kontexten.

Beslutsobjekt och kontextattribut decision-item-context-attributes

Attribut för beslutsobjekt och sammanhangsbaserade attribut stöds inte som standard i Journey Optimizer-fragment. Du kan emellertid använda globala variabler i stället, som beskrivs nedan.

Säg att du vill använda variabeln sport i ditt fragment.

  1. Referera den här variabeln i fragmentet, till exempel:

    code language-text
    Elevate your practice with new {{sport}} gear!
    
  2. Definiera variabeln med funktionen Let i beslutsprincipblocket. I exemplet nedan definieras sport med attributet för beslutsobjekt:

    code language-handlebars
    {#each decisionPolicy.13e1d23d-b8a7-4f71-a32e-d833c51361e0.items as |item|}}
    {% let sport = item._cjmstage.value %}
    {{fragment id = get(item._experience.decisioning.offeritem.contentReferencesMap, "placement1").id }}
    {{/each}}
    

Innehållsvalidering av fragmentinnehåll för beslutsobjekt fragment-content-validation

  • På grund av den dynamiska karaktären hos dessa fragment hoppas meddelandevalidering under skapandet av kampanjinnehåll över för fragment som refereras i beslutsobjekt när de används i en kampanj.

  • Valideringen av fragmentinnehållet sker bara när fragmenten skapas och publiceras.

  • För uttrycksfragment av JSON-typ valideras innehållet syntaktiskt när fragmentet sparas. Valideringsfel visas som varningar.

Vid körning valideras kampanjinnehållet (inklusive fragmentinnehåll från beslutsobjekt). Om valideringen misslyckas återges inte kampanjen.

Fragment som inte är tillgängliga för tillfället hoppas över temporary-unavailable-fragments

När resor eller kampanjer refererar till referensfragment kopplade till beslutsobjekt kan det uppstå korta synkroniseringsfördröjningar innan uppdaterade fragment är tillgängliga på Edge.

För att undvika fel när ett fragment inte är tillgängligt för tillfället har fragment nu flaggan required inställd på false som standard så att de hoppas över i stället för att få resan eller kampanjen att misslyckas.

Det innebär att om fragmentet inte är tillgängligt för tillfället på Edge ignoreras det helt enkelt. Om fragmentet är tillgängligt återges det normalt.

Exempel

Om er beslutspolicy kvalificerar sig för två erbjudanden och var och en har ett fragment - till exempel"20 % rabatt" och"30 % rabatt" - och det andra fragmentet är tillfälligt otillgängligt, med required=false, återger systemet det tillgängliga erbjudandet (20 % rabatt) och hoppar över det andra fragmentet (30 % rabatt) i stället för att misslyckas med resan eller kampanjen. Detta förbättrar tillförlitligheten när innehållet fortfarande synkroniseras.

NOTE
Du kan fortfarande markera ett fragment som obligatoriskt genom att ange flaggan required till true. Om ett fragment tillfälligt saknas kan det dock få resan eller kampanjåtergivningen att misslyckas.
recommendation-more-help
journey-optimizer-help