Custom code: Only first declared eVar setting | Community
Skip to main content
Level 4
November 6, 2019
Solved

Custom code: Only first declared eVar setting

  • November 6, 2019
  • 1 reply
  • 4073 views

Hi there,

I have a strange situation. I have a direct call rule that fires after a data element change rule. In this direct call rule I set a bunch of eVars.

I was setting them in the eVars section of the rule builder. When testing I could see the eVars populating in both the network requests and Omnibug. However I wanted to change it to minimise the risk of sending in unspecified values.

So I added to my custom code the following type of rule for each eVar I wanted to set:

var dataElementName = _satellite.getVar("dataElementName");

if(dataElementName) {

   s.linkTrackVars = "eVar1";

   s.eVar1 = dataElementName;

}

However, this only works if I add one rule of this type to the custom code. As soon as I add another rule with the same syntax it doesn't set either eVar. It's almost like it can't see them at all.

We use this kind of thing a lot in our custom code and it works reliably. I can't understand why in this situation it's not setting the eVars.

Any help would be greatly appreciated

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
Best answer by shesingh

Hey Philip,

 

The s.linkTrackVars variable is a string containing a comma-delimited list of variables that you want to include in link tracking image requests ( tl() method). I believe the reason eVar is not set when same piece of code is written again is because it resets value of linkTrackVars.

 

For instance:

 s.linkTrackVars = "eVar1";

s.eVar1 = dataElementName;

will set eVar1

 

s.linkTrackVars = "eVar2";

s.eVar2 = dataElementName;

this will only set eVar2

 

To fire both the variables on the same server call, the syntax should be:

 

s.linkTrackVars = "eVar1,eVar2";

So, in gist you would need to append the values in linkTrackVars than resetting it to new one.

Hope this helps!

1 reply

shesinghAdobe EmployeeAccepted solution
Adobe Employee
August 11, 2020

Hey Philip,

 

The s.linkTrackVars variable is a string containing a comma-delimited list of variables that you want to include in link tracking image requests ( tl() method). I believe the reason eVar is not set when same piece of code is written again is because it resets value of linkTrackVars.

 

For instance:

 s.linkTrackVars = "eVar1";

s.eVar1 = dataElementName;

will set eVar1

 

s.linkTrackVars = "eVar2";

s.eVar2 = dataElementName;

this will only set eVar2

 

To fire both the variables on the same server call, the syntax should be:

 

s.linkTrackVars = "eVar1,eVar2";

So, in gist you would need to append the values in linkTrackVars than resetting it to new one.

Hope this helps!