Is it possible to clear 1 var and not all vars? | Community
Skip to main content
New Participant
April 15, 2021
Solved

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

  • April 15, 2021
  • 1 reply
  • 865 views

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.

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 Brian_Johnson_

@edwardbu3 -
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. 

1 reply

Brian_Johnson_
Brian_Johnson_Accepted solution
New Participant
April 20, 2021

@edwardbu3 -
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.