List vars, hierarchies and merchandising
Who this page is for
| Audience | Why it matters to you |
|---|---|
| Implementation engineers | These solve specific problems elegantly |
| Architects | Know when to reach for these |
List variables (listVar1–3)
Hold multiple values in a single hit, each getting independent credit. Delimiter-separated.
Perfect for: all badges displayed on a page, all filters a member applied, all topics tagged to an article, all products a member holds.
listVar1 = "Financial Hardship,Insurance Claim"
Each value gets its own row and each receives full credit for downstream conversions. This is the right tool for the "Is your complaint about any of the following?" checkbox group on the complaint form.
List props are the hit-scoped equivalent — a prop configured with a delimiter. Same multi-value idea, no persistence.
Hierarchy variables (hier1–5)
Store a delimited path: Member|Super|Manage your super|Consolidate. Renders as a drillable tree in reporting.
Largely superseded by using several props for site section levels, which is more flexible. Recognise them; do not build new ones.
Products variable (s.products)
Built for retail: a delimited string carrying category, product, quantity, price and merchandising eVars in a single hit. Structure:
category;product;quantity;price;events;eVars
Non-retail relevance: the products variable is useful whenever you have a *repeating item within a single hit*. For Example Super that could be investment options compared in one session, or multiple documents in a download bundle. It is a power tool with a steep learning curve — reach for it only when list vars will not do.
Merchandising eVars
An eVar set *within* the products string rather than at page level, so it binds to a specific product rather than the whole hit. This solves: "the member viewed the Balanced option and the High Growth option in the same session, then switched to High Growth — which option page gets credit?"
Two binding types: product syntax (set directly in the products string) and conversion variable syntax (set as a normal eVar, bound when a binding event fires).
⚠️ Merchandising eVars are the most commonly misconfigured feature in Adobe Analytics. If you do not have a genuine item-level attribution problem, do not use them.
Out-of-the-box variables you get free
Do not rebuild these by accident:
| Variable | What it captures |
|---|---|
pageName | The page name dimension |
pageURL | Full URL |
channel | Site section |
server | Domain |
referrer / Referring Domain | Where they came from |
campaign | Tracking code |
| Geo (country, region, city) | From IP, automatic |
| Technology (browser, OS, device type, screen) | Automatic |
| Time Spent, Visit Number, Days Since Last Visit | Automatic |
Before you spec a new variable, check whether Adobe already gives it to you. "Days since last visit" and "visit number" in particular get rebuilt constantly for no reason.