Show Menu

JavaScript H Code - Legacy

Cumulative release notes for Legacy JavaScript H code.
To find the current library version, use DigitalPulse Debugger .

H.27.5 - Update

Release Date: June 16, 2016
Inclusion of Visitor API 1.5.7.

H.25.5 - Update

Release Date: May 19, 2016
Inclusion of Visitor API 1.5.5.

H.27.5 - Update

Release Date: November 5, 2015
  • Inclusion of Visitor API 1.5.3.

H.27.5 - Update

Release Date: September 17, 2015
  • Inclusion of Visitor API 1.5.2.

H.27.5 - Update

Release Date: August 20, 2015
  • Inclusion of Visitor API 1.5.1.

H.27.5 - Update

Release Date: June 18, 2015
  • Inclusion of Visitor API 1.5.

H.27.5 - Update

Release Date: May 21, 2015
  • Inclusion of Visitor API 1.4

H.27.5 - Update

Release Date: April 16, 2015
  • Added Integrate module to s_code.js in legacy AppMeasurement for JavaScript H.X ZIP file. (AN-101001)


Release Date: February 19th, 2015
  • Inclusion of Visitor API 1.3.5.
  • Changed to not perform automatic referrer tracking after first tracking call, so the 2nd, 3rd, etc., tracking call (usually link tracking) will not double count the referrer when s.referrer was manually set before the first tracking call. (AN-92647)

H.27.4 - Update

Release Date: January 15, 2015
  • The distribution zip was updated to include Visitor API 1.3.4.
Release Date: September 18, 2014
  • Added a tagContainerMarker variable that allows the implementation to specify up to 4 characters that are appended to the version string along with an additional dash character delimiter. This is used by dynamic tag management.
  s.tagContainerMarker = "D1.0"; 
  // Data Collection request 


Release Date: August 21, 2014
  • Internal changes to support upcoming features.


Release Date: June 19, 2014
  • Fixed handling of done and waiting flags for Visitor API fields such as the legacy Analytics Visitor ID, that was causing errors.
  • Support for new features in visitor ID service 1.3.


Release Date: June 11, 2014
  • Fixed an issue in the Analytics for Target integration that caused some hits to incorrectly be merged.


Release Date: May 22, 2014


Release Date: October 17, 2013
  • Added alt="" to all Image objects to comply with Accessible Video and Communications Act.


Release Date: July 18, 2013
  • The hash/fragment is now ignored by automatic link tracking. Previously the following URL was automatically tracked since the entire href ended in .pdf :
  <a href="index.htm#anchor.pdf">Test Link</a>

Now the hash / fragment is ignored so the link is tracked only when the filename ends in an extension that matches.


Release Date: April 29, 2013
  • the useForcedLinkTracking option that is described in Manual Link Tracking Using Custom Link Code now applies to Firefox 20+ (previously this applied to WebKit browsers only).
  • Image object ID generation is now unique between instances. This prevents collisions when more than one instance is on the same page.


Release Date: April 19, 2013
  • Fixed an issue in forced link tr Windowsacking that caused a JavaScript error on some Android 2.2 Devices.
  • In video auto tracking on Media Player, fixed an issue in scrubbing that caused time played to not be tracked correctly.


Release Date: February 2013
  • Changed automatic exit link tracking to always ignore links with HREF attributes that start with # , about: , or javascript: .
  • Refined scope of click events affected by useForcedLinkTracking . The automatic forced link tracking applies only to:
    • <A> and <AREA> tags
    • The tag must have an HREF attribute
    • The HREF can't start with # , about: , or javascript:
    • The TARGET attribute must not be set, or the TARGET needs to refer to the current window ( _self , _top , or the value of )


