We have scenario where Datalayer page attributes values is populating as expected on page load , but with the server call eVar is showing as undefined. We followed the standard practice of capturing the value in data element and passing it to eVar.
Note: This works perfectly fine when we use _satellite.getVar in the console. What could be the issue here?
My first guess would be that it's a timing issue. Have you been able to confirm that the data layer key is populated before the analytics call fires? You might try changing the timing of the page load call/rule to a later option (Page Bottom? Window Loaded?).
This seems to be a timing issue. The eVar value is not present when the Launch rule fires but when the page load is complete probably eVar is firing at that time. Due to this _satellite.getVar s giving you the value in the console window. So, I will suggest you to please try changing the load order of your library at Page Bottom or on Windows Loaded.
Hopefully, that will resolve the issue.