Hjälpmedel gs-helpers
Standardvärde för reserv default-value
Hjälpprogrammet Default Fallback Value används för att returnera ett standardreservvärde om ett attribut är tomt eller null. Den här mekanismen fungerar för profilattribut och resthändelser.
Syntax
Hello {%=profile.personalEmail.name.firstName ?: "there" %}!
I det här exemplet visas värdet there om attributet firstName för den här profilen är tomt eller null.
Villkor if-function
Hjälpprogrammet if används för att definiera ett villkorsblock.
Om uttrycksutvärderingen returnerar true återges blocket, i annat fall hoppas det över.
Syntax
{%#if contains(profile.personalEmail.address, ".edu")%}
<a href="https://www.adobe.com/academia">Check out this link</a>
Efter hjälpen för if kan du ange en else-sats för att ange ett kodblock som ska köras, om samma villkor är falskt.
Programsatsen elseif anger ett nytt villkor som ska testas om den första programsatsen returnerar false.
Format
{
{
{%#if condition1%} element_1
{%else if condition2%} element_2
{%else%} default_element
{%/if%}
}
}
Exempel
-
Återge olika butikslänkar baserat på villkorsuttryck
code language-sql {%#if profile.homeAddress.countryCode = "FR"%} <a href="https://www.somedomain.com/fr">Consultez notre catalogue</a> {%else%} <a href="https://www.somedomain.com/en">Checkout our catalog</a> {%/if%} -
Fastställ e-postadresstillägg
code language-sql {%#if contains(profile.personalEmail.address, ".edu")%} <a href="https://www.adobe.com/academia">Checkout our page for Academia personals</a> {%else if contains(profile.personalEmail.address, ".org")%} <a href="https://www.adobe.com/orgs">Checkout our page for Non Profits</a> {%else%} <a href="https://www.adobe.com/users">Checkout our page</a> {%/if%} -
Lägg till en villkorlig länk
Följande åtgärd lägger till en länk till www.adobe.com/academia' webbplats för profiler med e-postadresserna .edu, till www.adobe.com/org' webbplats för profiler med e-postadresserna .org och standardwebbadressen www.adobe.com/users' för alla andra profiler:
code language-sql {%#if contains(profile.personalEmail.address, ".edu")%} <a href="https://www.adobe.com/academia">Checkout our page for Academia personals</a> {%else if contains(profile.personalEmail.address, ".org")%} <a href="https://www.adobe.com/orgs">Checkout our page for Non Profits</a> {%else%} <a href="https://www.adobe.com/users">Checkout our page</a> {%/if%} -
Villkorligt innehåll baserat på målgruppsmedlemskap
code language-sql {%#if profile.segmentMembership.get("ups").get("5fd513d7-d6cf-4ea2-856a-585150041a8b").status = "existing"%} Hi! Esteemed gold member. <a href="https://www.somedomain.com/gold">Checkout your exclusive perks </a> {%else if profile.segmentMembership.get("ups").get("5fd513d7-d6cf-4ea2-856a-585150041a8c").status = "existing"%} Hi! Esteemed silver member. <a href="https://www.somedomain.com/silver">Checkout your exclusive perks </a> {%/if%}
Om unless
Hjälpprogrammet unless används för att definiera ett villkorsblock. Om uttrycksutvärderingen returnerar false återges blocket som motsatt if-hjälpen.
Syntax
{%#unless unlessCondition%} element_1 {%else%} default_element {%/unless%}
Exempel
Återge innehåll baserat på e-postadresstillägg:
{%#unless endsWith(profile.personalEmail.address, ".edu")%}
Some Normal Content
{%else%}
Some edu specific content
{%/unless%}
Varje each
Hjälpprogrammet each används för att iterera över en array.
Den hjälpandes syntax är {{#each ArrayName}} YourContent {{/each}}
Vi kan referera till de enskilda arrayobjekten genom att använda nyckelordet this inuti blocket. Index för arrayelementet kan återges med {{@index}}.
Syntax
{{#each profile.productsInCart}}
<li>{{this.name}}</li>
{{/each}}
Exempel
{{#each profile.homeAddress.city}}
{{@index}} : {{this}}<br>
{{/each}}
Exempel
Visa en lista över produkter som den här användaren har i kundvagnen:
{{#each profile.products as |product|}}
<li>{{product.productName}} {{product.productRating}}</li>
{{/each}}
each för att iterera över arrayer som returneras från anpassade åtgärdssvar. Ett exempel på hur du itererar över kapslade arrayer från ett anpassat åtgärdssvar finns i Använda anpassade åtgärdssvar i inbyggda kanaler.Med with
Hjälpprogrammet with används för att ändra utvärderingstoken för malldel.
Syntax
{{#with profile.person.name}}
{{this.firstName}} {{this.lastName}}
{{/with}}
Hjälpprogrammet with är också användbart för att definiera en genvägsvariabel.
Exempel
Använd med för att skapa alias för långa variabelnamn för kortare:
{{#with profile.person.name as |name|}}
Hi {{name.firstName}} {{name.lastName}}!
Checkout our trending products for today!
{{/with}}
Låt let
Funktionen let tillåter att ett uttryck lagras som en variabel som kan användas senare i en fråga.
Syntax
{% let variable = expression %} {{variable}}
Exempel
I följande exempel kan du beräkna den totala summan av priserna för produkter i vagnen med priser mellan 100 och 1000.
{% let sum = 0%}
{{#each profile.productsInCart as |p|}}
{%#if p.price>100 and p.price<1000%}
{%let sum = sum + p.price %}
{%/if%}
{{/each}}
{{sum}}
Körningsmetadata execution-metadata
Hjälpprogrammet executionMetadata gör att du kan hämta och lagra anpassade nyckelvärdepar dynamiskt i meddelandekörningskontexten.
Syntax
{{executionMetadata key="your_key" value="your_value"}}
I den här syntaxen refererar key till metadatanamnet och value är de metadata som ska bevaras.
Användningsfall
Med den här funktionen kan ni lägga till sammanhangsbaserad information till alla inbyggda åtgärder från era kampanjer eller resor. På så sätt kan ni exportera sammanhangsbaserade data i realtid till externa system för olika syften, som spårning, analys, personalisering och nedladdning.
- Funktionen för körningsmetadata stöds inte av anpassade åtgärder.
- Funktionen Metadata för körning visas inte när själva innehållet visas.
Du kan till exempel använda hjälpen för metadata för körning för att lägga till ett specifikt ID för varje leverans som skickas till varje profil. Den här informationen genereras under körningen och de inbyggda körningsmetadata som sedan kan exporteras för avstämning i efterföljande led med en extern rapporteringsplattform.
Så här fungerar det
Välj ett element från ditt kanalinnehåll i en kampanj eller resa och lägg till executionMetadata-hjälpen i det här elementet med hjälp av anpassningsredigeraren.
Vid körning läggs metadatavärdet till i befintliga Message Feedback Event Dataset med följande schemaläggning:
"_experience": {
"customerJourneyManagement": {
"messageExecution": {
"metadata": {
"your_key": "your_value"
}
}
}
}
Begränsningar
Det finns en övre gräns på 2 kB för nyckelvärdepar per åtgärd. Om gränsen på 2 kB överskrids levereras meddelandet fortfarande, men något av nyckelvärdeparen kan trunkeras.
Metadata hämtas inte för profiler som är exkluderade från åtgärden. När en profil utesluts från att ta emot ett meddelande skapas ingen metadatapost för den profilen i datauppsättningen.
Exempel
{{executionMetadata key="firstName" value=profile.person.name.firstName}}
I det här exemplet är den resulterande entiteten profile.person.name.firstName = "Alex":
{
"key": "firstName",
"value": "Alex"
}
Kryptera url-parameter-encryption-helper
Med funktionen Encrypt kan du kryptera alla uttrycksvärden vid återgivningstiden, vanligtvis ett profilattribut, en token eller till och med en stringiserad JSON-struktur som du skapar i uttrycket, innan den skrivs till en frågeparameter på spårningslänkar eller landningssidor.
Värden som skulle visas som oformaterad text i URL:en (inklusive PII eller andra känsliga data) går inte att läsa när länken inspekteras eller vidarebefordras. Endast de värden som du omsluter med den här hjälpen krypteras. Resten av URL:en ändras inte.
Användningsfall
Den här hjälpen gör att du kan skydda känsliga profildata (PII) innan du inkluderar dem i återgivna utdata.
Förutsättning
En administratör måste skapa minst en aktiv nyckel i nyckelregistret på sandlådenivå. Lär dig skapa och hantera nycklar
Syntax
{{encrypt dataPath keyName="keyName" version="version" result="variableName"}}
Användning
Den här hjälpen krypterar känsliga data och lagrar resultatet i en mallvariabel.
Du kan använda hjälpen på en parameter, flera eller alla parametrar i en länk, beroende på URL-designen och längdbegränsningarna.
- Indata:
dataPath(datareferens som måste matchas till en sträng),keyName(krypteringsnyckelidentifierare),version(valfri nyckelversion),result(variabelnamn för krypterade utdata) - Utdata: Gör det krypterade värdet tillgängligt i den angivna
result-variabeln. - Resultatformat: Resultatvariabeln innehåller en punktavgränsad sträng:
keyName.version.nonce.authTag.cipherText(alla segment utomkeyNameochversionär URL-säkra Base64-kodade utan utfyllnad). - Statiska nyckelkrav:
keyNameochversionmåste vara statiska stränglitteraler (dynamiska referenser stöds inte). - Standardversion: Parametern
versionär valfri. Om den utelämnas tolkas standardversionen av krypteringsnyckeltjänsten
Exempel
{{encrypt profile.person.email keyName="email-key" version="1" result="enc"}}{{enc}}email-key.1.RkFrZU5vbmNlQUJD.T3V0cHV0QXV0aFRhZ0Fh.am9obkBleGFtcGxlLmNvbQ{{encrypt profile.person.name.firstName keyName="pii-key" version="2" result="encName"}}{{encName}}pii-key.2.U29tZVJhbmRvbUlW.QXV0aGVudGljYXRpb25UYQ.Sm9obgGuardrails
-
Dekrypteringen hanteras utanför Journey Optimizer på dina landningssidor, appar eller API:er. Planera nyckellivscykeln och rotationen med säkerhetsteamet så att historiska nyttolaster fortfarande kan dekrypteras där det behövs.
-
Återkallade nycklar får inte användas för ny kryptering. Följ din säkerhetspolicy för rotation och avveckling.
-
Krypteringsprocessen är resurskrävande och funktionen
Encryptkan påverka dataflödet vid återgivningstiden.