Utnyttja fragment i beslutspolicyer fragments
Beslutsobjekt har stöd för två typer av fragmentinnehåll som kan utnyttjas när meddelanden skapas i en beslutspolicy:
- Journey Optimizer-innehållsfragment - återanvändbara uttrycksfragment som skapats i Journey Optimizer och lagts till i beslutsobjektets Fragments -avsnitt. Läs mer om AJO innehållsfragment
- AEM Content Fragments - innehåll som har skapats i Adobe Experience Manager, mappats till beslutsobjektets attribut och valts i personaliseringsredigeraren efter nyckelnamn. Lär dig hur du knyter ett AEM Content Fragment till ett beslutsobjekt
Journey Optimizer Content fragments ajo-fragments
Om din beslutspolicy innehåller beslutsposter, inklusive AJO innehållsfragment, kan du utnyttja dessa fragment när du skapar ett meddelande inom beslutspolicyn i alla kanaler där beslut är tillgängligt (kodbaserad upplevelse, e-post, push, SMS och resor).
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 du lägger till fragment i ett beslutsobjekt.
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 mer om fragment som inte är tillgängliga för tillfälletAnvändning och skyddsräcken fragments-guardrails
Följande skyddsutkast gäller specifikt för AJO-innehållsfragment som används i beslutsobjekt.
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}}
-
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.
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.AEM Content Fragments aem-fragments-decisioning
Innan du använder AEM Content Fragments i en beslutspolicy bör du kontrollera att du har:
- Skapade ditt innehållsfragment i Adobe Experience Manager och taggade det med
ajo-enabled:{OrgId}/{SandboxName}så att det kan identifieras av Journey Optimizer. Lär dig hur du skapar och tilldelar en tagg - Kopplade fragmentet till avsnittet AEM Fragments i erbjudandeobjektet genom att tilldela det ett unikt referensnamn. Lär dig hur du knyter ett AEM Content Fragment till ett beslutsobjekt
I personaliseringsredigeraren är alla AEM Content Fragments som är kopplade till de beslutsobjekt som valts av policyn tillgängliga. En mapp visas per fragmentnyckelnamn.
I det här exemplet innehåller beslutspolicyn två beslutsposter som har AEM-fragment kopplade till sig via sitt referensnamn.
-
Klicka på plusknappen (+) för att lägga till det önskade fragmentet i uttrycket.
Eftersom ett enda referensnamn kan ha flera fragment kopplade till sig för olika erbjudandeartiklar, avgör beslut vilken som är bäst att leverera till varje kund utifrån beslutsprincipens rangordningsvillkor.
-
När fragmentet har valts kan du utnyttja dess attribut, till exempel bild-URL:er, textfält eller annat innehåll, och använda Beslutsfattning för att visa rätt innehåll för rätt kund vid rätt tidpunkt.
-
Innan du aktiverar kampanjen eller resan kan du använda Simulate content för att förhandsvisa hur fältvärden för AEM Content Fragment kommer att återges för en viss testprofil. Läs mer om hur du simulerar innehåll