Honestly, duplicating props and eVars hasn't been common practice for many years now. With the ability to cross correlate props and eVars in Workspace, and the ability to set the expiry of an eVar to Hit (like a prop) the lines between props and eVars are much more "blurred".
Adobe has said on multiple occasions that they have considering sunseting props altogether.. nothing official has been announced, and due to the number of users still using Props I doubt it will happen... with CJA not referring to the dimensions as "prop" or "eVar" is likely just the direction they will go... let Analytics continue to use the two, until clients eventually move to CJA which is getting more and more features that Analytics has now, eventually CJA will be the only package (but that is many, many years away)
I use the two interchangeably... with only 75 props and 250 eVars, I needed more than props could cover.
Here are some factors I take into consideration when deciding where to send my data.
Props:
- Hit expiry only
- 100 character limit
- can be turned into a list item (also limited to a total of 100 characters for the entire list
eVars:
- Can be set to expiry of choice (Visit is default, but I would say more than half of ours are set to Hit)
- 255 character limit
- Cannot be turned into a list item (however, there are three reserved "list" items which are technically eVars with selectable expiry, however, each item in the list can hold up to 255 characters instead of being limited to the entire string)
- Can be used as Merchandising values
Both of the above can be used with custom attribution in Workspace, allowing you to see "Visit" level data on a prop if needed... it's easier to "up" the attribution model, than to downgrade it (keep that in mind when deciding how to track your dimensions)
So, if the data I am tracking I know is short, and most of the time I will need it to be Hit, I will use a Prop.... If the data I want to store is long (replication page name to use with actions, urls, etc) I will use an eVar.
If I definitely need Visit level attribution, I will use an eVar, no matter how long or short the value is....
If I need merchandising values with my products, then I use eVars.
Let's look at a sample implementation and the flow
Prop1 = page type
eVar1 = page name (HIT level attribution)
eVar2 = campaign tracking (VISIT level attribution)
Visit 1 (campaign X):
- Social Media Post with Campaign X sending people to the site
- Page A
- prop1 = "home"
- eVar1 = "page a"
- eVar2 = set to "x"
- Instance of eVar2 is triggered
- Page B
- prop1 = "product"
- eVar1 = "page b"
- eVar2 = not set
- eVar2 will still record as "x" due to Visit Level attribution
- Instance of eVar2 is not triggered
- Add to Cart Action
- prop1 = "product" (set specifically because if not, this is hit and won't follow through)
- eVar1 = "page b" (set specifically because if not, this is hit and won't follow through)
- eVar2 = not set
- eVar2 will still record as "x" due to Visit Level attribution
- Instance of eVar2 is not triggered
- Page C
- prop1 = "cart"
- eVar1 = "page c"
- eVar2 = not set
- eVar2 will still record as "x" due to Visit Level attribution
- Instance of eVar2 is not triggered
- Order
- prop1 = "cart" (set specifically because if not, this is hit and won't follow through)
- eVar1 = "page c" (set specifically because if not, this is hit and won't follow through)
- eVar2 = not set
- eVar2 will still record as "x" due to Visit Level attribution
- Instance of eVar2 is not triggered
| |
|
Page View |
Instance of eVar2 |
Add to Cart |
Orders |
| Prop1 |
|
3 |
1 |
1 |
1 |
| |
home |
1 |
1 |
0 |
0 |
| |
product |
1 |
0 |
1 |
0 |
| |
cart |
1 |
0 |
0 |
1 |
| |
|
Page View |
Instance of eVar2 |
Add to Cart |
Orders |
| eVar1 |
|
3 |
1 |
1 |
1 |
| |
page a |
1 |
1 |
0 |
0 |
| |
page b |
1 |
0 |
1 |
0 |
| |
page c |
1 |
0 |
0 |
1 |
| |
|
Page View |
Instance of eVar2 |
Add to Cart |
Orders |
| eVar2 |
|
3 |
1 |
1 |
1 |
| |
x |
3 |
1 |
1 |
1 |
Visit 2 (campaign X and Campaign Y):
- Social Media Post with Campaign X sending people to the site
- Page A
- prop1 = "home"
- eVar1 = "page a"
- eVar2 = set to "x"
- Instance of eVar2 is triggered
- Page B
- prop1 = "product"
- eVar1 = "page b"
- eVar2 = not set
- eVar2 will still record as "x" due to Visit Level attribution
- Instance of eVar2 is not triggered
- User gets a Marketing Email promoting another product, campaign Y
- Page D
- prop1 = "product"
- eVar1 = "page d"
- eVar2 = set to "y"
- Instance of eVar2 is triggered
- Add to Cart Action
- prop1 = "product" (set specifically because if not, this is hit and won't follow through)
- eVar1 = "page d" (set specifically because if not, this is hit and won't follow through)
- eVar2 = not set
- eVar2 will still record as "y" due to Visit Level attribution
- Instance of eVar2 is not triggered
- Page C
- prop1 = "cart"
- eVar1 = "page c"
- eVar2 = not set
- eVar2 will still record as "y" due to Visit Level attribution
- Instance of eVar2 is not triggered
- Order
- prop1 = "cart" (set specifically because if not, this is hit and won't follow through)
- eVar1 = "page c" (set specifically because if not, this is hit and won't follow through)
- eVar2 = not set
- eVar2 will still record as "y" due to Visit Level attribution
- Instance of eVar2 is not triggered
| |
|
Page View |
Instance of eVar2 |
Add to Cart |
Orders |
| Prop1 |
|
4 |
1 |
1 |
1 |
| |
home |
1 |
1 |
0 |
0 |
| |
product |
2 |
0 |
1 |
0 |
| |
cart |
1 |
0 |
0 |
1 |
| |
|
Page View |
Instance of eVar2 |
Add to Cart |
Orders |
| eVar1 |
|
4 |
2 |
1 |
1 |
| |
page a |
1 |
1 |
0 |
0 |
| |
page b |
1 |
0 |
0 |
0 |
| |
page c |
1 |
0 |
0 |
1 |
| |
page d |
1 |
1 |
1 |
0 |
| |
|
Page View |
Instance of eVar2 |
Add to Cart |
Orders |
| eVar2 |
|
4 |
2 |
1 |
1 |
| |
x |
2 |
1 |
0 |
0 |
| |
y |
2 |
1 |
1 |
1 |
Visit 3 (campaign X and Campaign Y, multiple Orders):
- Social Media Post with Campaign X sending people to the site
- Page A
- prop1 = "home"
- eVar1 = "page a"
- eVar2 = set to "x"
- Instance of eVar2 is triggered
- Page B
- prop1 = "product"
- eVar1 = "page b"
- eVar2 = not set
- eVar2 will still record as "x" due to Visit Level attribution
- Instance of eVar2 is not triggered
- Add to Cart Action
- prop1 = "product" (set specifically because if not, this is hit and won't follow through)
- eVar1 = "page b" (set specifically because if not, this is hit and won't follow through)
- eVar2 = not set
- eVar2 will still record as "x" due to Visit Level attribution
- Instance of eVar2 is not triggered
- Page C
- prop1 = "cart"
- eVar1 = "page c"
- eVar2 = not set
- eVar2 will still record as "x" due to Visit Level attribution
- Instance of eVar2 is not triggered
- Order
- prop1 = "cart" (set specifically because if not, this is hit and won't follow through)
- eVar1 = "page c" (set specifically because if not, this is hit and won't follow through)
- eVar2 = not set
- eVar2 will still record as "x" due to Visit Level attribution
- Instance of eVar2 is not triggered
- User gets a Marketing Email promoting another product, campaign Y
- Page D
- prop1 = "product"
- eVar1 = "page d"
- eVar2 = set to "y"
- Instance of eVar2 is triggered
- Add to Cart Action
- prop1 = "product" (set specifically because if not, this is hit and won't follow through)
- eVar1 = "page d" (set specifically because if not, this is hit and won't follow through)
- eVar2 = not set
- eVar2 will still record as "y" due to Visit Level attribution
- Instance of eVar2 is not triggered
- Page C
- prop1 = "cart"
- eVar1 = "page c"
- eVar2 = not set
- eVar2 will still record as "y" due to Visit Level attribution
- Instance of eVar2 is not triggered
- Order
- prop1 = "cart" (set specifically because if not, this is hit and won't follow through)
- eVar1 = "page c" (set specifically because if not, this is hit and won't follow through)
- eVar2 = not set
- eVar2 will still record as "y" due to Visit Level attribution
- Instance of eVar2 is not triggered
| |
|
Page View |
Instance of eVar2 |
Add to Cart |
Orders |
| Prop1 |
|
5 |
1 |
2 |
2 |
| |
home |
1 |
1 |
0 |
0 |
| |
product |
2 |
1 |
2 |
0 |
| |
cart |
2 |
0 |
0 |
2 |
| |
|
Page View |
Instance of eVar2 |
Add to Cart |
Orders |
| eVar1 |
|
5 |
2 |
2 |
2 |
| |
page a |
1 |
1 |
0 |
0 |
| |
page b |
1 |
0 |
1 |
0 |
| |
page c |
2 |
0 |
0 |
2 |
| |
page d |
1 |
1 |
1 |
0 |
| |
|
Page View |
Instance of eVar2 |
Add to Cart |
Orders |
| eVar2 |
|
5 |
2 |
2 |
2 |
| |
x |
3 |
1 |
1 |
1 |
| |
y |
2 |
1 |
1 |
1 |
You can see that a HIT level eVar behaves the same as the Prop, the VISIT level eVar you can see the "Instances" (i.e. the hit where the value was set with the dedicated "Instance of eVar2" metric, but you can also see everywhere that the value existed using the Page View Metric). The Add to Cart and Orders pick up the whatever values are sent on the call, and the last set value within the visit for the campaign eVar.
The biggest challenge in the past between props and eVars was the ease of correlation.. the old Reports interface didn't allow these to correlate against one another, but you could in Data Warehouse exports....
In Workspace you can correlate everything, so duplicating your values isn't really helping you any longer..... So long as you understand the attribution models and what you need / how you want it to track, you can absolutely use eVars instead of props. If your colleagues have been doing this a long time, I can understand why they are "stuck" in the old-school way of thinking, particularly if they haven't been keeping up with modern tracking techniques.
What they say "used to be correct" (or at least standard practice), but not so any longer. And for the record, I came from that "old school" time... back when this was still Omniture SiteCatalyst (before Adobe acquired the technology).