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
BedrockMission!

Learn more

View all

Sign in to view all badges

SOLVED

Is it possible to clear 1 var and not all vars?

edwardb44196902
Level 2
Level 2

So let's say we go to a site and click through items, is it possible to capture a var for the first time and then clear it out so it does not persist on the page?

 

Example:

 

1.Go to website - Page view analytics

2. Click More Details - s.tl click analytics -- we want to capture a custom eVar/prop here

3. Click close details - s.tl click analytics but we don't want the custom eVar/prop in this call or anything afterwards, we don't want to clear all variables because we want to maintain all variables in here except the custom eVar/prop from the initial click.

1 Accepted Solution
evolytics_brian
Correct answer by
Community Advisor
Community Advisor

@edwardb44196902 -
Question for you: Can't you just set the eVar's allocation to first/original, specify the desired expiration, and be done with it? Or, does that for some reason not work for what you're trying to accomplish?


Assuming expiration/allocation aren't feasible solutions here, I'd say it's definitely possible, but you'll have to build a custom solution that fits your requirements. Based on the little i know from your initial post, I'd probably go with a simple Boolean JS flag that gets set and evaluated in doPlugins(). Something like this...

var hasVarAlreadyBeenTracked = false;

// only populate the eVar the first time through
if (!hasVarAlreadyBeenTracked) {
  s.eVar1 = _satellite.getVar("data-element-for-this-evar");
  hasVarAlreadyBeenTracked = true;
} else {
  s.eVar1 = "";
}

If you want this behavior to persist across multiple pages, you'll have to store the flag in a cookie or other browser storage. 

View solution in original post

1 Reply
evolytics_brian
Correct answer by
Community Advisor
Community Advisor

@edwardb44196902 -
Question for you: Can't you just set the eVar's allocation to first/original, specify the desired expiration, and be done with it? Or, does that for some reason not work for what you're trying to accomplish?


Assuming expiration/allocation aren't feasible solutions here, I'd say it's definitely possible, but you'll have to build a custom solution that fits your requirements. Based on the little i know from your initial post, I'd probably go with a simple Boolean JS flag that gets set and evaluated in doPlugins(). Something like this...

var hasVarAlreadyBeenTracked = false;

// only populate the eVar the first time through
if (!hasVarAlreadyBeenTracked) {
  s.eVar1 = _satellite.getVar("data-element-for-this-evar");
  hasVarAlreadyBeenTracked = true;
} else {
  s.eVar1 = "";
}

If you want this behavior to persist across multiple pages, you'll have to store the flag in a cookie or other browser storage. 

View solution in original post