Show Menu
ARGOMENTI×

Utilizzo dell’editor di espressioni avanzate

L'editor di espressioni avanzate può essere utilizzato per creare condizioni che consentono di filtrare gli utenti durante i viaggi. Queste condizioni consentono di eseguire il targeting degli utenti in base all'ora, alla data, alla posizione, alla durata o ad azioni quali l'acquisto o l'abbandono dei carrelli in modo che possano essere riassegnati durante il viaggio.
Gli eventi iniziano con @, origini dati con #.

Creazione di condizioni per gli eventi di esperienza

L'editor di espressioni avanzate è obbligatorio per eseguire query sulle serie temporali, ad esempio un elenco di acquisti o clic passati sui messaggi. Tali query non possono essere eseguite utilizzando l'editor semplice.
Gli eventi esperienza vengono recuperati dal Adobe Experience Platform come raccolta in ordine cronologico inverso, di conseguenza:
  • la prima funzione restituirà l'evento più recente
  • last function restituirà quella più vecchia.
Ad esempio, supponiamo di voler indirizzare i clienti con un abbandono del carrello negli ultimi 7 giorni per inviare un messaggio quando il cliente si avvicina a un negozio, con un'offerta sugli articoli che voleva che fossero in negozio.
È necessario creare le seguenti condizioni:
Innanzitutto, eseguite il targeting dei clienti che hanno visitato lo store online ma non hanno completato l'ordine negli ultimi 7 giorni.
Questa espressione cerca tutti gli eventi per l'utente specificati negli ultimi 7 giorni:
Quindi seleziona tutti gli eventi addtocart che non si sono trasformati in un completePurchase.
Per inserire rapidamente i campi nell’espressione, fate doppio clic sul campo nel pannello sinistro dell’editor.
La marca temporale specificata funge da valore data e ora, la seconda da numero di giorni.
"
    In( "addToCart", #{ExperiencePlatformDataSource
    .ExperienceEventFieldGroup
    .experienceevent
    .all(
    inLastDays(currentDataPackField.timestamp, 7 ))
    .productData
    .productInteraction})
    
    AndNot(In( "completePurchase", #{Experience Platform DataSource
    .ExperienceEventFieldGroup
    
    
    
    
    
    
    .experienceEvent.all(inLastDays(currentDataPackField.timestamp, 7 )).productData.productInteraction})"

Questa espressione restituisce un valore booleano.
Ora costruiamo un'espressione controllando che il prodotto sia in magazzino
  • In Inventory, questa espressione cerca il campo quantità di un prodotto e specifica che deve essere maggiore di 0.
#{Inventory.fieldgroup3.quantity} > 0
  • A destra, i valori necessari sono specificati, qui, è necessario recuperare la posizione dello store, che è mappato dalla posizione dell'evento "ArriveLumaStudio":
#{ArriveLumaStudio._acpevangelists1.location.location}
  • E specificare SKU, utilizzando la funzione first per recuperare l'interazione "addToCart" più recente:
        #{ExperiencePlatformDataSource
                        .ExperienceEventFieldGroup
                        .experienceevent
                        .first(
                        currentDataPackField
                        .productData
                        .productInteraction == “addToCart”
                        )
                        .SKU}
    
    
Da qui puoi aggiungere un altro percorso nel tuo percorso per quando il prodotto non è in negozio e inviare le notifiche con l'offerta di partecipazione. Configura i messaggi di conseguenza e utilizza i dati di personalizzazione per migliorare la destinazione del messaggio.

Esempi di manipolazione di stringhe con l'editor di espressioni avanzate

In condizioni
Questa condizione recupera solo gli eventi geofence attivati in "Arlington":
"
    @{GeofenceEntry
    .placeContext
    .POIinteractive
    .POIDetail
    .name} == "Arlington"
    "

Spiegazione: Si tratta di un confronto stretto tra stringhe (con distinzione tra maiuscole e minuscole), che equivale a una query in modalità semplice utilizzata equal to con Is sensitive selezionata.
La stessa query con Is sensitive non selezionato genererà la seguente espressione in modalità avanzata:
"
    EqualIgnoreCase(@{GeofenceEntry
    .placeContext
    .POIinteractive
    .POIDetail
    .name}, "Arlington")
    
    "

In azioni
La seguente espressione consente di definire l'ID CRM in un campo di personalizzazione azione:
"
    substr(@{MobileAppLaunch
    ._myorganizzazione
    .Identification
    .crmid}, 1,
    lastIndexOf(@{MobileAppLaunch
    ._myorganizzazione
    .Identification
    .crmid}
    }
    )
    
    "

Spiegazione: In questo esempio vengono utilizzate substr e lastIndexOf funzioni per rimuovere le parentesi graffe che contengono l'ID CRM passato con un evento di avvio dell'app mobile.
Per ulteriori informazioni sull’utilizzo dell’editor di espressioni avanzate, guardate questo video .