Archive for March, 2010

Integrating Voice of Customer

Posted on March 23rd, 2010 by Adam Greco  |  5 Comments »

In the Web Analytics space, we spend a lot of time recording and analyzing what people do on our website in order to improve revenues and/or user experience.  While this implicit data capture is wonderful, you should be supplementing it with data that you collect directly from your website visitors.  Voice of Customer (VOC) is the term often used for this and it is simply asking your customers to tell you why your website is good or bad.  There are two main ways that I have seen people capture Voice of Customer:

  1. Page-Based Comments – Provide a way for website visitors to comment on pages of your site.  This is traditionally used as a mechanism to get direct feedback about a page design, broken links or problems people are having with a specific page.  Unfortunately, most of this feedback will be negative so you need to have “thick skin” when analyzing this data!
  2. Website Satisfaction – Provide a way for visitors to rate their overall satisfaction with your website experience (vs. specific pages).  This is normally done by presenting visitors with an exit survey where you ask standard questions that can tell you how your website is doing and compares your site against your peers.

There are numerous vendors in each of these spaces and the goal of this post is not to compare them, but rather discuss how you can integrate Voice of Customer data into your Omniture SiteCatalyst implementation.  In this post, I am going to focus on the first of the aforementioned items (Page-Based Comments) and specifically talk about one vendor (OpinionLab) that I happen to have the most direct experience with (their headquarters was a mile from my home!).  The same principles that I will discuss here can be applied to all Voice of Customer vendors so don’t get hung up on the specific vendor for the purposes of this post.

Why Integrate Voice of Customer into SiteCatalyst
So given that you can see Voice of Customer data from within your chosen VOC tool, why should you endeavor to integrate Voice of Customer and your web analytics solution?  I find that integrating the two has the following benefits:

  1. You can more easily share Voice of Customer data with people without forcing them to learn [yet] another tool.  People are busy and you are lucky if they end up mastering SiteCatalyst, lest you make them learn how to use OpinionLab, Foresee Results, etc…
  2. Many Voice of Customer tools charge by the user so if you can port their data into SiteCatalyst, you can expose it to an almost unlimited number of users.
  3. You can use Omniture SiteCatalyst’s date and search filters to tailor what Voice of Customer each employee receives.
  4. You can divide Voice of Customer metrics by other Website Traffic/Success Metrics to create new, interesting KPI’s.
  5. You can use Omniture SiteCatalyst Alerts to monitor issues on your site.
  6. You can use Omniture Discover to drill deep into Voice of Customer issues

I hope to demonstrate many of these benefits in the following sections.

How to Integrate Voice of Customer into SiteCatalyst
So how exactly do you integrate Voice of Customer data into SiteCatalyst.  For most VOC vendors, the easiest way to do this is by using Omniture Genesis.  These Genesis integrations are already pre-wired and make implementation a snap (though there are cases where you may want to do a custom integration or tweak the Genesis integration).  You can talk to your Omniture account manager or account exec to learn more about Genesis.

