Expand my Community achievements bar.

Launch: WebSDK, XDM Variable and Update Variable setup not working as expected

Avatar

Level 5

Hey gang,

 

I have a question about the "correct" way of using the WebSDK's "Variable" data type, using the Adobe Client Data Layer as data layer to trigger rules.

 

My current setup is not working reliably i.e., it works maybe 4/5 times.

 

Property Settings

  • "Run rule components in sequence" is checked

 

Data Elements

* "XDM Global": Type WebSDK "Variable" with my standard Experience Event schema behind it

 

Rules

  • "ACDL all events"
    • fires on all ACDL pushed, order 1
    • resets the complete XDM Variable, sets commonly used data e.g., eVars in the _experience.analytics.customDimensions section
  • "cmp:show handler - Analytics page view tracking"
    • reacts to AEM core components "cmp:show" i.e., page view pushes to the ACDL
    • Calls WebSDK's "Update Variable" action to set page-view-specific information
    • performs a WebSDK sendEvent with type "Web Webpagedetails Page Views"

So far, so good. With debugger enabled, the "ACDL all events" is always executed.

However, when I reload 5-6 times, sometimes only the page-view-related updates are present, and the common/global eVars are missing.

 

No idea why that is, but it is not working as expected, at least not for me.

 

Meanwhile, I have come along Jim Gordon's youtube video, explaining his approach https://www.youtube.com/watch?v=PdV8c2lmd-0 , using 

  1. one standard global XDM object with the common settings
  2. one WebSDK Variable object that is on a rule-base level
  3. one DataElement that merges 1. and 2. and is used in WebSDK sendEvents

This approach works fine, but uses three instead of a single Data Element.

 

So, I am wondering if I am missing something or got the XDM Variable concept wrong. I mean, if the rules are executed in sequence, the update of the XDM Variable on ACDL push should work as expected as well or not?

 

Cheers

Björn

 

Side note: the one disadvantage I am seeing in my approach is the constant resset/reevaluation of the Variable on every ACDL push. When you are having a ton of AEM core components on the page, this may be a performance aspect.

 

0 Replies