Products Variable [Inside Omniture SiteCatalyst]

In earlier posts, I described the three types of Omniture SiteCatalyst variables which are Traffic Variable (also known as sProps), Success Events and Conversion Variables (also known as eVars). There is, however, one variable type that is a bit unique and that is the Products variable. In this post, I will explain how the Products variable is different and share some interesting ways it can be used (even if your website doesn’t promote Products!).

**Understanding The Products Variable
**As its name implies, the primary use of the Products variable is to store the name of the Product for which a website action is taking place. For example, if you manage a retail website and a visitor views a Product Detail page, you might choose to set a Product View Success Event so you can see how many Product Views your website had each day, week, month, etc… But if you want to see which Products visitors were looking at, you would need to capture the Product name or a Product ID# in a variable so that you can break down the Product Views Success Event metric by Product. For those who have read previous posts, your first instinct should be to use an Conversion variable (eVar) to capture the Product Name, since eVars are used to break down Success Events. While you could certainly do that, Omniture has assumed that many websites will have Products so it has created a special Products variable for this exact purpose. Therefore, it is recommended that you capture the Product name or ID# in the Products variable (s.products).

“What is the difference between an eVar and the Products variable?” is the next question I get from clients (which is why I am writing this post!). There are some subtle differences between the Products variable and Conversion Variables (eVars) that you need to understand. They are as follows:

**Multiple Values
**The Products variable allows you to pass multiple values to it whereas eVars are limited to one value. The importance of this cannot be understated. When a Success Event is set in conjunction with an eVar, whatever value is passed to the eVar gets credit for the Success Event. But if multiple Products are passed to the Products variable at the same time that a Success Event is set, each value passed to the Products variable will get credit for the Success Event.

**Not Persistent
**Another way in which the Products Variable is different from Conversion Variables is that it is not persistent, meaning that it does not retain its value from one page to the next. In this respect, it is somewhat similar to Traffic Variables. For this reason, if you need to associate multiple Success Events with specific Products, you must set the Products variable every time you set Success Events. For example, if a visitor adds three products to the shopping cart, you would pass all three to the Products variable when you set the Cart Add Success Event, but if later the visitor purchases one of those products, you need to pass that product to the Products variable again when you set the Purchase Success Event.

**Special Parameters
**Unlike Conversion Variables, the Products variable allows you to set some special parameters at the same time the Product value is set. While this can be a bit confusing for newer SiteCatalyst users, I will do my best to explain this in non-technical terms. To begin, it is important to see the full Products Variable String with all of the potential parameters that can be set:

s.products=[Category1];[Product1];[Quantity];[Total Price];[Incrementor];[Merchandising], [Category2];[Product2]; etc…

The following will describe each:

[Category] – This represents the Product Category. It is not recommended that you use this parameter due to the fact that it ties the Product to the first Category that it is associated with and it cannot be changed. There are now better ways to assign Products to Product Categories so this parameter is normally not set and remains primarily for historical purposes.

[Product] – This represents the name or ID of the Product. If you pass an ID, you can always use Classifications to upload friendly names and roll products into Categories. If you will be passing a lot of Products at one time, it is recommended that you use ID’s instead of full product names to limit the length of the overall product string so you do not exceed browser character limits.

[Quantity] – When used with the Purchase Success Event, this represents the quantity of the Product being purchased (i.e. visitor is buying two memory cards)

[Total Price] – When used with the Purchase Success Event, this represents the total price for the Product being purchased (i.e. two memory cards total $200 for both)

[Incrementor] – This is an advanced topic which I will be covering in the future, but in general, you can set an Incrementor Success Event such that you manually pass a currency amount or number to it. For example, you charge $2.50 shipping for a product and want to show that separate from Revenue, you can devote a Success Event to “Shipping Costs” and pass “2.5” in this part of the Product String to add $2.50 with each purchase.

[Merchandising] – This is another advanced topic which I will cover later, but in general, you can use this parameter to bind Products to different eVar values for each Product instead of tying all Products to one eVar value. This is often used to capture which product category the visitor used to find the Product.

So in a scenario where a visitor is buying two XYZ memory cards at $100 each, has to pay $2.50 shipping and found the memory card product through the “Sale” section of the site, the Product string might look like this:

s.products=”;XYZ Memory Card;2;200;event18=2.5;eVar12=Sale”

**Important Things To Know About The Products Variable
**The following are some important things to know about the Products variable:

  1. The Products variable has full subrelations so any conversion variable report can be broken down by Products and any Classifications of Products.
  2. If the Products variable is set with no corresponding Success Event, the “prodView” Success Event will be used by default. This will appear in SiteCatalyst as the Product Views metric and only appears in Products reports. However, if Product Views is something that is important to your organization, it is a best practice to use a Custom Success Event to track Product Views.
  3. The Revenue and Unit parameters are only valid when used in combination with the Purchase Success Event. They will be ignored in all other cases.

**Real-World Example
**In this week’s real-world example, I will illustrate a non-traditional way to use the Products variable. In this scenario, a subsidiary of Greco Inc. would like to track the effectiveness of internal promotion banners on their site. They use these internal promotional banners to promote specific products and for cross-sell. To do this, they would like to see how many impressions each internal banner received and then how many clicks each received so they can calculate an “Internal Promotion Click-through Rate.” However, this can be a bit tricky since one page on their site could have multiple internal promotion banners. While we might normally think about using an eVar to capture the internal promotion codes, since there are multiple codes passed on one page, this becomes problematic. The best an eVar can do is to concatenate the values into one string, which is not the easiest way to analyze this data. Therefore, let’s see how they can use the Products variable to accomplish this.

To start, they would need to assign a unique ID# to each version of each internal promotion banner. When the page loads, they would capture the ID numbers of all banners that appear on the page in the Products variable and set an “Impressions” Success Event. The tagging might look like this:;

Doing this would produce a report that looks like this:

If a visitor clicks on one of the internal promotions (say ID# 174), they would set a “Internal Promotion Clicks” Success Event and capture the clicked internal promotion in the Products variable again with tagging that looks like this:;

Then they would create a calculated metric that divides Success Event 16 by Success Event 15 and then they can see a report that looks like this:

As more internal promotions are shown and clicked, this report would receive more and more data so that over time, they could see which internal promotions are clicked the most. In this situation, I started each product value with the phrase “promo:” since in many cases you will use the Products variable for several things and having this prefix allows you to easily identify which values in the Products report are actual products and which ones are internal promotions.

Finally, it is important to note that if they wanted to see which internal promotion clicks later led to visitors completing Success Events on the site (i.e. purchases, sign-ups, etc…), the Products variable would not be ideal since it is not persistent like a Conversion Variable. For this reason, you might choose to capture the internal promotion code ID# that is clicked in an eVar (as shown above) so that you can see what internal promotions led to future success.

Have a question about anything related to Omniture SiteCatalyst? Is there something on your website that you would like to report on, but don’t know how? Do you have any tips or best practices you want to share? If so, please leave a comment here or send me an e-mail at _<insidesitecatalyst@omniture.com_> and I will do my best to answer it right here on the blog so everyone can learn! (Don’t worry – I won’t use your name or company name!). If you are on Twitter, you can follow me at

Learn more about Omniture Consulting

Learn more about Omniture University