Regardless of how you decide to do the implementation, here is what I recommend that you implement:

  1. Set three custom Success Events for Positive Page Ratings, Negative Page Ratings and Neutral Page Ratings.  These Success Events should be set on the “Thank You” page after the visitor has provided a rating.
  2. Pass the free form text/comment that website visitors enter into an sProp or eVar.  If they do not leave a comment pass in something like “NO COMMENT” so you can make sure you are capturing all comments.  If you are going to capture the comments in an sProp, I recommend you use a Hierarchy variable since those have longer character lengths vs. normal sProps which can only capture 100 characters.
  3. Pass the actual page rating (usually a number from 1 to 5) into an sProp.  I also recommend a SAINT Classification of this variable such that you classify 1 &2 as Negative, 3 as Neutral and 4 & 5 as Positive.  This classification should take less than 5 minutes to create…
  4. Use the PreviousValue plug-in to pass the previous page name to an sProp.
  5. Create a 2-item Traffic Data Correlation between the Previous Page (step #4) and Page Rating (step #3).  This allows you to see what page the user was on when they submitted each rating.

All in all, this is not too bad.  A few Success Events and a few custom variables and you are good to go.  The rest of this post will demonstrate some of the cool reports you can create after the above implementation steps are completed.

Share Ratings
As I mentioned previously, you [hopefully] have users that have become familiar with the SiteCatalyst interface.  This means that they have Dashboards already created to which you can add a few extra reportlets.  In this first example, let’s imagine that you want to graphically represent how your site is doing by day with respect to Positive, Negative and Neutral ratings.  To do this, all you have to do is open the Classification version of the Page Rating report (can be an sProp or eVar – your call) and switch to the trended view.  You should have only three valid values and I like to use a stack ranked graph type using the percentage to see how I am doing each day as shown here:

This graph allows me to get a quick sense of how my site is doing over time and can easily be added to any Dashboard.

You can also mix your newly created Voice of Customer Success Events with other SiteCatalyst metrics.  For example, while you could look at a graph/trend of Positive or Negative Comments by opening the respective Success Events, a better way to gauge success is to divide these new metrics by Visits to see if you are doing better or worse on a relative basis.  The following graph shows a Calculated Metric for Negative Comments per Visit so we can adjust for traffic spikes:

Find Problem Pages
Another benefit of the integration is that you can isolate ratings for specific pages.  The first way to do this is to see which pages your visitors tend to rate positively or negatively.  In the following report, you can open the Rating variable report (or Classification of it as shown below) and break it down by the Previous Page variable to see the pages that most often had negative ratings:

This will then result in a report that looks like this:

Alternatively, if you want to see the spread of ratings for a specific page, all you need to do is find that page in the Previous Page report and break it down by the Rating variable (or its Classification) as shown here:

Share Comments
As noted above, if you capture the actual comments that people leave in a variable, you will have a SiteCatalyst report that captures the first 256 characters of the comments visitors enter.  This report duplicates scheduled reports from your Voice of Customer vendor in that it allows you to share all of the comments people are leaving with your co-workers.  However, by doing this through SiteCatalyst, you gain some additional functionality that some VOC vendors don’t provide:

  1. You can create a Traffic Data Correlation between the Comments variable and the Previous Page variable so you can breakdown comments for a specific page.  Therefore, if you have users that “own” specific pages on the website, you can schedule daily/weekly reports that contain comments only for those pages so they don’t have to waste time reading all of the comments left by visitors.
  2. You can use the Search filter functionality of SiteCatalyst to scan through all of the visitor comments looking for specific keywords or phrases that your co-workers may be interested in.  In the example below, the user is looking for comments that mention the words “slow” or “latent” to be notified of cases where the visitor perceived a page load speed issue:

Set Alerts
Another cool thing you can do with this integration is set automated Alerts in SiteCatalyst so you can be notified when you see a spike in Negative Comments on your site.  This allows you to react quickly to broken links or other issues before they affect too many visitors (and help avoid #FAIL posts in Twitter!).  Here is an example of setting this up:

Review Problem Visits using Omniture Discover
Finally, if you have access to Omniture Discover, after you have implemented the items above, you can use Discover to do some amazing things.  First, you can use the unlimited breakdown functionality to zero in on any data attribute of a user that is complaining about your site.  For example, if you had visitors complaining about not being able to see videos on your site, you might want to see their version of Flash, Browser, OS, etc… or even isolate when the problem took place as shown here:

Additionally, you can use Discover to isolate specific comments and watch the exact visit that led to that comment.  This is done through a little-known feature of Discover called the “Virtual Focus Group.”  This feature allows you to review sessions on your site and see the exact pages people viewed and some general data about their visit (i.e. Browser, GeoLocation, etc…).  While not as comprehensive as tools like Clicktale, it is good enough for some basic analysis.  Here is how to do this:

  1. Open Discover and find the comment you care about in the custom sProp or eVar report
  2. Right-click on the row and create a Visit segment where that comment exists
  3. Save the segment in a segment folder
  4. Open the Virtual Focus Group (under Pathing in Discover)
  5. Add your new segment to the report by dragging it to the segment area
  6. Click “New Visit” in the Virtual Focus Group
  7. Click on the “Play” button to watch the visit

Now you can watch how the user entered your site, what pages they went to and see exactly what they had done prior to hitting the Voice of Customer “Thank You” page.

Final Thoughts
So there you have it, a quick review of some cool things you can do if you want to integrate your chosen Voice of Customer tool and Omniture SiteCatalyst.  This is by no means the only way to do this, but merely a few suggestions that I have found helpful over the years.  If you have done other cool things, please let me know…

Adam Greco is the Director of Web Analytics at Salesforce.com.  You can read his previous Inside Omniture SiteCatalyst blog at http://blogs.omniture.com/author/agreco/ and can follow him on Twitter at http://twitter.com/adamgreco.  You can also hear Adam on the BeyondWebAnalytics podcast.  Please send questions and comments to adam@the-omni-man.com.

Please note: I am no longer an employee of Omniture and the content/views expressed here are my own and not those of Omniture.

Quick Tip: Discover Time Saver!!

Posted on March 16th, 2010 by Adam Greco  |  No Comments »

Thanks to Laura MacTaggart in the Omniture Consulting group, I just learned an awesome Discover time-saver I felt obligated to share.

Have you ever needed to pull a bunch of different successive reports in Omniture Discover?  Maybe you want to look at Pages, then Visit Number, then Campaigns, but for each you want to see the same metric columns.  If you are like me, you open a new report and then have to re-add all of the metrics that you want to see.  If you are looking at a lot of reports this is very tedious and can drive you crazy.  However, I just learned of a “hidden” Discover feature that can avoid all of this (maybe you all knew about this, but I certainly didn’t!).  Here is what you do:

  1. Open the first report you want to analyze
  2. Add the metrics you want to see
  3. When you are ready to see the same metrics for a different report, simply right-mouse click on the name of the report (above the rows of values as shown below – in this report you would right-mouse click on “Pages (Traffic)”)
  4. Select the “Change Report” option and select the new report that you want to see!

Presto!  You are now looking at a different variable report using the same metrics without having to re-add all of your metrics…Coolness!

In other good news, Laura MacTaggart and Derek Tangren from Omniture Consulting will soon be starting a blog on blogs.omniture.com to discuss all things Discover so be on the lookout for that!!

Adam Greco is the Director of Web Analytics at Salesforce.com.  You can read his previous Inside Omniture SiteCatalyst blog at http://blogs.omniture.com/author/agreco/ and can follow him on Twitter at http://twitter.com/adamgreco.  You can also hear Adam on the BeyondWebAnalytics podcast.  Please send questions and comments to adam@the-omni-man.com.

Please note: I am no longer an employee of Omniture and the content/views expressed here are my own and not those of Omniture.

Advanced Percent of Page Viewed

Posted on March 15th, 2010 by Adam Greco  |  10 Comments »

[Warning: Some elements of this post are meant for advanced SiteCatalyst users so read at your own risk!]

Last week, Ben Gaines (@OmnitureCare) wrote a great blog post about the getPercentPageViewed JavaScript plug-in, which he had demonstrated in his Summit presentation.  This plug-in is very fun and I have enjoyed using it.  While this topic is fresh in people’s mind, I wanted to throw out some additional/advanced uses of this plug-in in case they are relevant to those out there using it or thinking about implementing it.

Beyond % of Page Viewed
When I first started using the aforementioned plug-in, my goal was like most, to see the total % of each website page that my visitors viewed.  I found the Browser Height report to be too limiting (shows pixels, not % of page viewed) and this plug-in helped provide some additional insight.  However, after using the plug-in, and correlating % of Page Viewed to pages, I realized that there were a few more things that could be done with this concept.  The next question that popped in my head was “I wonder what % of the page, for each website page, can be attributed to scrolling?”  After all, the % Page Viewed plug-in really only shows you how much of the page they saw in total, but not how much of the page they initially saw vs. saw because they scrolled.  This line of thinking drove me to ask what else could be learned from this plug-in such as:

  1. Total % of Page Viewed by Page Name
  2. % of the page that users tend to scroll by Page Name
  3. Initial % of Page visitors tend to see before they start scrolling (to get around the pixel limitation of the Browser Height report)

As I mentioned earlier, Ben’s post covered item #1 above, so in this post, I will show you how to solve items #2 and #3.

How Much Are Users Scrolling on each Page?
To see how much visitors are scrolling on each page, I asked my developer if he could calculate the actual % of the page that users scroll through the plug-in.  Through his supreme awesomeness, he told me that he could.  That meant that we would have the total % of the page that was viewed and the % representing scrolling (both available on the next page as described by Ben).  From there, we decided that we would concatenate the two values into an sProp.  This means that the sProp Ben described would be slightly different such that instead of having raw number values (i.e. 100, 95, 56, etc…), it would have two values concatenated together as shown below [TOTAL % OF PAGE VIEWED]|[TOTAL % VISITOR SCROLLED]:

(Before you get scared, bear with me as I will show you how to deal with these strange looking values in the next few paragraphs!)

Once you have these concatenated values in the sProp, it is time to classify them using SAINT Classifications.  To do this, you create the following classifications of this sProp:

  • Total % Page Viewed.  This is the first of the two values and this classification replicates what Ben blogged about.
  • Scrolling %.  This is the second value and represents the % of the page the visitor scrolled to see.

When you are done with this, you can see the report Ben showed in his post, but can now see the following additional report:

Through this clever classification, you can see how often people on your website tend to scroll.  In this case, it looks like 73.2% of visitors don’t reach for that scroll bar!  However, as Ben stated, all of this data is more valuable when viewed by Page Name.  Since this Scrolling % report is really a classification of an sProp that is correlated to the Previous Page Name sProp, any classifications of it will also be correlated to Previous Page Name (if you understand that in one reading you are a true SiteCatalyst ninja – if not, re-read it a few times).  This means that you can break the above report down by Page Name, or in other words, you can look at any page on your website and determine how often visitors are scrolling.  To do this, simply open your Previous Page Name report, find the page you care about, and break it down by the Scrolling % (classification of the Percent of Page Viewed sProp).  In the following example, we can see how much visitors scroll when looking at the Home Page:

In this case it looks like about half of the time visitors are scrolling on the Home Page.  Finally, if you want, you can bucket these Scrolling percentages into more meaningful groupings by adding additional SAINT classification columns as Ben described.

What % of the Page Do Visitors See Upon Page Load?
So the other thing I wanted to see was the percentage of the page that visitors see before scrolling.  I don’t like looking at Browser Height pixels, but would rather simplify things and see the exact % of the page my visitors are seeing – period!  Unfortunately, there is not an easy way to do this in SiteCatalyst.  However, when I was looking at the above items in this plug-in, I realized that the answer to this question was a side-benefit of doing the SAINT Classification shown above.  Think about it…we have the Total % of the Page Viewed and the Total % that visitors scrolled, both concatenated in an sProp as shown above.  If you subtract these two values, you are left with the percent of the page that visitors saw before scrolling (in other words, upon page load)! For example, if the value in the sProp is “58|10″ (see first row of example above), then we know that the visitor saw a total of 58% of the page and they scrolled 10% of it, so they must have seen 48% of it initially (good thing web analysts like math!).

Therefore, when you are classifying the sProp shown above, you can add a new Classification of the Percent of Page Viewed sProp named “Initial % of Page Viewed” and simply subtract these two values and add that as a new classification (no new data to collect!).  When you do this, you end up with a new report that shows you the total % of pages visitors tend to initially see like this:

Here we can see that, in general, about 60% of visitors are essentially seeing the entire page without having to scroll.  Again, we can group these values into more meaningful buckets using SAINT, but the real power is seeing this Initial Page Viewed % classification by a specific Page Name.  Again, using the Home Page as an example, the following report shows how much of the Home Page most visitors see before scrolling:

What’choo Talkn ‘Bout, Willis?
OK…I know this sounds complicated, but really all you need to do is slightly modify the code (see below) that Matt Thomas  (of Omniture Consulting) created and that Ben alluded to in his post to add one concatenated value (% Scrolled).  The majority of the hard work is in building the SAINT classification file to get all of these cool, new reports.  Well the good news there is, that I have already created the file which you can use as a starting point for these extra reports.  All you have to do is to download it by clicking here (save .TAB file to your hard drive).  Simply save this file and add the values to your own SAINT template after you have created the Classifications mentioned in this post.

So there you have it…a few additional ideas for you to ponder while you have % of Page Viewed on the brain…  If you have other ideas or questions, please leave a comment here…Thanks!

FOR OMNITURE GEEKS ONLY!
Here is the “enhanced” JavaScript code that modifies the great code that Matt Thomas (from Omniture Consulting) created and is in the Omniture KnowledgeBase.  This is not currently supported by Omniture so use at your own risk!

/*
* Plugin: getPercentPageViewed v1.x
* This code has been modified from the original version distributed
* by Omniture and will not be supported by Omniture in any way
*/
s.getPercentPageViewed=new Function("",""
+"var s=this;if(typeof(s.linkType)=='undefined'||s.linkType=='e'){var"
+" v=s.c_r('s_ppv');s.c_w('s_ppv',0);return v;}");
s.getPPVCalc=new Function("",""
+"var dh=Math.max(Math.max(s.d.body.scrollHeight,s.d.documentElement."
+"scrollHeight),Math.max(s.d.body.offsetHeight,s.d.documentElement.of"
+"fsetHeight),Math.max(s.d.body.clientHeight,s.d.documentElement.clie"
+"ntHeight)),vph=s.d.clientHeight||Math.min(s.d.documentElement.clien"
+"tHeight,s.d.body.clientHeight),st=s.wd.pageYOffset||(s.wd.document."
+"documentElement.scrollTop||s.wd.document.body.scrollTop),vh=st+vph,"
+"pv=Math.round(vh/dh*100),cv=s.c_r('s_ppv'),cpi=cv.indexOf('|'),cpv="
+"'',ps='';if(cpi!=-1){cpv=cv.substring(0,cpi);ps=parseInt(cv.substri"
+"ng(cpi+1));}else{cpv=ps=0;}if(pv<=100){if(pv>parseInt(cpv)){ps=pv-M"
+"ath.round(vph/dh*100);s.c_w('s_ppv',pv+'|'+ps);}}else{s.c_w('s_ppv'"
+",'');}");
s.getPPVSetup=new Function("",""
+"var s=this;if(s.wd.addEventListener){s.wd.addEventListener('load',s"
+".getPPVCalc,false);s.wd.addEventListener('scroll',s.getPPVCalc,fals"
+"e);s.wd.addEventListener('resize',s.getPPVCalc,false);}else if(s.wd"
+".attachEvent){s.wd.attachEvent('onload',s.getPPVCalc);s.wd.attachEv"
+"ent('onscroll',s.getPPVCalc);s.wd.attachEvent('onresize',s.getPPVCa"
+"lc);}");
s.getPPVSetup();

Adam Greco is the Director of Web Analytics at Salesforce.com.  You can read his previous Inside Omniture SiteCatalyst blog at http://blogs.omniture.com/author/agreco/ and can follow him on Twitter at http://twitter.com/adamgreco.  You can also hear Adam on the BeyondWebAnalytics podcast.  Please send questions and comments to adam@the-omni-man.com.

Please note: I am no longer an employee of Omniture and the content/views expressed here are my own and not those of Omniture.

Twitter Integration Enhancement Ideas

Posted on March 9th, 2010 by Adam Greco  |  2 Comments »

As I was at Omniture Summit last week, I couldn’t believe that it had already been a year since I started talking about integrating Twitter data into Omniture SiteCatalyst!  Since I haven’t seen many updates about this integration come from Omniture, I thought I would share a few enhancements I have made over the year in case any of them are useful to those out there using the integration…

Competitor Twitter Share
When I first envisioned importing Twitter data into SiteCatalyst, my primary focus was tracking how often my brand was mentioned and importing the brand-related tweets.  This allowed me to monitor my brand usage and filter tweet reports to send the right tweets to the right people based upon search phrases.  However, the more I thought about it, the more I realized that this integration could be used to keep tabs on competitors as well.  Instead of setting one “Brand Mentions” Success Event, you could expand the scope of what is tracked and also grab tweets mentioning your competitors and set a second Success Event named “Competitor Tweets.”  This second Success Event allows you to trend your competitors and track them on the same SiteCatalyst dashboard you use to track your own brand:

This led me to another cool idea…Why not track overall “Competitor Tweet Share” in which you quantify the % of tweets your brand gets in relation to those of your competitors?  This would allow you to trend your “share of twitter” for your narrow competitive niche.  To do this, create a Calculated Metric as follows:

This results in a graph like this which allows you to see when spikes occur to see if local events or press releases move the needle:

You can also set Alerts based upon this Calculated Metric to be notified when you are spiking or tanking in relation to your competitors!

General Tweets
The next concept I thought about was “general tweets” that were related to a business.  For example, if you are Coca-Cola, you might want to keep tabs on tweets mentioning “soda” or “soft drink.”  However, you wouldn’t want these counted as “Brand Tweets” or “Competitor Tweets,” so instead you can set a third Success Event called “Twitter General Mentions” and specify a list of keywords that should trigger this Success Event.  This allows you to see if a list of “general” keywords related to your business is rising or falling over time to gauge the general level of interest in your category over time:

#Fail
Lastly, I decided that the #Fail hashtag was too good to pass up.  If your brand is mentioned in the same tweet as the #fail hashtag, you probably want your social media team (if you have one!) to be alerted at once!  To do this, all you have to do is create a scheduled report with #Fail in the search box and schedule it to run hourly.  Unfortunately, SiteCatalyst delivers hourly reports whether there is data or not (to stop this please vote for this idea) so you may need your social media folks create an Outlook rule to filter the alerts that say “No Data” in the subject.

In addition, you can perform the same exercise for your “Competitor Tweets” since your social media team may want to be notified when your competitors have a #Fail hashtag in tweets mentioning their brand name!

So there you have it…a few minor updates or enhancements to the Twitter – SiteCatalyst integration.  If you have other ideas, please leave a comment here…Thanks!

Adam Greco is the Director of Web Analytics at Salesforce.com.  You can read his previous Inside Omniture SiteCatalyst blog at http://blogs.omniture.com/author/agreco/ and can follow him on Twitter at http://twitter.com/adamgreco.  You can also hear Adam on the BeyondWebAnalytics podcast.  Please send questions and comments to adam@the-omni-man.com.

Please note: I am no longer an employee of Omniture and the content/views expressed here are my own and not those of Omniture.


Page, Section, Site Naming Best Practices

Posted on March 1st, 2010 by Adam Greco  |  9 Comments »

Recently on Twitter, there was some discussion about the best way to name your pages in SiteCatalyst.  Therefore, I thought I would share some thoughts on the best way to set names for Pages, Sections, etc… when using SiteCatalyst.  Hopefully, you are already doing most of what I will mention here, but just in case, here are my suggestions.  Also, keep in mind that many people have different styles of naming pages (and feel very strongly about it!) so what is shown here are my personal preferences…

Naming Pages
If you don’t manually apply a “friendly” page name to the s.pagename Traffic variable (sProp) in SiteCatalyst, Omniture will capture the URL by default.  This is not ideal for the following reasons:

  1. URL’s can be very long and exceed the sProp character limit (normally 100 characters)
  2. URL’s can be hard to understand by end-users
  3. URL’s can have querystring parameters that get cutoff which means that many pages get treated as one page name in SiteCatalyst (which ruins Pathing reports)
  4. URL’s can have a http:// and https:// versions which means two versions of each URL which subdivides Pathing, Unique Visitors, etc…

Therefore, it is highly recommended that you name your pages the way you would like to see them in the Pages report.  I generally recommend naming pages based upon directory structures or manually by adding fields to your content management system.  Once you figure out how you will name your pages, the key question is what should you name your pages.  Here are my recommendations:

  • Make sure all pages within each unique website have a common identifier.  For example, if you have three distinct websites that serve different purposes, I like to assign a value in the page name for each website so I can easily filter those pages in a global report suite (one that has data from all websites).  For example, for the Omniture website, I would have an identifer for the public (marketing) website (i.e. “omtr:”) and a different identifier for say the Idea Exchange (i.e. “ideas:”).
  • I like to include the section in the page name when possible.  For example, if the Omniture public website has a section for “Products” and another for “Services,” I would include those in the page name (i.e. “omtr:products:” or “omtr:services”).  This allows you to easily filter Page reports to get all of the pages within a section.  Some companies also include the sub-section in the page name which is fine as long as you don’t hit the sProp character limit.
  • Make sure all pages have a unique name.  If you have two pages with the same exact page name, SiteCatalyst will treat them as a single page and all stats for that page will be merged (including paths).
  • Be mindful of case-sensitivity.  sProps are case-sensitive, so if you have the same pagename value, but in different cases, you will get two distinct page names.  A common best practice is to force upper or lower case in the JS file to avoid any issues.

So if you put all of these ideas together, a list of your pages might look like this:

One wrinkle that can emerge are cases where you have multiple geographic websites.  For many companies, this results in a similar version of the website, but translated into different languages.  If you have this situation, I recommend tweaking the above page names to include a site locale indicator.  For example, each page in the UK site should have “uk:” in the page name and so on.  When this is done, your page names might look like this:

[Advanced User Alert - If you have multiple site locales, I also recommend passing the page name without the site locale to a different sProp (with Pathing enabled) so you can see how a page does across all site locales (i.e. Participation).  I also like to pass the site locale by itself to a separate sProp so in a global report suite I can create correlations between sProps and other variables (i.e. Internal Search Terms).]

One other item related to site locales is the use of different languages or translated pages.  While I do recommend different page names for each site locale, I do not recommend that you have different pagen ames for the same page translated into different languages.  You can read more about this in my old Foreign Language post.

As you can see, this doesn’t look all that hard to implement, but by using the above items you can easily:

  • Filter pages for a website (i.e. omtr: vs. ideas:)
  • Filter all pages for a specific section (Search contains :services:)
  • Filter all pages for a particular site locale (Search contains “:uk:”)
  • Filter on a combination of the above items.  For example, let’s say you wanted to see all UK Product pages (Search contains “:uk:products:”)

When you look at this it makes common sense, but I can’t tell you how many clients I ran into that had incomprehensible page naming which made everything more difficult.  Even if it means losing some historical page data, I always recommend that clients have good page names as it pays great dividends down the road…

Site Sections (s.channel)
After dealing with Page Names, the next thing I like to tackle is Site Sections.  These are useful if you want to see how visitors are navigating your website at a higher level than pages.  If you have good page names, you really should be able to build your Site Sections by setting it equal to the page name minus everything past the last “:” symbol.   For example, in the example above, if the page name is “omtr:us:services:consulting” then the section would be “omtr:us:services” (you choose whether you want to include the “:” at the end or not).  I have seen many clients that can set Site Section values automatically based upon good page names which saves a lot of development work and ensures consistency.

Site
One variable that many clients forget to include is the Site variable.  Essentially, what you are doing here is to pass in a value for the website by itself into an sProp.  In the example above, this would mean values of “omtr” or “ideas” by themselves in an sProp.  Doing this allows you to see total Visits and Unique Visitors by site in one report and when Pathing is enabled, allows you to see how people are navigating from one website to another.  Again, if you have good page names, you can set the Site variable by simply grabbing everything before the first “:” symbol in the page name.

Page Type
Those of you who have read my previous blog posts know that I am a fan of setting a Page Type on each page that represents the function of the page.  I won’t rehash this topic, but recommend you check out my prior post on this.

Advanced Stuff
For those who are a bit more advanced in their SiteCatalyst usage, you can check out the following page related advanced topics:

So there are a few items related to naming Pages, Sections, etc…Let me know if you find these tips helpful and/or if you have come up with best practice suggestions of your own you’d like to share…

Adam Greco is the Director of Web Analytics at Salesforce.com.  You can read his previous Inside Omniture SiteCatalyst blog at http://blogs.omniture.com/author/agreco/ and can follow him on Twitter at http://twitter.com/adamgreco.  Please send questions and comments to adam@the-omni-man.com.

Please note: I am no longer an employee of Omniture and the content/views expressed here are my own and not those of Omniture.