Release Date: January 2013
  • Added support to send URLs longer than 255 bytes to support the expansion of the Page URL field in Adobe Data Collection servers. Page URLs longer than 255 bytes are split, with the first 255 bytes appearing in the g= parameter, with the remaining bytes appearing later in the query sting in the -g= query parameter. This helps prevent long URLs from taking precedence over other data in the case of browser truncation, but still enables capturing of long URLs.
  • Fixed handling URL decoding for strings that are encoded with a mixed use of escape and encodeURIComponent .
  • Fixed an issue in WebKit browsers where link tracking fails if the first server call on the page times out.
  • Added a new fallback visitor identification method. See Identifying Unique Visitors .
  • Added a new abort flag that can be set inside doPlugins . Setting this flag to true causes the AppMeasurement library to not continue with that tracking call. The abort flag is reset with every tracking call, so if a subsequent tracking call also needs to be aborted the flag will need to be set again inside doPlugins .
  s.doPlugins = function(s) { 
       s.campaign = s.getQueryParam("cid"); 
       if ((!s.campaign) && (! { 
            s.abort = true; 

This lets you centralize the logic you use to identify activity that you do not want to track, such as some custom links or external links in display ads.


Release Date: October 2012
  • Added support for reporting an additional version number in the JavaScript version report. Previously this version was limited to 2 characters (for example, 1.8). Support was added for a 3 character version number (for example, 1.8.5).
  • Fixed an issue with Tag Manager that prevented repeated values in Dependant Code blocks from being sent.


Release Date: September 2012
  • Forced URL encoding for the following characters:

This resolves issues with un-escaped characters being stored in the ClickMap s_sq cookie.
  • Fixed an issue that might cause the video complete event to not be sent when using a custom media.monitor method that tracks the media close event:
  If(media.event=="CLOSE") { 


Release Date: July 2012
Made an update to ensure that link tracking completes successfully on WebKit browsers (Safari and Chrome). After this update, download and exit links that are automatically tracked (determined by s.trackDownloadLinks and s.trackExternalLinks ) are tracked successfully. If you are tracking custom links using manual JavaScript calls, you need to modify how these calls are made.
For example, exit and download links are often tracked using code similar to the following:
  <a href="" onclick=",'o','link name',null)">

FireFox and Internet Explorer execute the track link call and open the new page. However, WebKit browsers might cancel execution of the track link call when the new page opens. This often prevents track link calls from completing when using WebKit browsers.
To workaround this behavior, H.25 includes an overloaded track link method ( ) that forces WebKit browsers to wait for the track link call to complete. This new method executes the track link call and then handles the navigation event, instead of using the default browser action. This overloaded method requires an additional parameter, called doneAction , to specify the action to take when the link tracking call completes.
To use this new method, update calls to with an additional doneAction parameter, similar to the following:
  <a href="" onclick=",'o','link name',null 
  <codeph outputclass="syntax"> ,'navigate');return false"> 
  </codeph outputclass="syntax">

Passing 'navigate' as the doneAction mirrors the default browser behavior and opens the URL specified by the href attribute when the tracking call completes.
The following table summarizes the configuration variables and updates made to H.25 to support this functionality.
This flag is used to disable forced link tracking for WebKit browsers. Forced link tracking is enabled by default for WebKit browsers and is ignored by other browsers.
Default Value
The maximum number of milliseconds to wait for tracking to finish before performing the doneAction that was passed into . This value specifies the maximum wait time. If the track link call completes before this timeout the doneAction is executed immediately. If you notice that track link calls are not completing you might need to increase this timeout.
Default Value
trackLink ( )
Tracks exit, download, and custom links. Provides an optional parameter to specify a navigation action to execute after the track link call completes on WebKit browsers.
doneAction : (optional) Specifies the action to take after the link track call is sent or has timed out (based on the value specified by s.forcedLinkTrackingTimeout ). The doneAction can be the string 'navigate', which causes the method to set document.location to the href attribute of linkObject . The doneAction can also be a function allowing for advanced customization.
If providing a value for onclick in an anchor false event, you must return after the href call to prevent the default browser navigation.
To mirror the default behavior and follow the URL specified by the doneAction attribute, provide a string of 'navigate' as the doneAction .
Optionally, you can provide your own function to handle the navigation event by passing this function as the $1 .
<a&nbsp;href="..."&nbsp;onclick=",'o','MyLink',null,'navigate');return&nbsp;false">Click&nbsp;Here</a> <a&nbsp;href="#"&nbsp;onclick=",'o','MyLink',null,function(){if(confirm('Proceed?'))document.location=...});return&nbsp;false">Click&nbsp;Here</a>


Release Date: April 2012
This update is recommended for all customers.
  • Made an enhancement to detect when a page is prerendered using Google Chrome Prerender ( ). Since Prerender loads and executes JavaScript and other code, this could result in page views being sent before a user clicks to visit your site. The JavaScript library now waits until the user visits your site before sending server calls for these prerendered pages.
  • Added the timestamp variable to the JavaScript library for customers who want to customize timestamp data similar to other AppMeasurement libraries.
  s.timestamp=Math.round((new Date()).getTime()/1000); 


Release Date: February 2012
  • Fixed an issue that caused extra data to be included in the image request for customers using Javascript Object.prototype overrides. All Object.prototype usage is now skipped when handling context data variables.
  • Fixed an issue that caused the pe query parameter to be passed twice with the same value in some circumstances.
  • Fix to ClickMap tracking in JavaScript to ignore clicks to the body tag, even when the tag has an onClick event handler.
  • Added time stamp to variables used with light tracking calls ( trackLight ).


Release Date: January 2012
  • Updated video tracking with a new method to track complete video views.
  • Fixed an issue that caused an "Attribute only valid on v:image" JavaScript error for OnClick events on VML elements in IE.
  • Fixed a bug where context data variables were not included in link server calls, despite being referenced in linkTrackVars . Context data variables are used with Processing Rules.


Release Date: November 2011
  • Updated video tracking to combine hits for segments and milestones that occur at the same time.


Release Date: November 2011
  • Internal updates to support Adobe Tag Manager.


Release Date: November 2011
  • Internal updates to support Adobe Tag Manager.


Release Date: October 2011
  • Fixed an issue that caused the linkTrackVars=none and linkTrackEvents=none settings to not apply when using automatic exit link tracking. These settings now apply for automatic exit links so that props, eVars, and events are not sent in with the exit link image request.


Release Date: September 2011
  • Removed border attributes from image tags on mobile devices to comply with Wireless Markup Language (WML) standards. This fixes rendering issues on some mobile devices.


Release Date: August 2011
Fixed accuracy of percentage measurements in video tracking.


Release Date: July 2011
  • Added support for Adobe Tag Manager.


Release Date: June 2011
  • Fixed an issue that caused JavaScript errors when accessing certain properties of Vector Markup Language (VML) shape elements.
  • Referral strings that are over 255 characters are now truncated by shortening the path rather than the query string. This fixes issues were query string parameters were truncated and not collected.


Release Date: May 2011
  • Fixed an issue that prevented the video tracking (pev3) variable from being sent.
  • Fixed an issue that prevented the s_gi call from enabling code to be compatible with both G and H code. When you pass a 1 as the second parameter to this call the code is now configured to be compatible with both versions.


Release Date: April 2011
  • Support for contextData that drives server-side processing rules (v15 only).
  • Support for light server calls (v15 only).
  • Support for assigning a value other than 1 to a counter event in the events list.
  • Support for new method of tracking video using conversion eVars and events (currently in beta).
  • Removed support for setting Media.trackWhilePlaying to false. It will always be true.
  • Added debugTracking flag to enable logging of requests send to Firebug console just like the other platforms.
  • Make sure "+" is always URL-encoded regardless of browser.