Upgrading Your Website’s Tracking to UA:

The following content is for existing users of Google Analytics (GA) using the ga.js library that would like to transfer your current Google Analytics property to Universal Analytics. If you do not already have a Google Analytics account, click here to read how to create a Universal Analytics account from scratch.

Switching or upgrading properties in your current GA account is a multi-step process. The time and resources required to upgrade your account and fully utilize Universal Analytics will vary depending on a number of factors, including the size and scope of your current implementation and time and resource constraints you may have, among others.

When should I upgrade to Universal Analytics?

  • All GA properties will ultimately be migrated to Universal Analytics. The exact timeframe of the mandatory migration has not yet been announced; however, the decision to switch now or later will depend on a couple different factors: – Do you use the dc.js JavaScript, instead of the default ga.js JavaScript? – If so, you will need to wait to transfer your properties until the features of dc.js are supported within analytics.js (the JavaScript library used for Universal Analytics)
  • Features of dc.js that are not yet supported are: – GA Remarketing
  • GA Demographics reports (age, gender, interests, etc.)
  • Google Display network (GDN) Impression Reporting
  • DoubleClick Campaign Manager Integration
  • Would you like to view your historic and future data in one property? – This question may seem like a trivial one at first, but Universal Analytics gives you the ability to change how some aspects of your data is captured and processed. These changes can make future data analysis less accurate depending on updates you may make to recognized organic search engines, session or campaign timeout parameters, etc.
  • If you plan on updating the processing/classification rules for Universal Analytics, it may be helpful to either create an all new Universal Analytics property within your GA account, or to create a well detailed documentation guide on the changes that have been made and what metrics can be accurately compared to one another over time.
  • Are you a GA Premium customer? – Currently, the SLAs that apply to GA Premium customers are not supported with Universal Analytics. If you are a GA Premium customer and would like to retain your SLAs, you will need to wait until a later phase in the migration process when the SLAs are supported.

Step 1: Transfer your property to Universal Analytics in the GA interface

For this step you will need to be an admin for the property that you intend to upgrade. If you are not an admin, please forward this link to an admin for your GA account/property and let them know you would like to begin the process.

  • Sign in to your GA account and navigate to the admin screen of the account and property you would like to upgrade. Here is a screenshot of what you should see for a property that has not been upgraded:
  • Under the Property dropdown you will see a link titled ‘Universal Analytics Upgrade’.  Click this link and your screen should display some information on the benefits of upgrading to Universal Analytics, as well as a button near the bottom that says ‘Transfer’.
  • Click this button and you should see a modal window speaking about the potential limitations of upgrading to Universal Analytics (see the ‘When should I upgrade to Universal Analytics?’ section below for more information on these items). Once you have read this information click the Transfer button again. This will start your transfer.
  • Transferring your property to Universal Analytics will take between 24 – 48 hours. The next step is to update the tracking code for your property.

Step 2: Updating Your Property’s Tracking Code

Upgrading your property to Universal Analytics in GA was a pretty easy step that should only take a few minutes. Once your property has been migrated within the GA interface, now comes the more resource intensive part of the upgrade process.

In order to utilize the full benefits of Universal Analytics, you will need to transfer all of your tracking codes from using the legacy methods to the methods used by the analytics.js JavaScript library. Depending on the size of your site, the resources you have available, and the timing requirements you have for upgrading to Universal Analytics, there are two options for how you can proceed:

  • Option 1: Use Airlock to help with the migration – Airlock is a free, open-source product built by Search Discovery for a variety of different users. If you don’t have the resources to retag your entire site, need to use certain aspects of Universal Analytics but don’t have the time to retag your entire site, or want to upgrade but don’t necessarily have the technical knowledge for your tracking codes to be updated, Airlock is a great near term solution that will get you using the full benefits of Universal Analytics in a very short time frame. Click the following link to learn more information on how to install and use Airlock.
  • Long term, we do recommend that you either retag your website using internal resources, deploy a tag management system that works with Universal Analytics tracking, or by contacting a digital analytics consultant to help guide you through the process.
  • Option 2: Retag your entire website with updated Universal Analytics tracking codes. – This option is the preferred method when migrating to Universal Analytics. In order to get the most benefit from this step, we recommend developing a digital analytics tracking framework and methodology for how data is to be captured. It is also beneficial to create well-detailed documentation on the different tracking requirements you have and the corresponding tracking codes so you will have this information for future GA updates.
  • To retag your current implementation there are a number of different modifications that you may need. Below, we will cover the migration of the most common features used. For a more robust list of the different tracking code modifications you may need, visit this GA Developers article for additional information. – The main tracking snippet. For every page that you track you should see something similar to the following code on each page:

