O editor de expressão avançado pode ser usado para criar condições que permitem filtrar usuários em suas jornadas. Essas condições permitem direcionar os usuários no prazo, data, local, duração ou ações, como compra ou abandono de carrinhos, para que eles possam ser redirecionados na jornada.
Eventos começam com @, fontes de dados com #.
O editor de expressão avançado é obrigatório para executar consultas em séries de tempo, como uma lista de compras ou cliques anteriores em mensagens. Essas consultas não podem ser executadas usando o editor simples.
Os eventos de experiência são recuperados da Adobe Experience Platform como uma coleção em ordem cronológica inversa, portanto:
Por exemplo, digamos que você queira direcionar os clientes com um abandono de carrinho nos últimos 7 dias para enviar uma mensagem quando o cliente estiver chegando perto de uma loja, com uma oferta nos itens desejados que estão na loja.
Você precisa criar as seguintes condições:
Primeiro de tudo, clientes-alvo que navegaram na loja online, mas não finalizaram o pedido nos últimos sete dias.
Essa expressão procura todos os eventos para esse usuário especificados nos últimos 7 dias:
Em seguida, seleciona todos os eventos de adtocart que não se transformaram em uma completePurchase.
Para inserir campos na expressão rapidamente, clique duas vezes no campo no painel esquerdo do editor.
O carimbo de data e hora especificado está agindo como o valor de data e hora, o segundo é o número de dias.
in( "addToCart", #{ExperiencePlatformDataSource
.ExperienceEventFieldGroup
.experienceevent
.all(
inLastDays(currentDataPackField.timestamp, 7 ))
.productData
.productInteraction})
and
not(in( "completePurchase", #{ExperiencePlatformDataSource
.ExperienceEventFieldGroup
.experienceevent
.all(
inLastDays(currentDataPackField.timestamp, 7 ))
.productData
.productInteraction}))
Essa expressão retorna um valor booleano.
Agora vamos criar uma expressão verificando se o produto está em estoque
#{Inventory.fieldgroup3.quantity} > 0
#{ArriveLumaStudio._acpevangelists1.location.location}
E especifique SKU, usando a função first
para recuperar a interação mais recente "addToCart":
#{ExperiencePlatformDataSource
.ExperienceEventFieldGroup
.experienceevent
.first(
currentDataPackField
.productData
.productInteraction == "addToCart"
)
.SKU}
A partir daí, você pode adicionar outro caminho na jornada para quando o produto não estiver na loja e enviar uma notificação com oferta de engajamento. Configure as mensagens de acordo e use dados de personalização para aprimorar o público-alvo da mensagem.
Em condições
Essa condição recupera somente os eventos de geofence acionados em "Arlington":
@{GeofenceEntry
.placeContext
.POIinteraction
.POIDetail
.name} == "Arlington"
Explicação: é uma comparação de sequência estrita (diferencia maiúsculas de minúsculas), equivalente a uma consulta no modo simples que usa equal to
com Is sensitive
marcado.
A mesma consulta com Is sensitive
desmarcada gerará a seguinte expressão no modo avançado:
equalIgnoreCase(@{GeofenceEntry
.placeContext
.POIinteraction
.POIDetail
.name}, "Arlington")
Nas ações
A seguinte expressão permite definir a ID do CRM em um campo de personalização de ação:
substr(
@{MobileAppLaunch
._myorganization
.identification
.crmid},
1,
lastIndexOf(
@{MobileAppLaunch
._myorganization
.identification
.crmid},
'}'
)
)
Explicação: Este exemplo usa substr
e lastIndexOf
funções para remover chaves que delimitam a ID do CRM transmitida com um evento de inicialização de aplicativo para dispositivos móveis.
Para obter mais informações sobre como usar o editor de expressão avançado, assista este vídeo.