Foundations of Adobe Analytics Implementation

Once the planning is done, the machinery begins. Learn Adobe Analytics foundations: report suites and VRS, metrics versus dimensions, traffic and conversion variables, the data-collection beacon, the debugger, and Analysis Workspace.

Once the planning is done, the goals distilled, the KPIs defined, and the data layer designed, the work shifts to the machinery that actually collects and reports the data. This is where Adobe Analytics gets concrete: how you structure report suites, the two kinds of data the platform records, the variables that carry that data, the image request that fires on every page, the tooling that lets you tag without touching page code, and the interface where analysts finally read the results. This article walks through those foundations, picking up where the pre-implementation planning leaves off.

Report Suite Architecture

A report suite is the container for all the data Adobe Analytics collects from a site. Getting its architecture right before any data flows is critical, because a wrong structure leaves you with fragmented or meaningless data, and fixing it after the fact is painful. The defining question is how to handle multiple websites or regions, and there are two answers.

The first is multi-suite tagging, where each website sends its data to its own report suite and simultaneously to a shared global suite. The analogy is depositing money into both a personal account and a joint account at the same time. The second is a global suite with Virtual Report Suites, where every site feeds a single global report suite and the Virtual Report Suites, or VRS, sit on top as filtered views. A VRS is not a separate data store; it is essentially a saved segment applied to the parent suite.

The trade-offs line up clearly.

FactorMulti-suite TaggingGlobal with VRS
Data storageEach site has its own suiteOne global suite, VRS layered on top
CostExtra server-call cost per siteNo additional cost
Site independenceTruly independent suitesVRS inherits parent settings
New viewsRequire new taggingCreated any time, retroactively
Real-time at child levelYesNo
Data Feeds per childYesNo

Adobe generally recommends the global suite with VRS, because it is cheaper and far more flexible. You can spin up a new VRS view at any time, even retroactively, with no re-tagging at all, which is a genuine advantage when reporting needs evolve.

That said, VRS is not always enough, and several specific situations call for true multi-suite tagging instead. You need it when you want to share segments with the Experience Cloud for targeting from a virtual suite, when you need real-time reporting at the virtual suite level, or when you have exceeded the unique value limits of the parent suite. It is also required when different sites need genuinely different variable definitions and mappings, when your segmentation would confuse users by dividing data in hard-to-explain ways, or when you need multi-currency conversion at report run time. Extreme query volumes, a need for Data Feeds on each individual child suite, integrations that allow only one partner account per report suite when you have several, localization needs where different languages describe the same product differently, and differing visitor-counting methodologies all push you toward multi-suite tagging as well. The rule of thumb is to default to global plus VRS and only step up to multi-suite tagging when you hit one of these concrete limits.

The Two Kinds of Data

Adobe Analytics records exactly two types of data, and the whole reporting model rests on the distinction. Metrics are numbers that measure actions, such as 10,000 orders or 2,300 leads, and you can add, subtract, multiply, and divide them. Data dimensions are text strings that describe users and their interactions, such as a gender of male or female or a search term like watches or coats, and you cannot do arithmetic on them.

The power comes from combining the two. “10,000 orders” is a metric on its own, but breaking it down as 4,000 from male visitors and 6,000 from female visitors itemises that metric by the gender dimension, and only then does it become genuinely useful. This is why a dimension can never stand alone in a report: it has meaning only when it itemises a metric. In a standard report, the rows are dimension elements like male and female, and the columns are metrics like orders and visits.

Traffic Variables and Conversion Variables

Within data dimensions sits a behavioural distinction that trips up newcomers constantly: the difference between traffic variables and conversion variables.

PropertyTraffic (s.prop)Conversion (s.eVar)
PersistenceNon-persistentPersistent
ScopeThe single image request it is set onCarried across pages and visits
Typical usePage-level data like page nameCampaign codes, author, content type

Traffic variables reset on every page, capturing only what is true for that one image request. Conversion variables carry their value forward, and that persistence is exactly what makes attribution possible. A campaign code set on the landing page can still be linked to a purchase three pages later, because the eVar that holds it remembers its value across the session. Traffic data is recorded automatically when traffic elements are collected and includes metrics like page views, visits, and visitors, while conversion data is set explicitly on success actions and includes product views, orders, and revenue.

How Data Actually Reaches Adobe

Every tracked page carries a snippet of JavaScript, and when the page loads, that JavaScript fires an image request, also called a web beacon, to Adobe’s servers. The request is a tiny transparent one-by-one pixel, and the data being collected is encoded into the URL of that image request. The flow runs in six steps: the visitor loads a page, the web server returns the HTML, the Adobe JavaScript fires the beacon to Adobe’s collection servers, Adobe responds with the transparent pixel to confirm receipt, the data is written into the report suite, and analysts later query it through Analysis Workspace.

