We periodically update the Google Analytics
JavaScript Tracking Code (ga.js
) in order to deliver new
features and to repair defects discovered in previous versions.
This page documents any changes made to the ga.js
tracking
code. We recommend that you periodically check this list for any new
announcements. You can also subscribe to changes via the feeds
listed under the Subscribe section below.
Note that you and your users might not see the updated ga.js
tracking code right away because:
- Changes are incrementally rolled out over several days across Google's global data center infrastructure.
- Users of your website might have older versions of our javascript cached in their browsers.
Subscribe To Related Changelogs
Includes all Collection, Configuration, and Reporting APIs.
Includes Web Tracking (ga.js and analytics.js), Android SDK, iOS SDK, and Measurement Protocol.
Release 2014-06-25 (June 25, 2014)
- Hits that do not contain a valid tracking id are now dropped.
Release 2014-04-16 (April 16, 2014)
- Yahoo secure search is now correctly classified as an organic source.
- Added support for unprefixed prerendering apis. Prerendering now works in IE11 in addition to Chrome.
Release 2014-02 (February 11, 2014)
- Maintenance release.
Release 2013-11 (November 22, 2013)
- Improvements to support Universal Analytics upgrades on sites that use multiple trackers.
Release 2013-02 (February 13, 2013)
The following changes have been pushed to the latest version of the tracking code:
- Added support for specifying local currencies with
_set
, e.g.gaq.push(['_set', 'currencyCode', 'EUR'])
Release 2012-02 (February 24, 2012)
The following changes have been pushed to the latest version of the tracking code:
- The maximum allowed site speed sample rate (
_setSiteSpeedSampleRate
) has been increased from 10% to 100%. - The
_setAccount
method now trims any leading and trailing spaces.
Release 2012-02 (February 1, 2012)
The following changes have been pushed to the latest version of the tracking code:
- Updated the list of organic search engines detected by default. Added ‘startsiden.no’, ‘rakuten.co.jp’, ‘biglobe.ne.jp’, and ‘goo.ne.jp’. Removed ‘search’ and added ‘conduit.com’, ‘babylon.com’, ‘search-results.com’, ‘avg.com’, ‘comcast.net’, and ‘incredimail.com’ all of which were previously attributed together as ‘search’.
Release 2012-01 (January 26, 2012)
The following changes have been pushed to the latest version of the tracking code:
- The limit on custom variable length has been increased from 64 to 128 characters. Additionally, the length is now checked before URL encoding.
- The rate limit for event hits has been relaxed. You can now send 10 hits with 1 additional hit per second (previously this was limited to 1 hit every 5 seconds). Note that the 500 hits per session limit still applies.
__utmv
cookies are now written with a different variable separator (caret instead of comma) to be compatible with RFCs. This should fix some of the issues related to cookie encoding issues seen by customers.
Release 2011-11 (November 16, 2011)
Changes to Site Speed data collection:
- Site speed data is now automatically collected for all web properties at a 1% sample rate. The
_trackPageLoadTime
function, previously required to opt-in to site speed data collection, is now deprecated. - The default sample rate may be adjusted using the new
_setSiteSpeedSampleRate
function. - If a virtual path is used in the
_trackPageview
call, that path will now also be associated with any site speed data collected from that page.
Release 2011-10 (October 17, 2011)
This release contains the following new feature:
- Events can be marked as non-interaction by setting the new
opt_noninteraction
parameter of the_trackEvent()
method totrue
. Marking an event as non-interaction indicates that hits from the tagged event will not impact bounce rate. For more information, see the ga.js reference.
This release contains the following bug fix:
- Fixed an issue where propagating the AdWords
gclid
URL parameter on internal site links could result in inflated paid visit counts.
Release 2011-08 (August 16, 2011)
This release fixes a bug which caused inflated numbers of visits and/or a decrease in the number of new visitors for some sites. The first effect primarily affected sites with organic traffic coupled with specific user behavior. The second effect was only on sites using an unsupported tracking configuration with multiple trackers.
Release 2011-08 (August 11, 2011)
Changes to session calculations:
- One campaign per session: If a new campaign is started during an existing session, the tracking script will now automatically start a new session. A new campaign will be triggered by a change to any of the following fields: campaign id, name, source, medium, term, content, or gclid.
- The tracking script no longer starts a new session in the event that a user closes the browser.
Changes to cross-domain tracking:
- The call to
_setAllowHash(false)
is no longer required when configuring cross-domain tracking. Pages that already include a call to_setAllowHash(false)
will continue to work, but it is no longer required when setting up a new site. - The tracking script will now attempt to repair linker parameters that have been mangled by HTTP redirectors and browsers. Approximately 85% of linker values that are currently discarded due to encoding changes introduced by redirectors and browsers should now be successfully restored and accepted by the tracking script.
Release 2011-07 (July 26, 2011)
This release contains one new feature:
- The tracking code now postpones hits for prerendered pages until those pages are viewed by the user. If a prerendered page is never viewed, no hits are sent. This feature is only available to sites using the async tracking script. You can learn more about prerendering in Google Webmaster Central Blog.
Release 2011-07 (July 14, 2011)
This release contains a variety of bug fixes and refactorings, and one new feature:
- Added social tracking support ( _trackSocial )
Release 2011-05 (May 18, 2011)
This release contains the following bug fixes.
- Fixed a bug in cross domain tracking that caused incorrect encoding of campaign data in some cases.
- Fixed a bug in cross domain tracking that caused cookies to be loaded from the URL more than once, causing incorrect cookies in some cases.
- Fixed a bug in Custom Variables that caused some values to be encoded in reports.
Release 2011-04 (April 14, 2011)
This release contains regular maintenance including bug fixes and refactorings. There is no change to the public APIs or functionality.
Release 2011-03 (March 30, 2011)
This release contains updates and one new feature.
-
POST
support:- The tracking code can now send much larger tracking beacons. Traditionally, beacons have been sent via HTTP
GET
requests, which are limited to 2048 characters by some browsers and proxies. Requests over this limit were dropped and the data never reached Google Analytics. Starting with this release, requests longer than 2048 characters will be sent via HTTPPOST
, which has no such limit. The tracking code will now support beacons up to 8192 characters.
- The tracking code can now send much larger tracking beacons. Traditionally, beacons have been sent via HTTP
Release 2011-02 (February 17, 2011)
This release contains the following bug fixes.
- Fixed a bug that prevented
_addIgnoredOrganic
and_addIgnoredRef
from working properly on the first visit to a site. - Fixed an issue related to tracking code running across multiple iframes.
Release 2010-10 (October 4, 2010)
This release contains regular maintenance including bug fixes and refactorings. There is no change to the public APIs or functionality.
Release 2010-04 (April 20, 2010)
This release contains bug fixes and API cleanup.
-
Bug fixes:
- Fixed event tracking bug. Calling
_trackEvent
no longer requires calling_initData
or_trackPageview
first. - Updated async snippet so that it can be placed in the head on any page without causing problems in IE 6 and 7. See the Asynchronous Tracking Guide for the new snippet. This update occurred on 3/22/2010.
- Expanded async syntax to support calling methods on the
_gat
object.
- Fixed event tracking bug. Calling
-
Updated tracker initialization APIs to be consistent with async syntax. Also deprecated old functions.
- Added
_gat._createTracker(opt_account, opt_name)
function. Allows trackers to be named and later retrieved by their name.Use this instead of_gat._getTracker(account)
. - Added
_gat._getTrackerByName(name)
. Retrieves the tracker with the given name. - Added
tracker._getName()
. Returns the name given to the tracker when it was created. - Deprecated
_gaq._createAsyncTracker(account, opt_name)
. Use_gat._createTracker
instead. - Deprecated
_gaq._getAsyncTracker(name)
. Use_gat._getTrackerByName
instead.
- Added
-
See the Tracker Reference for details on these API changes.
Release 2009-12 (December 1, 2009)
This release contains updates to the default search engine list and new functions to control cookie timeouts. In addition, the asynchronous GA snippet is launched that reduces the ga.js latency impact on the page.
-
Updated the default search engine list
- Added Naver, Eniro and Daum search engines.
- Removed Looksmart, Gigablast, Club-internet, Netsprint, Intera, Nostrum and Ilse from the list.
-
Added functions to control cookie expiration times for all stored cookies. Deprecated existing cookie timeout functions. See the JS API documentation for more details.
_setVisitorCookieTimeout(cookieTimeoutMillis)
replaces the_setCookiePersistence
function._setSessionCookieTimeout(cookieTimeoutMillis)
replaces the_setSessionTimeout
function._setCampaignCookieTimeout(cookieTimeoutMillis)
replaces the_setCookieTimeout
function.
-
Launched asynchronous GA snippet. See documentation on how to try it out.
-
_setVar
function is now deprecated. Custom Variables feature replaces_setVar
. See documentation for more details.
Release 2009-11 (November 4, 2009)
This release contains:
-
Added a new function to retrieve visitor level custom variables. See the function documentation for more details.
_getVisitorCustomVar(index)
-
Instead of waiting for window.onload, Site Overlay content is loaded as soon as ga.js is executed.
Release 2009-10 (October 14, 2009)
This release contains a new feature:
-
Added an optional boolean parameter to
_addOrganic
function to specify if new organic sources are added to the beginning or the end of the organic source list. See the documentation for more details._addOrganic(newOrganicEngine, newOrganicKeyword, opt_prepend)
Release 2009-09 (September 28, 2009)
This release contains regular maintenance for performance improvements and refactorings. There is no change to the public APIs or functionality.
Release 2009-08 (August 31, 2009)
This release contains multiple bug fixes and performance improvements:
- Proper encoding for search terms for organic searches, web page path info for (utmp), and user defined values when used with the linker feature (ie:
_link
and_linkByPost
functions). - The search engine Rambler is added to the organic search list
- Organic search parsing is corrected for search engine http://kvasir.no
- New organic search engines defined by the user are now added to the top of the list
- Removed deprecated
_trackEvent(action, label, value)
function and replaced it with_trackEvent(category, action, label, value)
- Referrer URLs are now stored as case sensitive. For example: www.domain.com/PaGe.HtMl will be reported with case information.
- Added a 1200 character limitation to GASO token size.
- New function was added to allow overriding the default timeouts for cookies:
_setCookiePersistence(timeout)