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
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.
När du är klar kan du använda någon av följande metoder:
Kopiera och klistra in kodblocket nedan i beslutspolicykoden. Ersätt variable med fragment-ID och placement med fragmentreferensnyckeln:
| code language-handlebars |
|---|
|
-
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.
-
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.
-
Du kan också använda ett kontextuellt attribut som skulle innehålla detta enhetsmodell-ID.
-
Lägg till variabeln som du valde för fragmentet som fragment-ID.
Fragment-ID och referensnyckel väljs från beslutsobjektets Fragments-avsnitt.
required=false så att fragmentet hoppas över i stället. Läs merAnvä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.
-
Referera den här variabeln i fragmentet, till exempel:
code language-text Elevate your practice with new {{sport}} gear! -
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.
required till true. Om ett fragment tillfälligt saknas kan det dock få resan eller kampanjåtergivningen att misslyckas.