There are two ways to get that tracking onto a page. Without a tag manager, every page must have the Adobe variables hardcoded on it along with a reference to the JavaScript library that sends the beacon, which is the legacy approach and is both brittle and slow to update. With Adobe Experience Platform Launch, a single line of code on each page loads the Launch container, and all the tagging logic, which variables to set and when to fire them, lives inside Launch rather than in the page. Developers stop editing individual pages for analytics changes entirely.

Adobe’s recommended path with Launch is a clean sequence: build a data layer on the site, configure the Analytics Extension in Launch to point at the right report suite and set the base configuration, populate the Adobe variables through Launch rules that define the triggers and actions for each page or event, add custom code in Launch for the edge cases the dropdown interface cannot express, and finally verify with a debugger that the variables match the Solutions Design Reference. Even though Launch automates most of this, you still need to understand the underlying variable syntax, because the custom-code step is unavoidable for anything unusual.

The Three Types of Variable

In code, the variables fall into three groups: traffic variables, conversion variables, and events.

// Traffic variables: non-persistent, page-level
s.pageName = "Renewable Energy Page";
s.channel = "Science";
s.prop4 = "How Tidal Power Works";
s.prop55 = "UK";
// Conversion variables: persistent across pages and visits
s.eVar6 = "Priya Nair"; // author
s.eVar7 = "Article"; // content type
s.campaign = "summer sale"; // tracking code
s.products = "sports;running shoes;1;124.95";
// Events: conversion metrics
s.events = "event1";
s.events = "event3,event324";
s.events = "scAdd,scView";
s.events = "purchase,event5,event12";

The traffic variables set page-level descriptions: the page name that appears in the Pages report, the site section, and custom props used here for content title and country. The conversion variables hold values that need to persist and attribute, such as the author, the content type, the campaign code, and the special products string, which packs category, product name, units, and revenue into a semicolon-delimited format. The events fire conversion metrics, and the last line shows that several can fire in a single hit when comma-separated.

Traffic variables, the props, are strings of up to 100 bytes that support pathing for click-path analysis and exist only for the image request they are set on. Crucially, whenever any prop is set, Adobe automatically records a page view, along with a visit and a visitor. Those three traffic metrics have precise definitions worth memorising. A page view is one execution of the Adobe code, meaning one page load in a browser. A visit is any number of page views within a session that ends after 30 minutes of inactivity, which is not the same as a browser session. And a unique visitor is the count of distinct people in a time period. The 30-minute rule matters: a user who steps away for 35 minutes and returns starts a brand new visit even if the browser tab was never closed, so visit and session are not interchangeable.

Conversion variables, the eVars, are strings of up to 255 bytes whose persistence is configurable in the Admin console, and whenever one is set, an Instance metric is automatically recorded. Beyond the custom eVars, Adobe provides built-in conversion variables for specific jobs: s.campaign for tracking codes, s.products for product detail, s.purchaseID to prevent double-counting orders, s.transactionID to serialise a transaction, and s.state and s.zip for location at the time of purchase. Events, all carried inside s.events, are technically strings but processed as numbers, so they count how many of something happened and support integer, decimal, and currency values. Adobe ships named commerce events like purchasescAddscViewscRemovescOpenscCheckout, and prodView, alongside a thousand custom events for anything else.

The Experience Cloud Debugger

Verifying an implementation is the job of the Adobe Experience Cloud Debugger, a Chrome extension that reads the Adobe variables firing on any page and displays them readably. It serves two audiences: analysts auditing which tags sit on a page, and developers validating that the code they placed runs as designed. It handles multiple Adobe solutions at once, including Analytics, Target, Audience Manager, the Visitor Service, the older Dynamic Tag Management, and Launch.

Its interface is organised into tabs. The Summary tab gives the high-level view of which solutions are detected, the report suite ID, the page name, and the Analytics version. The Network tab lists every image request the page sent, filterable by solution, and lets you hover a value to see its content. The Tools tab exposes solution-specific features such as toggling Launch debug mode. And the Logs tab shows the console messages from Adobe solutions, including the option to reveal the code for rules that did not fire, which is invaluable when something is silently missing.

