Hi,
For the first question, I am not sure what you mean by "redundant variables"....
"Redundant" means unnecessary, and if you have no need to correlate the value to your action, then you don't need to send it.... but if you are talking about sending information that you do want to correlate on your clicks / actions, then that really isn't "redundant", it's being send for a purpose so that it can be used.
if you mean:
- Page View
- Click on Button X
(Note that I don't need prop2 on my click, so I didn't include it.... I would consider prop2 to be truly redundant if it were to be send, since I will never need to combine that information to the button click - and I would then also have to remember to potentially exclude it depending on what metric I am looking at)
In the case of prop, prop is a hit based (no attribution) variable... if you want to know that "button x" was clicked on your "home" page, vs your "section page", vs your "product" page.. then you need to send prop1 on your click/action so that you can correlate that value to the click.
eVars are attribution based, they can be hit based, or visit based, or.... Now, if your eVar has a hit expiry, you need to send it on the click for the same correlation context on your click... if the eVar is Visit based, technically you don't need to send it... However, keep in mind that you may get unintentional behaviours... such as, what happens if the site is slow, and the click happens before the page load? Then the value in your eVar is for the previous page rather than the correct page... this would give you incorrect information.
In my example above, I used two very simple examples, page type and url, and in my setup, I use a hit based eVar for my URLs, and make sure I send the value on all hits (pages and actions). I use eVar because it has a character count of 255 (rather than the 100 characters available for props).
What I do use Visit expiry eVars for is things that don't necessarily track on each page, but I want to correlate to something like my orders... so things like a campaign... if the page has a campaign query param, I will track it on the Page View (and NOT on any clicks on the page... I want to use the "eVar Instance" to know how many entries to my site on that campaign there were, and sending again on the actions would inflate those values)... then because the value is maintained through the visit, when an Order is made, I can correlate the campaign to the Order.
As for your second question, lists (if you are talking about actual lists and not a list enabled prop) has expiry just like an eVar... if you have an expiry that is not hit, then the values in the list will be available on your clicks (without sending them manually)... if it's a hit, they you will need to send it on the click if you want to use them.... but also note, that if you are on a page that is setting a list "colour,brand,value,type,etc" and then you go to a page that has none of that information.... all of that list info will still be associated to that page...
- Home Page
- Product Page
- list set to "black,brand x,9.99,t-shirt"
- Click on Add to Cart
- list maintains "black,brand x,9.99,t-shirt" (and is not explicitly set)
- Home Page
- list maintains "black,brand x,9.99,t-shirt" (and is not explicitly set)
In this scenario, your home page is now tracking a "brand x black t-shirt that costs 9.99".... which probably is not what you want to happen....
When dealing with attribution / expiry, you really have to look at what information you are tracking, and when/where the information is sent, and what that will do to your data as users move around your site...
A campaign is essentially set once and maintained through a visit.. this is the behaviour we want...and if another campaign is using in the same visit, the new value will take over from that point on.....
However, product specific data is likely something that you only want in the context of the product, and having the last value maintain beyond the context is likely to cause issues....