Omniture eVars, custom events & s.props – SiteCatalyst Tutorial

I wanted to share an analogy with anyone who might be trying to more firmly grasp some of the elementary concepts of Omniture’s SiteCatalyst analytics software. I’ll outline the meaning and intended use of:

  • eVars - (s.eVarN) aka “custom commerce variables”
  • s.props – (s.propN) aka “custom insight variables”
  • custom events – ( – “custom events”

Imagine there’s a bustling marketplace. You have many entrances, many shoppers, many browsers and in all likelihood a few shoplifters. If you were trying to better measure various metrics such as the ratio of those who enter the market to those who purchase, or even how many times people pass through a certain entrance you’d have quite a job to do. You’d have to be so many places at once with your eyes on more then you can possibly keep track of.

Cast a wide net and tag every entrance with java script tags! Custom insight variables or s.props will count whatever pass through them. Perhaps you’d like to find out the use frequency of the N entrances to the market. Let’s use

s.prop1=”entrance 1″ each time someone passes through entrance 1, and use s.prop1=”entrance 2″ each time someone goes into entrance 2. Keep in mind that although the values we’re passing through the custom insight variable vary, the actual tag (s.prop1) will stay the same for purposes of continuity. We can go into the SiteCatalyst admin and name s.prop1 “entrance frequency.”

So now you know where people are coming in…that’s nice. Say you want to know how many people go into store X in one month. Every time someone passes through the entrance point of store X you trigger a custom event, say”event1″ Now each time a shopper passes into the store the tally of event1 which will probably be set to “counter” if you’re not aggregating a monetary value the event count will increment upward by 1.

An astute reader will now say, “Jeff, what is this? You can just use a custom insight variable, why are you being all fancy using this custom event stuff eh??” Excellent point I’ll reply! I could use an s.prop and each time someone passes through the store entrance pass through the store name. So what’s the fundamental difference?

Well, when someone leaves the store it will also count them when you use a prop, whereas with the custom event you can serialize the event count so that you only increment the event once per “session” or visit. Is it better to know the number of times something passed through a gate or the # of unique people who went into the store that day? Both have a certain value (and that was a rhetorical question) but as we’ll see next, the custom event’s utility reaches further beyond that of the s.prop in the case of measuring commercial activities.

Okay, so we have the bustling marketplace, lots of people entering here and there, going into stores and we know from where they enter and which stores are most popular. The whole point of going there is to get them buying!!!! Spend your money with meeeeee says the marketplace’s collective wisdom.

Which entrance leads to the most revenue? Which store generates the most revenue? Let’s think about this…if we pass revenue into the s.prop, wait – you can’t do that it just counts the frequency of what gets placed into it, and how would you know what entrance they came into? If we set the custom event to “currency” (an advanced setting in the sitecatalyst administrative console) we can pass the revenue of each store into a custom event, but you’d have to use multiple custom events for each store. How can you get the data in 1 report.

Well first, to save face with any knowledgeable readers Omniture SiteCatalyst uses the s.products=”” tag to count revenue and product data so the custom event set to currency isn’t necessarily applicable here.

With that said, we can use the “custom commerce variable” aka the eVar (s.eVarN=”something”). A key feature of the eVar is it’s use of persistent cookies. Each eVar has its own unique attribution settings and you can control:

  • How long the persistent cookie will persist for.
  • Whether credit will be given to the first or last touched (first or last what, right? Whatever you put into the tag s.eVarN=”whatever is in here”).

I don’t think any cookie expiration length is typical, but attribution to the last item touched is. There is a great debate regarding the accuracy of this but in my view (without getting into great detail) I think it’s the best measurement.

So let’s set our eVar to persist for 1 day. When someone comes into the mall we have an entrance eVar, when someone enters a store we have a store eVar.

Someone comes into the mall -

s.eVar3=”west gate entrance”

Someone comes into Macy’s -


At day’s end you can run an eVar report for each custom commerce variable against revenue and you’ll see which entrance generated the most revenue and which store generated the most revenue.

In all fairness in this strange example we could use the store name as the products variable in the s.products string and eliminate the need for the eVar4 report but that’s too tangential to this discussion.

Another cool thing about the custom insight variable is you can correlate them with other traffic variables. So if I wanted to know which articles were most popular in my international news section of my news content site, each time a page was viewed in that section, the article name would be passed through the prop. Check it out:”international news”

s.propN=”9 out of 10 politicians at home and abroad are corrupt: public easily forgets”

You could then correlate channel and prop and see how popular articles were within the section.

If you need consulting shoot me an email at or catch me on LinkedIn:
View Jeffrey James's profile on LinkedIn - Omniture Consultant, SiteCatalyst Implementation Consultant and Consulting


About these ads

paid search expert, sitecatalyst/omniture consultant, professional search engine optimization

Posted in omniture, omniture tutorial, ppc tutorial
73 comments on “Omniture eVars, custom events & s.props – SiteCatalyst Tutorial
  1. Raja says:

    Good one. Please provide sample implementation of PDF download tracking

  2. Jeff James says:

    Hi Raja,

    Any pdf downloads are already being tracked and can be viewed:

    In SiteCatalyst go to:
    Traffic > Site Traffic > File downloads.

    You need to make sure that in your js file,

    s.trackDownloadLinks=true or else it won’t count downloads.

    Also, in the line,


    make sure you have pdf. Is that what you were after?


  3. Jeff James says:

    the js file s_code.js you retrieve out of the sitecatalyst admin panel, is what I’m referring to. You can check your sitecatalyst page code to find the file as its location is referenced there.

  4. Naman Raj says:

    Hello Jeff,

    This is Naman Raj. I would like to know that how to calculate Average Time Spent on the Site.

  5. shyam says:

    Hi Jeff,

    Can u please provide us with somemore indeepth information on Omniture implementation…or key role of all the metrics.

    • Jeff James says:


      If you have a query of particular interest please just let me know and I’ll try to do a quick writeup. Every site’s situation is unique although there are some common threads.



  6. Gustavo says:

    How about exit links what is the best way to track?

    • Jeff James says:


      Exit links are automatically tracked in Omniture.
      Pages >> Entries/Exits >> Exit links

      But, if you check the s_code.js file the bolded line below needs to be set to true in order for this to work.

      /************************** CONFIG SECTION **************************/
      /* You may add or alter any code config here. */
      /* Link Tracking Config */

      Hope this helps!


      • Brad says:

        One thing to be aware of is what domain(s) you put into the “s.linkInternalFilters” as this is how Omniture/SiteCatalyst can differentiate between a local and foreign domain.

        Any site you don’t want to track as an external link would need to go in here (ie, staging enviornments or links to a parent or sibling site that you don’t care to track).

  7. Ana says:


    i just got access to Sitecatalyst. How do i start.. can you please help me??


  8. richard says:


    How to find information about revenue generated for a particular search term in Sitecatalyst?


    • Jeff James says:


      You need to first pass revenue into SiteCatalyst, then you can run a traffic/campaign or eVar report and view this against revenue.

      In a very small nutshell, on the receipt page:”purchase”
      s.products=”Running;Shoe;1;69.95,Running;Socks;10;29.99″ /category;product;qty;total$
      s.purchaseID=”1234567890″ /just some unique number for serialization


  9. sarahd23 says:

    Good post! This is really helpful!

  10. [...] on Bravo, I played around with Omniture, an enterprise tool for web analytics.  I read some about page tagging variables in Omniture, but I’m not quite sure I understand when you use eVar versus sProp for every situation. [...]

  11. Nag says:

    Hi Jeff,

    Really a good post.Tutorial is very helpful

  12. Reymes says:

    Hi there Jeff,
    What a great tutorial man!!! I was just looking for a first approach to Omniture A. and your tutorial is the best one out there.
    Thanks for sharing,

  13. Jaspal says:

    Hi Jeff,

    How do i combine Google adwords with Site catalyst? I need to track paid search and emailers.


    • Jeff James says:


      The simplest way:

      1) Look in your s_code.js file for the getQueryParam method and see what value it’s currently looking for. Here’s an example:

      /* Plugin Example: getQueryParam v2.0 */

      So, cid is your campaign tracking parameter in this case. All of your paid search and or email URLs need to have a cid value attached to them:|adgroup|{keyword}

      if you do the above, which is only one way to generate the code (you may just wish to assign each campaign and adgroup a number, then each keyword within it one).

      campaign 1 = 07
      >adgroup = 01
      >> kw 01 001

      cmpid=07|01|001 – which would map back to your value in a lookup table, then you could use a pivot table to do the analysis. But I digress…

      whatever you choose – when you run a campaign tracking code report; select your events/revenue/orders etc…and either export for analysis or create advanced bookmarked searches in Omniture. If you only want campaign 1 tracking codes, filter by ’07|’, etc…

      You can also classify tracking codes via SAINT – but that’s another procedure entirely. There are ways to import cost via ‘data sources’ but it may be easier to join OMTR data with Google AdWords data (adwords editor) and proceed from there.



  14. Joe Kamenar says:

    Can an eVar be set to count non-related events that a visitor can do? I want to track specific actions that someone does on a site, as in how many times they modified an item, how many times they started a new reservation, how many times they clicked for directions, etc… Instead of doing all these as separate events, I want to just show them in one report, and be able to correlate these to success events.

    So, in one visit, can I do something like: eVar28 = “action 1″
    then later during the visit do: eVar28 = “action 2″ ?

    Thanks for any help

    • Jeff James says:

      Hi Joe,

      That’s not quite the intended use of an eVar, let me explain:

      First, check the eVar’s expiration settings and allocation (most people use ‘last touched’ and expire after 1 visit)

      this means that if you pass the following into a single eVar set to ‘last touched’, during some visitor session:

      s.eVar22=”added”, later s.eVar22=”modified”, lastly s.eVar22=”readded”

      then eVar22 will only recall “readded” because it was the last thing it ‘touched’. Alternatively, if you selected the allocation mechanism to credit the first thing touched, ‘added’ would be associated with whatever credit or events/revenue you’re associating it with. And make no mistake, any eVar value will be associated with any success events or revenue the visitor triggered on the site; this is the purpose of the eVar in the first place.

      I would suggest using custom events, or a combination of eVars against custom events which often times can minimize the absolute # of custom events required. But then again; you do have 80 events to choose from.

      Hope that helped,


  15. Maurice says:

    Thanks so much for sharing your experience..

  16. reagan says:

    Hi Jeff,

    i am new to omniture. do you have any idea on how to monitor the orders on a particular site?

    example: when the user input a credit card on a textfield, a certain javascript code will triggered on and connect to the omniture orders.


    • Jeff James says:

      Omniture uses 3 variables to track orders or transactions.


      Check in my earlier comments to see how these are populated in the context an actual transaction. OMTR will only know what you pass into it, however. Maybe I’ll do a post explaining this in greater detail.


  17. Ashar says:

    Hi Jeff,

    Really a great tutorial.

    I have a search functionality in my site.
    Can you tell me how I can track the link selected by user from the search results ??
    And also the page from where the search is originated ??

    I think there is a plugin getPreviousValue which can help to find the search origination page.

    • Jeff James says:


      Thanks for the feedback! A few ideas:

      If each results page of links has N results, why not append the next page with a param:

      Pretend I’m on your search results page:


      why not append something onto the URL dynamically when I click through:


      …Then, just look at a pages report and see what the distribution of clicks is like among the r=1 to r=N pages. This will just give you the distribution and the result will not be connected with events or sales, etc…


      Another way – pass the # URL on the page clicked into an s.prop, so if I click on the 6th link down, on the next page call:

      s.propN=”link 6″

      Again, just a way to count, not associate paths or this activity with events, orders


      To keep track of the URL the search began on, pass this value into an eVar. Then on the results page, either use an onclick custom event or on the next page trigger a custom event, which you can then map back to the eVar report with the page URL. Hope those ideas were helpful feel free to drop me a line to fine tune, etc…Hard to say precisely without knowledge of the app itself.



      • Ashar says:

        Jeff ,

        Thanks for such a detailed explanation , I will try to implement the logic you have mentioned and will get back to you if required.

        Sorry to bother once again , but today i came across an interesting thing while implementing site catalyst.

        While clicking on Links , my Site Catalyst code was working and i am able to populate s.prop and s.eVar s . But when i clicked on some button to submit a HTML form page i was getting an error 404 , and on removing site catalyst code , it was working fine as before.

        I debugged and found that for HTML form submission s_gi() function of s_code.js was not executing properly .

        Have you ever seen such scenario or might be particular in my case due to some coding problem ??

      • Jeff James says:


        I don’t think a method from your s_code.js file will have any impact on the availability of a page hosted on a remote server. The page must first load before the Omniture request is made…so, thinking about cause and effect it doesn’t add up!

        Let me know,


  18. Joe Fahr says:

    Hi Jeff,

    Question about picking up an existing Omniture implementation (and an extremely complex one at that).

    Question 1: I’m not sure I see the difference between using an Evar + custom event vs. using 2 prop fires and correlating the two. Say I had a “complete configuration” on load fire, and also had a users geography set on entry. I’d think that I could set prop fires on both actions and just correlate the 2? What’ s the added benefit of custom events?

    Question 2:

    Do you know of a way to decipher where information is being fed based on the page tag fires you can see in firebug/charles? I know that c11 = prop 11, var23 = evar23; and I believe that Events = Event 11, Event 23 are custom event fires, but I get lost after that. I notice a pagename fire that doesn’t seem to match what I see in the content report, and also see a v37= blahblah which I can’t match in the interface.

    Any help would be great!

    • Jeff James says:

      Hi Joe,

      Thanks for stopping by.

      Question 1: With s.props, or property variables, the out-of-box implementation doesn’t ‘sessionize’ the instance of the prop. In other words, your count will be potentially inflated count. Further, depending on your contract with Omniture/Adobe you have a fixed amount of correlations in SiteCatalyst – therefore if you can use custom events (you have almost a hundred) and at least 60 e.Vars or custom variables. If you explain a bit further what the goal of the report will be I’d be glad to dig deeper into the challenge with you. Another view, the event can be used for other eVars too should you ever implement them — prop correlations are much limited.

      Question 2: You can use the Omniture SiteCatalyst debugger to view the request information: here’s a summary

      create a bookmark using this code:
      When you’re on a page with Omniture tagging, press the bookmark and then a pop-up window will generate detailing the variables sent in the request. Try it on, and filter on just sitecatalyst requests.

      here’s a comprehensive list:

      JavaScript Variable Debugger Parameter
      pageName pageName
      server server
      pageType pageType
      channel ch
      prop1-prop75 c1-c75
      hier1-hier5 h1-h5
      campaign v0
      state state
      zip zip
      events events
      products products
      purchaseID purchaseID
      eVar1-eVar75 v1-v75
      charSet cs
      currencyCode cc
      visitorNamespace ns
      Referring URL r
      Current Page URL g
      VariableProvider (Genesis) vvp
      visitorID vid
      transactionID xact
      Visitor Migration Key vmt

      • Joe Fahr says:

        Thanks for the feedback Jeff!

        Sounds like props can work for my short term situation, but clearly Events + evars are just more flexible.

        It’s an interesting situation, but basically all of the “success” metrcis we’d normally use a custom variable to track aren’t available for us to track (handled by a 3rd party). Instead, we’ve used props as counters for different interactions, and then correlated them to get a sense of their crossover.

        Thanks again for the help!

      • Jeff James says:


        No problem, happy to give my input. Every situation is custom and there’s always a catch, to be sure. Good luck the the reports and come again.


  19. Piyush Srivastava says:

    Hi Jeff,

    Great post. Have a question for you. We have an ongoing campaign (on our homepage) for online enrollment to our website. Clicking the banner directs user to a landing page that starts the Enrollment process, …which is multiple page form. How can we set variables for Omniture to track the campaign success and possibly “revenue” generated? Would appreciate some advice on that. Thanks!

    Keep them coming. Cheers.

    • Jeff James says:

      Hey Piyush – thanks for the feedback.

      That sounds simple enough – here’s what you need to consider – note I’m assuming there are multiple ways to get to the conversion funnel or enrollment process and you wish to segment click behavior from the banner.

      1) Super Simple – tag the URL so that the landing page is like:

      if cid is your campaign tracking parameter this will set up internal campaign tracking (sort of like an eVar) and allow you to measure clicks against the cid=banner against revenue, orders or any other custom events you have implemented.

      2) More complex – do the same, but tag each flow in the funnel with a custom event:
      landing page – event1
      1st step – event2
      nth and final step – eventN

      then set-up a campaign tracking report and line up events 1-N to see drop-off etc…

      Also note I’m assuming that you’re tracking revenue on the site and it’s working :-) Now always the case…if the campaign’s revenue is realized elsewhere you may want to set up a generic transactionID data source but that comes at an additional cost and carries additional complexity with it.

      Hope that helped!


  20. Gurunath Solanki says:

    Hi Jeff,

    I want to assign following two urls to s.linkInternalFilters in s_code.js


    Could you please tell me the syntax.

    currently I have coded it in s_code.js as


    Please tell me is it the correct way?

    • Jeff James says:

      Hey Gurunath,

      Thanks for coming by – here’s what you need to do:


      The above should be fine, in your s_code.js file. As a check, make sure when you look under the paths > exit links report in SiteCatalyst, that none of your ‘internal’ links are being counted as exit links.


  21. Anju says:

    Hi Jeff,

    I am very new to Omniture , i have been searching for some tutorial /info about Omniture from past few days and i am really happy to have found you site. The tutorial is very informative and Just by reading your comments i got to know omniture better. Thanks a lotttt :)

    • Jeff James says:

      Hey Anju,

      Thanks for the positive feedback re: my Omniture tutorial — any questions drop me a line of post here. I’m updating more Omniture content at


  22. Joe Fahr says:


    Do you have much experience with DFA/Omniture integrations? We’re looking to get a clearer view of how our post-impression visitors interact with our site… any knowledge would be great!


    • Jeff James says:

      Hey Joe,

      I’ve never dealt with a Dart/Omniture integration, but I would imagine ‘view through visitors’ behave in a similar way that ‘click through visitors’ do…just a hunch and could be wrong though. What’s your gut telling you?


      • Joe Fahr says:

        I don’t think they do! For example, if I’m running a campaign and driving users to a landing page, my viewthrough traffic rarely makes it. I put a tag on the homepage as a gut check and lo and behold I had a significant # of folks exposed to media who didn’t actually click. I’m pretty curious how they’re interacting with the page and if it’s significantly different than a non-exposed visitor (i’m sure the quality of advertising has an effect there heh).

        I know there’s an integration that let’s you track this; can’t seem to find much on it though. I might just pull the info straight out of the DFA cookie and feed it into a prop/evar… not sure how well that will work though!

  23. Krista Gable says:

    Hi Jeff,
    Hoping you can provide some direction on the best way to solve this:

    We have a registration process in which the person is required to verify their email address. As not all people verify immediately, the session times out and we lose our evar data associated with that particular person. Any way to set the evars that they would fire upon click of the link in the email server or solely when these particular people reach the landing page? The landing page can be seen by anyone (whether they are a new registrant or not) as it is a general profile page so I don’t want to place the evars on the page itself as it seems it would skew new registrants versus existing customers.

    • Jeff James says:

      Hey Krista,

      Sure – this is an easy one:

      Go into your admin panel and set the eVar so it expires after the registration confirmation event….the data will ‘live’ indefinitely until that cookie sees the registration event, if it ever does.

      You can also run a data warehouse query where visits with registrations >=1 and use days since last visit if you want a feel for the distribution of time it takes to register.



  24. [...] around forever while Google Analytics Custom Events are relatively new. The most important types of Omniture custom events are summarized [...]

  25. guru says:

    hi this is guru .i have a doubt ,how much time it will take for the data to get updated in the omniture report

  26. guru says:

    i tried ,its taking a day to get updated ,once its getting updated on the same day,please let me know whats the problem

  27. Hey Jeff, I’m pretty much new to Omniture, the implementation went perfect on the website. Now what I need is something that would extract data from Omniture so I can find a way to figure which articles are the most popular by the number of pageviews they have. After that I could make a simple HTML list with the results.

    Thanks !


    • Jeff James says:

      Hey Johnny,

      Congrats re: your new implementation! First, look at your pages report in Omniture. What does the report look like? If it is to your satisfaction you can use a couple of tools to export/schedule:

      1) data extract – configure the extract straight from the sitecatalyst interface (pages first column up and down, 2nd column pageviews)

      2) scheduled report – csv, excel (limit 500 rows with excel), even MS word

      If you have data warehouse you can schedule a DW request and there’s also a tool called ‘report builder’ which is sort of like a realtime data extract but you may or may not have a license for it check with your admin or call client care if you’re a supported user.

      That help?



  28. awanish kaul says:


    I am using omniture in my site for tracking purpose.

    I have to use s_code.js file for variables submission

    Please suggest how can I do.

  29. naveed ahmed says:

    please forword to me also the omniture document to my id.i wnt to learn it from plz suggest me 4r the same.

  30. Steddy says:

    Hi Jeff,
    Really helpful information.

    However I am a bit lost checking what I’ve done.
    So I created a bunch of custom events with custom evars like you suggested….and they seem to post to site catalyst ok.

    However…I can’t seem to find a way to view the raw data in the Site Catalyst/Data warehouse…

    In your mind, what would be the simplest way to see if the raw data is in Site this possible via the UI…or is the only way to do it through some Data warehouse SOAP API black magic stuff??

    At present there are only a few test records.

    Yours curiously – Steddy.

    • Steddy, thanks.

      Have you configured the events in the admin panel? If you don’t have the events configured prior to omniture code implementation then SiteCatalyst won’t be able to ‘record’ the events.

      From a data warehouse perspective, you need to set-up the columns using your planned dimensions and metrics. Dimensions are eVars and dates or browsers, visitor states (eg 2nd visit, first time visit, etc….). Visits, views, custom events and other conversions are metrics obviously.

      Have you used data warehouse before?


  31. Ilja says:

    Hi, Jeff!
    I’m new in the Site Catalyst and seems like i had a similar problem.

    I had some custom properties (prop1, prop2 for example) in my web app, that i send to the Site Catalyst by, ‘o’, ) calling (Action Source Debug output is ok), but now i can’t find a way to get a report that can show me the values of that variables (actually, user’s account name and page loading frequency).

    One of the ways to get that values is by traffic reports->custom insight->custom insight 1-20 or by custom traffic->custom-traffic 1-20->Custom insight, but i don’t have such reports in the Report menu in the site catalyst.

    Can you describe to me, how can i get that reports back, or give a suggestion, how can i get the statistics, that i need?


    • Jeff James says:

      Yep, so you need to go into the administration console and make sure that the menu items are actually available. Sometimes people will hide menu items as to avoid confusion when no data is coming through. You can also rename the menu branch items to make the interface clearer for internal users. If I recall:

      admin home >> edit report suites >> general settings >> customize menus



  32. Baru says:

    I am new to omniture and I am thinkng iff its possible to push data into different Reporting suites based on the URL? The website is on WordPress.

    Thanks in advance.

    • Jeff James says:

      Hey Baru,

      Thanks for visiting! Here’s how it works. A report suite gets data depending on the report suite you have in the s_code.js file you’re referencing. Let’s say your Omniture page code looks like this:

      In that s_code.js file there’s a row pretty close to the top – var s_account. This determines what suite the data is sent to. Generally each URL will have its own report suite, correct. Hope this helps.

      /* Specify the Report Suite ID(s) to track here */
      var s_account=”reportsuitename”

  33. Jen says:

    Hi Jeff,

    I’ve had a lot of experience with implementing/testing Omniture code based on tagging provided by a web analyst, but the job of coming up with the tagging has now been dropped on my head. While I intend to go after some training to help with this, I came across this blog post and was hoping you might be able to help clarify one item that the business would like to track.

    First off, this post was very helpful, and I will look through your archives to see if I can learn more based on them.

    Second, maybe you could help steer me in the right direction, or at least see if my idea is sound…

    We want to track the number of users who log into the site 2+ times per month. The login redirects the user to the page where they clicked on login (so basically the logged in user can be taken to any page in the site). Obviously, I don’t want to use an s.prop to track this, or every page will be counted with the username.

    I know that you can serialize events by using event1:uniquevalue. What I’m thinking is that I use event1:UserID for users who are logged in. This should track once per session for the unique user and increment event1; however, this will lump together all the logged in users correct? So if I also use an eVar to track the user ID or username, I can create a report using the evar and add the event metric to see the users and how many times the different users logged into the site?

    Any thoughts? Am I even heading in the correct direction with this?


    • Jeff James says:

      Hey Jen,

      Thanks for the thoughtful question. When designing a solution for SiteCatalyst implementation always work from the report you need backward to the data you must collect (eg variables and conditions).

      In your case, here’s what I’d do: you have a username which represents a unique value, great. Let’s take an eVar, when the user logs in, place the value in the eVar. Let’s say I was ‘analytics_dude’

      s.eVar38=”analytics dude” – this would load after a successful login.

      If you have access to datawarehouse, you are done. You can simply structure a query that pulls eVar38 by VISITS for ‘last month’. Then simply sort by visits and see the frequency distribution.

      If you want to pull this data out of the interface, you can do the same thing but you may need to export it if you have tons of users.

      Lastly as a sanity check, after the visitor is logged in you can set some custom event and have client care set it to count ONLY ONCE PER SESSION. You need to call and ask for this. It is free though. You can breakdown your eVar username variable by this event and anything with 2 or more fits your bill.

      I personally like the first idea. Hope this helps.



      • Jen says:

        Thanks Jeff, that information is very helpful. I’m hoping to do the 4 hour online training session from Adobe in Nov, but I can’t wait that long to get the requirements written up for this site… :)

      • Jeff James says:


        No problem at all. If you run into any other questions feel free to post ‘em. It also helps the people who find this article daily.



  34. Kalpana says:

    Hi Jeff,
    A qq pls… i have s.trackExternalLinks=true and s.linkInternalFilters=”javascript:,.” in my s_code.js.
    The issue which i came across is.. i have several hyperlinks in my application and i wud like to tag only few of them. I wrote onClick event for the links i want.. but for rest its automatically calling the on clicking them. As read, linkInternalFilters ignores the links which matches the value mentioned. How do i restrict the automatic tracking of every hyperlink??

    Any help is much appreciated.


  35. Sudhakar says:

    Hi Jeff,

    Am working on a scenario were, need to find how many people access the particular login page (html) before they treid with their credentials.

    Simply say : how many are hit the login page, no matter they are logged in .

    I have added the s_code js file to corresponding location.
    i have also access the scrip tag in the login html page to import the s_code js file.
    How do i pass value (say User id) to Omniture tool from this step ?

    Please guide me on this….

    Thanks in Advance…

    Sudhakar K

    • Jeff James says:

      Hey Sudhakar – you could pass the userID into a eVar. Say s.eVar10=”omniture_consultant”; I’d also make sure that you have a custom event set-up on the login page and the page that follows it, to compare steps in a funnel fashion. If there’s a userID in the query string after logging in you could orchestrate that capture through the s_code.js file as well.


  36. kanan says:

    Hi Jeff,

    Wonderful Information on Omniture!. Thanks so much.
    I am new to Omniture and would like to learn it from Scratch. Interested more in working at Client Side Web Analytics but also need some admin information about Sitecatalyst to view reporting of the site. Is there any trial version/ simple turotial which I can refer to “Learn” both Server side reporting and setting up eVars,s.props, events on the pages of my site?.


    • Jeff James says:

      Hi KP,

      It’s hard to learn from scratch. The one thing I’d encourage you to think about is the general data model of sitecatalyst (adobe analytics, whatever). You have to capture data about the page you’re looking at. S.pagename,, s.propN, right? As a secondary consideration, do you want to x-reference and aggregate traffic within certain sections? Lastly, with content, do you need pathing enabled on any props? Pathing is enabled by default on pagename and channel.

      Then you have your hard action oriented metrics. Use custom events for this. Make sure you understand whether the event should count once per visit or each time the event happens. Some people think that just because they’re tracking the goal page, that’s enough. You can’t set-up a traffic or conversion variable report and look at ‘views of a goal page’. It’s much easier to just have a custom event.

      Then you need segments right? Keep in mind you can create visit, visitor or pageview level segments based on your pagename, channel, props and events. You can also use campaign tracking to set-up marketing channels, to get a holistic first/last touch view of success attribution on your site. But what about other breakdowns that really don’t have anything to do with traffic?

      - mdse category, page type, etc….

      Use the eVar for that – eVar config is the same as a prop, but the eVar sets a cookie which allows you to view events and revenue/transaction related data against them. Unlike a prop they do not allow pathing, but you can breakdown eVars by nearly anything. You can also set-up segments based on what you set in an eVar.

      If you only have props set-up, I’m pretty sure in datawarehouse you can subrelate props to conversion data as well (events, revenue, etc…). That’s a fallback though, don’t plan your analytics implementation around this.

      There are lots of nuances as you know, but without a good understanding of the above the nuances will overwhelm you.


  37. AB says:

    I want to track product ID from the url of the page – and planing to use the code –
    Where evar-25 = prodView

    if (document.URL.indexOf(‘/details’) > -1) = s.apl(, ‘prodView’, ‘,’, 2);

    Tell me where I am wrong…

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Expert Omniture SiteCatalyst Consultant
jeff james
Free 30 Minute Consultation
View Jeffrey James's profile on LinkedIn - Omniture Consultant, SiteCatalyst Implementation Consultant and Consulting
  • Omniture SiteCatalyst Implementation/Reporting
  • PPC Management - large scale campaigns and scripts
  • Big-site Technical SEO Strategy
  • Google Analytics (and Premium) Consulting
>> Click to Email

Get every new post delivered to your Inbox.

%d bloggers like this: