Skip to main content

Sitecore and Universal Analytics

We recently moved from Google's Classic Analytics to Google's Universal Analytics, and I would like to share a few practices we used to make the transition easier.

  1. We have a Google markup Item we created in the content editor (simple text field) which we use to dynamically inject the UA code to the layout using a Literal that will accept the final <head> UA markup.
  2. Try to move all UA scripts from inline to a separate js file. This is a huge maintenance win for us as we have a central location where any UA changes can be made. The JS file basically is a "document.ready" script where all the elements and events we'd like to capture are placed. Use jquery's excellent 'binding' capabilities to be able to 'attach' an event to any specific element you have in your Sitecore pages. 
  3. We have another version of this same JS file that basically just contains pop-up alerts containing the actual UA call. This helps our SEO Analysts to check if the scripts are formatted correctly and are properly triggered.
  4. For pages like static pages that are not using the central JS file, we ran a custom command line utility utilizing regex to 'parse' each line, picking out the classic GA scripts and replacing them with the UA version. Something like the one below:
                  Regex regex = new Regex(@"_gaq\.push\(\['_[^']*'(,? ?[^,(\]\);)]*){0,4}?]\);");
                        if (regex.IsMatch(line))
                        {
                                  ....do some stuff here
                        }

Comments

Popular posts from this blog

Add Export to File Functionality in Sitecore's Search Options

One of our business users was requesting for a listing of items they've already added and have it available in a format that can be opened in a spreadsheet (Excel). My initial thought was to create a blank aspx page and write all the logic to get the data in the code-behind, run it and save the resulting file to a csv then I'm done. But then it got me to think, it might be a better idea to have this functionality plugged in to Sitecore and made available for everyone to use.  Sitecore Bucket's Search Options fly-out seemed a good candidate for this feature (See image below). So doing some quick readings I got myself in to the "zone" and started implementing this quick and dirty PoC. Just to explain what it actually does. User will basically do a search, ( Note that all search options require some filters or search keyword before any of the options can be used ) clicks the Export to File, it pops up a dialog to confirm the action and executes, after w...

Add/Allow a different media URL prefix in Sitecore (aside from tilde ~) in Sitecore 7.0

We recently had a requirement when one of our external vendors required that our media URLs should not include the "~" in the link as their system could not process those correctly. I found a few articles in the web, but most of them would suggest changing the default behavior, i.e. any "new" media item would have the 'new' replacement character though still supporting the tilde "~". Based on the web articles, I started with the following config keys and section: Media.RequestExtension Media.MediaLinkPrefix customHandlers We did not want to change any of the default behaviors, we just needed a way to make Sitecore support the additional URL media prefix. While sifting through the configuration, I chanced upon the following section: <mediaPrefixes>  According to the comment above it: Allows you to configure additional media prefixes (in addition to the prefix defined by the Media.MediaLinkPrefix setting)            The ...

Implementing a Secure Media library in Sitecore

Our internal clients wanted us to secure some of their resources stored in the media library so that only authenticated and authorized extranet users are able to view or download them. Our current setup has the following components, I'll simply focus on the 3rd and 4th points: Sharepoint Workflows on a Sharepoint 2007 Server. This serves as the working repository of the resource owners. Sitecore Sharepoint Integration Framework. This hooks up Sitecore with the designated document library in Sharepoint for all finalized files/documents Integration folder in the Media library Login page to handle the authentication Create your login page. You have the option to create your sublayout for this (mostly to control the page contents etc.) or you can just quickly create one and put it in one of your folders in your solution. I normally use CodeFile directive in my pages as we found it easier to maintain this type of setup in the long run. There are plenty of samples of the login ...