Exemplos de expressão avançada

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.

NOTE
Eventos começam com @, fontes de dados com #.

Criação de condições em Eventos de experiência

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:

  • a primeira função retornará o evento mais recente
  • a última função retornará a mais antiga.

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.

NOTE
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

  • No Inventário, essa expressão procura o campo de quantidade de um produto e especifica que ele deve ser maior que 0.

#{Inventory.fieldgroup3.quantity} > 0

  • À direita, os valores necessários são especificados, aqui, precisamos recuperar o local do armazenamento, que é mapeado do local do evento "ArriveLumaStudio":

#{ArriveLumaStudio._acpevangelists1.location.location}

  • E especifique SKU, usando a função first para recuperar a interação mais recente "addToCart":

    code language-json
        #{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.

Exemplos de manipulações de cadeias de caracteres com o editor de expressão avançado

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.

recommendation-more-help
4f4a00c1-77c9-4eee-84df-bbe6206c3ab9