高级表达式编辑器可用于创建条件,以便在历程中筛选用户。 这些条件允许您根据时间、日期、位置、持续时间或操作(如购买或放弃购物)来定位用户,以便在历程中重新定位用户。
事件以@开头,数据源以#开头。
高级表达式编辑器对于对时间序列(如购买列表或对消息的过去点击)执行查询是强制性的。 无法使用简单编辑器执行此类查询。
体验事件是作为收藏集从Adobe Experience Platform中以时间顺序进行检索,因此:
例如,假设您想要定位过去7天内购物车放弃的客户,以便当客户接近商店时发送消息,并针对他们希望在商店中购买的项目提供选件。
您需要构建以下条件:
首先,定位那些浏览了在线商店但在过去7天内未完成订单的客户。
此表达式会查找此用户在过去7天内指定的所有事件:
然后,选择所有未转换为completePurchase的addtocart事件。
要在表达式中快速插入字段,请双击编辑器左侧面板中的字段。
指定的时间戳将用作日期时间值,第二个是天数。
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}))
此表达式返回一个布尔值。
现在,让我们构建一个检查产品是否有现货的表达式
#{Inventory.fieldgroup3.quantity} > 0
#{ArriveLumaStudio._acpevangelists1.location.location}
然后,使用函数指定SKU first
要检索最近的“addToCart”交互,请执行以下操作:
#{ExperiencePlatformDataSource
.ExperienceEventFieldGroup
.experienceevent
.first(
currentDataPackField
.productData
.productInteraction == "addToCart"
)
.SKU}
从此处,您可以在历程中为(当产品不在商店时)添加其他路径,并通过参与选件发送通知。 相应地配置消息,并使用个性化数据来增强消息目标。
条件
此条件仅检索在“Arlington”中触发的地理围栏事件:
@{GeofenceEntry
.placeContext
.POIinteraction
.POIDetail
.name} == "Arlington"
解释:这是严格的字符串比较(区分大小写),等同于使用 equal to
with Is sensitive
选中。
同一查询 Is sensitive
取消选中后,将在高级模式下生成以下表达式:
equalIgnoreCase(@{GeofenceEntry
.placeContext
.POIinteraction
.POIDetail
.name}, "Arlington")
操作
以下表达式允许您在操作个性化字段中定义CRM ID:
substr(
@{MobileAppLaunch
._myorganization
.identification
.crmid},
1,
lastIndexOf(
@{MobileAppLaunch
._myorganization
.identification
.crmid},
'}'
)
)
解释:此示例使用 substr
和 lastIndexOf
用于删除与移动设备应用程序启动事件一起传递的CRM ID周围大括号的函数。
有关如何使用高级表达式编辑器的更多信息,请观看 此视频.