A few alternatives exist for edge cases. The legacy bookmarklet debugger works on any JavaScript-capable browser and serves as a fallback, lacking the modern features but always available. A Launch and DTM environment switch extension lets you flip between production, staging, and development builds without editing page code, which is handy for testing a new build against a live site. Omnibug is a third-party extension that surfaces analytics and marketing pixel requests, including Adobe’s, in a dedicated panel rather than the raw network tab. And the newer Adobe Experience Platform Debugger is the renamed, updated version of the main tool, with the same core purpose but a refreshed interface and extra capabilities, such as showing which Launch property and build are deployed or, for Target, which activities you qualify for and why. One practical note across all of them: the debugger works on any page, but nonpublic data that requires authentication only appears if you are logged into the Experience Cloud in an open Chrome tab.

Reading the Data in Analysis Workspace

Analysis Workspace is the primary place analysts build reports, and its interface is organised around three things in the left rail: panels, visualizations, and components.

Panels are containers within a project, each holding multiple tables and charts, where the date range and segment set at the panel level apply to every table inside it. By default a panel uses the current month and all visits. The blank panel is an empty canvas with no table, suited to Venn diagrams, text, or cohort work where a freeform table is not needed. The freeform panel arrives pre-loaded with a freeform table and is the usual starting point. The attribution panel compares multiple attribution models across a dimension and a conversion metric, and the segment comparison panel automatically surfaces the most statistically significant differences between two segments. Because each panel carries its own date range, you can compare this month against last month within a single project.

Visualizations are the chart and table types you drop into panels, of which there are around twenty-one. The freeform table is the standard cross-tab with dimensions in rows and metrics in columns. The cohort table handles retention analysis over time. Fallout charts answer funnel questions about where users drop out of a defined sequence, while flow charts handle open-ended path analysis of what users did before or after an event. Histograms show the distribution of a metric across visitors, Venn diagrams show overlap between up to three segments, maps show geographic distribution, and the various bar and area charts handle time series and comparisons.

Components are the building blocks dragged into visualizations, and they map neatly onto plain-language questions. Dimensions answer what was viewed or sold, with line-item values like page name or product. Metrics answer how many or how much, like page views or revenue, defaulting to occurrences. Segments answer who did this, filtering the data to a slice of users and defaulting to all visits. And time answers when, defaulting to this month.

Choosing the Right Variable

When you are deciding what kind of variable to use, the question is always the same. If you are capturing a number you will do arithmetic on, such as orders, revenue, or leads, you want a metric, which means an event for conversion data or an automatically counted traffic metric. If you are capturing a text description of how users interact, you want a dimension, and then a second question decides which kind. If the value changes on every page, like a page name or site section, it is a non-persistent traffic variable, a prop. If it needs to persist and link to a later action, like a campaign code, author, or product category, it is a persistent conversion variable, an eVar.

The Pitfalls That Catch People Out

A handful of mistakes recur often enough to flag explicitly. Choosing multi-suite tagging when a VRS would do adds real per-server-call cost for no benefit, so default to global plus VRS unless you hit a genuine limitation. Using a prop where you need an eVar is the classic attribution killer: a campaign code stored in a non-persistent prop is gone by the time the user converts on the next page, so the order can never be tied back to the campaign. Setting multiple events without the comma, writing s.events = "purchase event5" instead of s.events = "purchase,event5", can silently fail. Confusing a visit with a browser session leads to misreading the data, since a visit ends after 30 minutes of inactivity regardless of whether the browser stays open. Treating a dimension as a standalone metric produces meaningless reports, because a dimension must always itemise a metric. And forgetting that a VRS inherits everything from its parent catches teams off guard: if a variable is not enabled in the parent suite, it will never appear in the VRS either.

Conclusion

The foundations of an Adobe Analytics implementation come down to a few structural choices and one consistent mental model. Architect your report suites deliberately, defaulting to a global suite with Virtual Report Suites and only escalating to multi-suite tagging when a specific limit forces it. Remember that the platform records just two kinds of data, numeric metrics and text dimensions, and that dimensions only mean something when they itemise a metric. Distinguish non-persistent traffic props from persistent conversion eVars, because that persistence is what makes attribution work. Collect the data through a Launch-managed beacon rather than hardcoded page code, verify it with the Experience Cloud Debugger against your SDR, and read it in Analysis Workspace through panels, visualizations, and components. Get those foundations right and the platform does exactly what you designed it to, which is the entire reward for planning carefully first.

View Comments (1)

Leave a Reply

Prev Next

Subscribe to My Newsletter

Subscribe to my email newsletter to get the latest posts delivered right to your email. Pure inspiration, zero spam.

Discover more from Datalad - Data Science and ML

Subscribe now to keep reading and get access to the full archive.

Continue reading