O editor de expressão Avançado pode ser usado para criar condições para permitir que você filtre usuários em suas jornadas. Essas condições permitem que você direcione aos usuários a hora, data, local, duração ou ações, como compra ou abandono de carrinhos, para que eles possam ser redirecionados na jornada.
Os 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 do 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 se aproximando de uma loja, com uma oferta sobre itens que queriam que estivessem na loja.
Você precisa criar as seguintes condições:
Primeiro, clientes-alvo que navegaram na loja online, mas não finalizaram o pedido nos últimos 7 dias.
Essa expressão procura todos os eventos para esse usuário especificados nos últimos 7 dias:
Em seguida, ele seleciona todos os eventos de addtocart que não foram transformados em 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 booleano.
Agora vamos criar uma expressão verificando se o produto está em estoque
#{Inventory.fieldgroup3.quantity} > 0
#{ArriveLumaStudio._acpevangelists1.location.location}
E especifique o SKU, usando a função first
para recuperar a interação "addToCart" mais recente:
#{ExperiencePlatformDataSource
.ExperienceEventFieldGroup
.experienceevent
.first(
currentDataPackField
.productData
.productInteraction == "addToCart"
)
.SKU}
A partir daí, é possível adicionar outro caminho na jornada para quando o produto não estiver na loja e enviar uma notificação com a oferta de envolvimento. Configure as mensagens adequadamente e use dados de personalização para aprimorar o público-alvo da mensagem.
Em condições
Essa condição recupera apenas os eventos de geofence acionados em "Arlington":
@{GeofenceEntry
.placeContext
.POIinteraction
.POIDetail
.name} == "Arlington"
Explicação: Esta é uma comparação rigorosa de sequência de caracteres (diferencia maiúsculas de minúsculas), equivalente a uma consulta no modo simples que usa equal to
com Is sensitive
verificado.
O mesmo query com Is sensitive
desmarcado gerará a seguinte expressão no modo avançado:
equalIgnoreCase(@{GeofenceEntry
.placeContext
.POIinteraction
.POIDetail
.name}, "Arlington")
Em 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: Esse exemplo usa substr
e lastIndexOf
para remover chaves que encerram a ID do CRM transmitida com um evento de inicialização de aplicativo móvel.
Para obter mais informações sobre como usar o editor de expressão avançado, assista este vídeo.