Measuring mobile user actions in SiteCatalyst

In a previous post, I described custom link tracking, its various uses, and implementation techniques. Link tracking is awesome because it opens up a wide variety of data points and user experience aspects that can’t always be tracked on page loads. But everything hinges on the s.tl() function, which is part of the SiteCatalyst JavaScript code base. What happens if your users don’t have JavaScript enabled? This is very rare among desktop web users, but with the mobile web only gaining momentum, it’s an important question. How can we measure user actions if we don’t have the s.tl() function available to us?

If mobile web measurement is important to your online business initiatives, then you’ve probably already seen the Mobile Device Reporting guide. This document shows how you can use a hard-coded (although perhaps dynamically generated server-side) image request like the one shown below to pass page view data into SiteCatalyst even when the user doesn’t have JavaScript available.

This would count a page view for “Mobile Home” (gn= is the same as pageName=; mobile implementations allow you to substitute shorter parameter names), and a click-through for the “mobile_campaign” tracking code. You’ll do something very similar to implement link tracking on mobile sites, but you will instead use an anchor tag, where the href (destination URL) property is the Omniture image URL. Here’s an example, with the elements just mentioned in red:

REDIR/?url=http%3A%2F%2Fm.mysite.com%2Fdestination_page.html&ev=event2&v5=link%20click&pe=lnk_o&pev1=D=url&pev2=mobile%20link%20click" />

There are a few important differences between this example and the one given above. As explained, we’re using an anchor tag rather than an image tag. There is a /REDIR/ element at a specific point in the path. There is a url= query parameter, the value of which is the destination URL for the page that we want the user to end up viewing after clicking the link. And all of the standard link tracking parameters (pe=, pev1=, and pev2) are present. Note that we’re using one of the coolest features of SiteCatalyst mobile measurement—“dynamic” variables (indicated by “=D=url”)—to set the pev1= parameter equal to the page URL. This can save tons of characters in your request URL!

This will send all of the data in this image request to SiteCatalyst, and then it will take the user to the URL given in the url= parameter. As shown above, for example, an instance of event2 will be counted. The value “mobile link click” will show up in the Custom Links report. Had I wanted to do so, I could’ve set props, eVars, or the products variable. It captures everything that you want to measure regarding the user action, just like a normal, JavaScript-based request. It then redirects the user to the URL given in the url= parameter, so that to the end user, it behaves just like a normal link.

UPDATE (9 Feb 2015): Adobe now enforces a whitelist on domains for redirects. This means that in order to use the feature described in this post, you must first clear the redirect domains with Adobe. More information on this process can be found in “Exit Link Tracking Redirects” in the Adobe Analytics online documentation.

You’ll want to set the link tracking parameters correctly, so here is a table showing what they represent:

ParameterDefinitionPossible/example values

A few final notes:

  1. Make sure to put the url= parameter first in a mobile link tracking tag. This ensures that the user is correctly redirected even if the mobile device truncates the request of the request URL.
  2. We don’t need a random number in the link tracking request, since we aren’t concerned about the link getting cached (as we typically are when receiving an image).
  3. Using 5.4 in the beacon ensures that the visitor ID method order stays consistent if using /5/ for the standard page view beacons. (See the Mobile Device Reporting guide for more information on this.)
  4. The pev2= parameter isn’t strictly necessary. It may be omitted in these requests; the pev1= value (the link URL) will display in reports instead.
  5. Using first-party cookies is strongly recommended for mobile implementations and will make the link URLs much friendlier; I used them in the examples above (“metrics.yoursite.com”). If you are not using first-party cookies, simply replace “metrics.yoursite.com” in the examples above with “[your namespace].[112 or 122].2o7.net.”

There you have it. Make sure you refer back to my post on link tracking if you have any questions about the concept or value of what I’ve described here. One final tip: As you may have noticed in the examples in this post, I URL encoded everything (e.g., %20 instead of a space). Make sure to do this when implementing mobile web measurement in SiteCatalyst; it will ensure that your data looks exactly the way you want it to look!

Questions? Concerns? Applause? Please feel free to contact me by leaving a comment on this post, or via Twitter or FriendFeed. I’d love to hear from you!