Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
Bedrock Mission!

Learn more

View all

Sign in to view all badges

Satellite.getVar change

Locutus243
Level 3
Level 3

Since the most recent update to the Core and Adobe Analytics extensions has anybody noticed some differences in behaviour in the satellite.getVar function?

We were using it in a couple of data elements and it doesn't seem to be working correctly...but if I replace that line in our custom code with the relevant javascript string then it seems to work ok.

Wondered if anybody else had encountered such an issue?

0 Replies
ursboller
Community Advisor
Community Advisor

you mean that the getVar doesn't return the correct data? and it is not a timing issue?

Locutus243
Level 3
Level 3

It's not returning a value...and I don't think it's a timing issue. I've been trying to debug using console logs. Maybe I can explain...

Into a data element we pass event.target to define what has been clicked. We then in another element call what has been clicked..e.g. _satellite.getVar("Clicked")

To check what is being returned, in that second data element I've added console.log(_satellite.getVar("Clicked") and it returns a null value.

But then directly after I add console.log(event.target) and this value comes through fine.

That's what leading me to believe it is something wrong with the _satellite.getVar function.

ursboller
Community Advisor
Community Advisor

maybe there's something wrong how you pass the event to the dataElement? what code do you use to pass the event to the dataElement?

Locutus243
Level 3
Level 3

It's as simple as:

-------------------------------------------------

    var closest = event.target.closest("[data-track]");

    if (closest !== null) {

      return closest.dataset.track;

    }

    if (closest.parentElement.dataset.track !== null) {

      return closest.parentElement.dataset.track;

    }

  }

-------------------------------------------------

But this effectively drives our rules. So I know the data element is working...otherwise our rules wouldn't fire. We also pass this value into a Prop for debugging (which also works). And when I try the code itself instead of using the satellite then that also works.

So I know the code works OK. Seemingly the only flaw is the satellite.

ursboller
Community Advisor
Community Advisor

try to give the event to the dataElement:

_satellite.getVar("de-name",event);

1640
Level 1
Level 1

If the rule that is firing is an Event Type of Direct Call, then the Data Element doesn't have access to `getVar`. You can access the values inside the Data Element through `event.detail.name`, and `event.detail.value`.

jantzen_belliston-Adobe
Level 10
Level 10
Do any of the answers below answer your initial question? If so, can you select one of them as the correct answer? If none of the answers already provided answer your question, can you provide additional information to better help the community solve your question?
jantzen_belliston-Adobe
Level 10
Level 10
Were you able to solve this issue? If so, would you mind posting the solution so others that find this thread have the answer?