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.
- Hits that do not contain a valid tracking id are now dropped.
- 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.
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'])
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.
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’.
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.
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.
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 to
true
. 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.
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.
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.
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
.
This release contains a variety of bug fixes and refactorings, and one new feature:
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.
This release contains regular maintenance including bug fixes and refactorings. There is no change to the public APIs or functionality.
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 HTTP
POST
, which has no such limit. The tracking code will now support beacons up to 8192 characters.
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.
This release contains regular maintenance including bug fixes and refactorings. There is no change to the public APIs or functionality.
This release contains bug fixes and API cleanup.
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.
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.
This release contains a new feature:
This release contains regular maintenance for performance improvements and refactorings. There is no change to the public APIs or functionality.
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)