Expand my Community achievements bar.

SOLVED

OOTB XDM variables are not working as conditions in Processing Rules

Avatar

Level 5

Hello Folks! I am facing a weird issue. Have implemented Web SDK to capture AA data. I am using processing rules to populate many eVars and props. But to my surprise none of processing rules were firing and all my custom variables had no data. I found that an overall condition ("implementationDetails.version" which is an OOTB XDM value) for the processing rules, did not meet and hence no rules fired. I tried with "web.webPageDetails.name", same result. I change the processing rule condition to a custom XDM value that I defined and they seem to be working fine.

My hypothesis here is the variables which are automatically mapped to AA which are defined here - https://experienceleague.adobe.com/docs/experience-platform/edge/data-collection/adobe-analytics/aut... is not available in processing rules. (But in the documentation it is not mentioned and in fact some examples use these). Anyone else facing this issue or any workarounds here? TIA!

1 Accepted Solution

Avatar

Correct answer by
Community Advisor

@pradeep_nextrow shouldn't you be mapping from the 2nd column in the table at https://adobe.ly/3Ira5zD?

So in your screenshot, instead of using "a.x.media.mediaTimed.starts.value", you should be using "c.a.media.view". Note: I don't use Adobe Video Analytics, so I am unsure if this will solve your problem. So the above is based on my understanding of the mapping in that help page's table.

View solution in original post

16 Replies

Avatar

Community Advisor

Are you prefixing your XDM variables with "a.x...."?

The following works for me:

yuhuisg_0-1642761428392.png

 

Avatar

Level 5

Yes, I am using "a.x". In fact the eventtype was working for me as well. But this is not passed in all my alloy.js calls. Since I want the processing rules to fire only for alloy.js calls. So wanted to use "a.x.implementationDetails.version". But the condition is not met. Tried with "a.x.web.webPageDetails.name" that was not met as well.

Avatar

Community Advisor

One thing that you can do is to use the Adobe Debugger to verify your assumptions.

Sign into the Adobe Debugger and toggle to your appropriate organisation. Then, in Logs > Edge, enable logging by clicking "Connect". Now, when you send Web SDK events, you should see logs for Adobe Analytics. You can then see what are the fields that Adobe Analytics is receiving. Then you can use whatever is listed there in your Processing Rules.

Here's an example of what I get from a single Web SDK event:

Screenshot 2022-01-21 at 11.33.45 PM.png

I don't see "implementationDetails" in the list of "c.a.x...." parameters, so I won't be able to use that in Processing Rules.

For reference, this was the Web SDK event that resulted in that AA hit (you can see the matching "_id" parameter value in both screenshots):

yuhuisg_1-1642779742839.png

 

Avatar

Level 5

Thanks! Just did that too and surprised that I cannot use many XDM variables in processing rules. The documentations say I can map the value coming in XDM to eVars and props using processing rules. Is this understanding right.

Avatar

Employee Advisor

@pradeep_nextrow and @yuhuisg ,

Triple-confirmed! I see implementationDetails in my interact call, but not in the call sent from Edge to Analytics. I'm asking around, but can you open a client care ticket for this @pradeep_nextrow ?

Avatar

Level 5

@dwright Thanks for checking! I am creating a ticket today and will send you the reference number!

Avatar

Community Advisor

@pradeep_nextrow instead of struggling to run the Processing Rules with the XDM variables directly, how about running those Rules with the mapped Analytics variables instead?

E.g. instead of using "c.a.x.web.webPageDetails.name", use "Page" instead, since AA would have auto-mapped from "web.webPageDetails.name" to "Page" already. That's what I do.

Avatar

Level 5

@yuhuisg I am exactly doing this for page names now. But in documentations, I saw XDM variables directly referenced with "a.x". I will find those links and paste it here. My understanding was the entire XDM is available, but looks like it is not. The documentation needs to be updated for this (if this is a feature). Thanks a lot for insights.

Avatar

Employee Advisor

That seems odd. "implementationDetails.name" is just the version of the alloy.js library, so that should always be present. How did you conclude that the condition "did not meet"? What debugging process were you using to come to that conclusion? Do you see that XDM value passed in the page call?

Avatar

Level 5

@dwright I used real-time reports for validation. Let me shoot a quick video and post it here. I setup a processing rule "If a.x.implementationDetails.version exists, then populate prop5 to some value". Then, monitored the result in Real-time reports. This setup was not populating any numbers. Then if I remove the condition, real-time reports populate data for prop5. I replaced the condition with "web.webpageDetails.name", then similar problem occurred (no data in real-time reports).

The primary reason I ended up doing this experiment is, I was doing AppMeasurement to WebSDK migration for a big client and no data was populating in AA after 3 days of setting up processing rules.

Avatar

Level 5

@dwrightI have created a client care ticket on this. Let me know if you need the ticket ID. It would be great if we can expedite and bring some clarity as we are doing a big ticket migration from AppMeasurement to WebSDK. This success will help us migrate a family of 70+ sites to Web SDK.

Avatar

Employee Advisor

@pradeep_nextrow , what I heard is that the implementationDetails.version is automated mapped to Code Version. I've asked for that to be added to our documentation of the auto-mapped variables. Also, the auto-mapped variables (with the exception of ECID and product details) are not available in processing rules to manage payload sizes. If you feel like implementationDetails.version (or any of these other auto-mapped variables) should be available in processing rules, please be sure to put that in your CC ticket. And sure, please send me the ticket # and I can make sure the people I was speaking too are aware.

Thanks for catching this and sharing your concern!

Avatar

Level 5

@yuhuisg @dwright I just sent up a simple processing rule without any condition: 

pradeep_nextrow_0-1642788712057.png

I was not able to see event14 fire in the Real-time reports. I am using "media" Mix-in (Field Group) to capture video related data. Even though it gets mapped automatically to video reporting inside AA, I want to fire custom events based on this. So if I use processing rules for that, it is not working. So the question is are the variables listed here - https://adobe.ly/3Ira5zD are not available in processing rules? (as these are auto mapped?).

If that is the case, it defeats the very purpose of using standard Mix-ins (field groups) as I will not be able to copy the values as per my wish into AA.

Avatar

Correct answer by
Community Advisor

@pradeep_nextrow shouldn't you be mapping from the 2nd column in the table at https://adobe.ly/3Ira5zD?

So in your screenshot, instead of using "a.x.media.mediaTimed.starts.value", you should be using "c.a.media.view". Note: I don't use Adobe Video Analytics, so I am unsure if this will solve your problem. So the above is based on my understanding of the mapping in that help page's table.

Avatar

Level 5

@yuhuisg Sure! I am going to try this today and will keep this thread posted!

Avatar

Level 5

@yuhuisgThis approach works good. But still we are not able to copy many ootb XDM varaibles (which are not listed in the documentation https://adobe.ly/3Ira5zD) like impelementationDetails, browser.width into eVars and props. Also I noticed that some inconsistencies in the "Media Interaction Details" XDM Field Group documentation and what is available in AEP UI. Will create a separate thread on this.