When updating to Universal Analytics, all aspects of this snippet will need to be replaced to use the following code, with exception to the property ID used in the above _setAccount method:

If your current GA implementation uses a customized tracking snippet for things like setDomainName, please visit this GA Developers article for more information.
Event Tracking. For any events recorded in GA, such as PDF downloads, outbound links, etc., the syntax of the event tracking code will need to be updated. Your current event implementations will look something like the following: _gaq.push([‘
trackEvent’, ‘category’, ‘action’, ‘labeloptional’, valueoptionalNumber, noninteraction_optionalBoolean’]);

When updating the tracking codes, you will want to use the same values for category, action, label, etc. as you already have implemented, but you will want to update to the following syntax:

ga(‘send’, ‘event’, ‘category’, ‘action’, ‘labeloptional’, valueoptionalNumber, {‘nonInteraction_optional’: 1});

  • In the UA event code snippet above, if the nonIteraction parameter is set to 1, this event will not affect the bounce rate of your website when it fires. If you would like this event to affect the bounce rate, you can leave this parameter off and it will default to a value of 0.
  • Custom Variables. Custom variables no longer exist in the analytics.js library and have been replaced by custom dimensions. Custom dimensions and custom variables are very similar to one another, except custom dimensions must first be created and defined in your GA admin interface. You also have more custom dimensions available to you (20 vs. 5 for GA Standard and 200 vs. 50 for GA Premium users).To create a custom dimension in your GA admin interface, click on the custom dimensions tab in the property section, and then click on the custom dimensions link from the expanded section.Click the ‘New Custom Dimension’ button, provide a name, and the scope that you want the custom dimension to have. If you are updating from a legacy implementation of GA, it is recommended that you keep the same naming conventions, index, and scope for each custom variable that is currently in place.Once your custom dimensions are created within the GA admin interface, the syntax to use for custom dimensions is: ga(‘set’, ‘dimensionX’, ‘customdimensionvalue’);

  • In the above syntax for Universal Analytics, ‘X’ in ‘dimensionX’ is the index number for the custom dimension you are setting. The scope and name of the custom dimension will be matched to the index and value during data processing.

  • Virtual Pageviews. Virtual pageviews are probably the simplest of the tracking codes to update syntax for Universal Analytics. Below are ga.js and analytics.js code snippets: ga.js virtual pageview code snippet gaq.push([‘trackPageview’, ‘page path’);

analytics.js virtual pageview code snippet ga(‘send’, ‘pageview’, ‘page path’);

Once your tracking codes are updated on your website your Universal Analytics transfer process will be complete. You are now ready to discover the even more powerful capabilities of Universal Analytics and start exploring its amazing features.

Stuck on a part of the transfer process? Need help ensuring a smooth transition? Contact us to use our analytics consulting services for help with a smooth transition.

Leave a Comment

Your email address will not be published. Required fields are marked *

Contact Us

Related Posts

Join the Conversation

Check out Kelly Wortham’s Optimization based YouTube channel: Test & Learn Community.

Search Discovery
Education Community

Join Search Discovery’s new education community and keep up with the latest tools, technologies, and trends in analytics.

Follow Us


Share on facebook
Share on twitter
Share on linkedin
Scroll to Top