Show Menu
TOPICS×

Configuration variables

Configuration variables control the way data is captured and processed in reporting. The most-common configuration variables that are typically set in the main global JavaScript AppMeasurement.js). These variables can be set within the Analytics page-level code and links when appropriate.
Not all of these variables appear in the code by default when you generate code through the Admin Tool > Code Manager. Some of these configuration variables may not be applicable to your site's implementation needs.
Some of the goals of using these configuration variables are:
  • Track multiple sites/domains.
  • Use any currency on purchases.
  • Capture data indifferent languages.
  • Link tracking (number of downloaded files, links to external sites.
  • Track custom links for unique purposes.
AppMeasurement requires that all configuration variables are set before the initial call to the track function, t(). If configuration variables are set after the call to t(), unexpected results may occur. To ensure proper data collection, all configuration variables must be above the doPlugins function.

s.account

The variable determines the report suite where data is stored and reported.
If sending to multiple report suites (multi-suite tagging), s.account may be a comma-separated list of values. The report suite ID is determined by Adobe.
Parameters
Max Size
Debugger Parameter
Reports Populated
Default Value
40 Bytes
In the URL path
N/A
N/A
Each report suite ID must match the value created in the Admin Console. Each report suite ID must be 40 bytes or less, but the aggregate of all report suites (the entire comma-separated list) has no limit.
The report suite is the most fundamental level of segmentation in reporting. You can set as many report suites as your contract allows. Each report suite refers to a dedicated set of tables that are populated in Adobe's collection servers. A report suite is identified by the s_account variable in your JavaScript code.
Within Analytics, the site drop-down box in the upper left of the reports displays the current report suite. Each report suite has a unique identifier called a report suite ID. The s_account variable contains one or more report suite IDs to which data is sent. The report suite ID value, which is invisible to Analytics users, must be provided or approved by Adobe before you use it. Every report suite ID has an associated "friendly name" that can be changed in the report suites section of the Admin Console.
The s_account variable is normally declared inside the JavaScript file (s_code.js). You can declare the s_account variable on the HTML page, which is a common practice when the value of s_account may change from page to page. Because the s_account variable has a global scope, it should be declared immediately before including Adobe's JavaScript file. If s_account does not have a value when the JavaScript file is loaded, no data is sent to Analytics.
Adobe's DigitalPulse Debugger displays the value of s_account in the path of the URL that appears just below the word "Image," just after /b/ss/. In some cases, the value of s_account also appears in the domain, before 112.2o7.net. The value in the path is the only value that determines the destination report suite. The bold text below shows the report suites that data is sent to, as it appears in the debugger. See DigitalPulse Debugger.
https://mycompany.112.207.net/b/ss/ 
<b>mycompanycom,mycompanysection</b>/1/H.1-pdv-2/s21553246810948?[AQB]
Syntax and Possible Values
The report suite ID is an alphanumeric string of ASCII characters, no more than 40 bytes in length. The only non-alphanumeric character allowed is a hyphen. Spaces, periods, commas and other punctuation are not allowed. The s_account variable may contain multiple report suites, all of which receive data from that page.
var s_account="reportsuitecom[,reportsuite2[,reportsuite3]]"
All values of s_account must be provided or approved by Adobe.
Examples
var s_account="mycompanycom"
var s_account="mycompanycom,mycompanysection"
Configuring the Variable in Analytics
The friendly name associated with each report suite ID can be changed by Adobe Customer Care. The friendly name can be seen in Analytics in the site drop-down box in the top, left section of the screen.
Pitfalls, Questions, and Tips
  • If s_account is empty, not declared, or contains an unexpected value, no data is collected.
  • When the s_account variable is a comma-separated list (multi-suite tagging), do not put spaces between report suite IDs.
  • If s.dynamicAccountSelection is set to True the URL is used to determine the destination report suite. Use the DigitalPulse Debugger to determine the destination report suite(s).
  • In some cases, VISTA can be used to alter the destination report suite. Using VISTA to re-route or copy the data to another report suite is recommended when using first-party cookies, or if your site has more than 20 active report suites.
  • Always declare s_account inside the JS file or just before it is included.

s.dynamicAccountSelection

The variable lets you dynamically select the report suite based on the URL of each page.
dynamicAccountSelection does not work with custom link tracking.
Max Size
Debugger Parameter
Reports Populated
Default Value
N/A
N/A
N/A
False
Both dynamicAccountList and dynamicAccountMatch are ignored if the dynamicAccountSelection variable is not declared or set to 'false.'
Syntax and Possible Values
s.dynamicAccountSelection=[true|false]
Only 'true' and 'false' are allowed as values of dynamicAccountSelection.
Examples
s.dynamicAccountSelection=true
s.dynamicAccountSelection=false
Configuration Settings
None
Pitfalls, Questions, and Tips
  • Dynamic account selection is not supported by AppMeasurement for JavaScript.
  • Always use the DigitalPulse Debugger to determine which report suite is receiving data from each page.

s.dynamicAccountList

AppMeasurement for JavaScript can dynamically select a report suite to which it sends data. The variable contains the rules used to determine the destination report suite.
Max Size
Debugger Parameter
Reports Populated
Default Value
N/A
N/A
N/A
""
This variable is used in conjunction with the dynamicAccountSelection and dynamicAccountMatch variables. The rules in dynamicAccountList are applied if dynamicAccountSelection is set to 'true,' and they apply to the section of the URL specified in dynamicAccountMatch.
If none of the rules in dynamicAccountList matches the URL of the page, the report suite identified in s_account is used. The rules listed in this variable are applied in a left-to-right order. If the page URL matches more than one rule, the left-most rule is used to determine the report suite. As a result, your more generic rules should be moved to the right of the list.
In the following examples, the page URL is www.mycompany.com/path1/?prod_id=12345 and dynamicAccountSelection is set to true and s_account is set to mysuitecom.
DynamicAccountList Value
DynamicAccountMatch Value
Report Suite to Receive Data
mysuite2=www2.mycompany.com;mysuite1=mycompany.com
window.location.host
mysuite1
"mysuite1=path4,path1;mysuite2=path2"
window.location.pathname
mysuite1, mysuite2
"mysuite1=path5"
window.location.pathname
mysuitecom, mysuite1
"myprodsuite=prod_id"
window.location.search?window.location.search:"?")
myprodsuite
Syntax and Possible Values
The dynamicAccountList variable is a semicolon-separated list of name=value pairs (rules). Each piece of the list should contain the following items:
  • one or more report suite ID (separated by commas)
  • an equals sign
  • one or more URL filters (comma-separated)
s.dynamicAccountList=rs1[,rs2]=domain1.com[,domain2.com/path][;...]
Only standard ASCII characters should be used in the string (no spaces).
Examples
s.dynamicAccountList="mysuite2=www2.mycompany.com;mysuite1=mycompany.com"
s.dynamicAccountList="ms1,ms2=site1.com;ms1,ms3=site3.com"
Configuration Settings
None
Pitfalls, Questions, and Tips
  • Dynamic account selection is not supported by AppMeasurement for JavaScript.
  • If the page URL matches multiple rules, the furthest rule on the left is used.
  • If no rules match, the default report suite is used.
  • If your page is saved to someone's hard drive or translated via a web-based translation engine (such as Google's translated pages), the dynamic account selection probably won't work. For more precise tracking, populate the s_account variable server-side.
  • The dynamicAccountSelection rules apply only to the section of the URL specified in dynamicAccountMatch.
  • When using dynamic account selection, be sure to update dynamicAccountList every time you obtain a new domain.
  • Use the DigitalPulse Debugger when trying to identify the destination report suite. The dynamicAccountSelection variable always overrides the value of s_account.

s.dynamicAccountMatch

The variable uses the DOM object to retrieve the section of the URL to which all rules in are applied.
This variable is only valid when dynamicAccountSelection is set to 'True.' Since the default value is window.location.host, this variable is not required for Dynamic Account Selection to work. For additional information, see dynamicAccountList.
The rules found in dynamicAccountList are applied to the value of dynamicAccountMatch. If dynamicAccountMatch only contains window.location.host (default), the rules in dynamicAccountList apply only to the domain of the page.
Max Size
Debugger Parameter
Reports Populated
Default Value
N/A
N/A
N/A
window.location.host
Syntax and Possible Values
The dynamicAccountMatch variable is usually populated by the Adobe consultant who provides the AppMeasurement for JavaScript file. However, the values listed below may be applied at any time.
s.dynamicAccountMatch=[DOM object]
Description
Value
Domain (default)
window.location.host
Path
window.location.pathname
Query String
(window.location.search?window.location.search:"?")
Domain and Path
window.location.host+window.location.pathname
Path and Query String
window.location.pathname+(window.location.search?window.location.search:"?")
Full URL
window.location.href
Examples
s.dynamicAccountMatch=window.location.pathname
s.dynamicAccountMatch=window.location.host+window.location.pathname
Configuration Settings
None
Pitfalls, Questions, and Tips
  • Dynamic account selection is not supported by AppMeasurement for JavaScript.
  • When pages are saved to a hard drive, window.location.host is empty, causing those page views to be sent to the default report suite (in s_account).
  • When a page is translated via a web-based translation engine, such as Google, the Dynamic Account Selection does not work as designed. For more precise tracking, populate the s_accountvariable server-side.

s.dynamicVariablePrefix

The variable allows deployment to flag variables, which should be populated dynamically.
Cookies, request headers, and image query string parameters are available to be populated dynamically.
Max Size
Debugger Parameter
Reports Populated
Default Value
N/A
D=
Any
D=
Syntax and Possible Values
s.prop1="D=User-Agent”
OR USE CUSTOM FLAG FOR DYNAMIC VARIABLES
s.dynamicVariablePrefix=".."
Examples
s.prop1="D=User-Agent”
OR USE CUSTOM FLAG FOR DYNAMIC VARIABLES
s.dynamicVariablePrefix=".."
s.prop1="..User-Agent"
Pitfalls, Questions, and Tips
  • Dynamic variables can be used to significantly reduce the total length of the URL by copying values into other variables.
  • Dynamic variables can be used to collect data from headers and cookies not otherwise available for data collection.

s.charSet

The charSet property, which is normally set in the JavaScript file, is used by Analytics to convert incoming data into UTF-8 for storage and reporting by Analytics.
The value of the charSet property should match the web page encoding in the META tag or http header, even though the syntax may differ slightly. Although the META tag may use an alias for the encoding, the value of charSet should use the preferred (or official) name of the encoding.
Some of the more common encodings with their preferred name and aliases are listed in the following table.
Preferred Name
Aliases
ISO-8859-1
ISO_8859-1, CP819, latin1
ISO-8859-2
ISO_8859-2, latin2
ISO-8859-5
ISO_8859-5, cyrillic
Big5
Big-5
Shift_JIS
SJIS
Because numerous encodings and aliases exist, contact your Implementation Consultant or Adobe Customer Care to confirm the proper value for charSet if it does not appear in the table above.
If a site has different web encodings on different pages, or a single JavaScript file is used for multiple sites, the charSet property can be set to a default value in the JavaScript file and then reset on specific pages as needed to override the default; for example, s.charSet="UTF-8" or s.charSet="SJIS".
Any non-blank value of the charSet parameter will cause data to be converted into UTF-8 for storage. Any characters in the 128-255 range will be converted to the proper UTF-8 two-byte sequence and stored. These characters will not display properly in a standard report suite. Therefore, the charSet property should never be used with a standard report suite.
Likewise, a blank value of the charSet parameter will bypass the data conversion process, and any characters in the range 128-255 will be stored as a single byte. These characters will not display properly in a multi-byte report suite since the single-byte codes for these characters are not valid UTF-8. Therefore, the charSet parameter should always be used with a multi-byte report suite. Additionally, the proper value should be used with respect to the web page encoding.
If the charSet variable contains an incorrect value, the data in all other variables are translated incorrectly. If JavaScript variables on your pages (e.g. pageName, prop1, or channel) contain only ASCII characters, charSet does not need to be defined. However, if the variables on your pages contain non-ASCII characters, the charSet variable must be populated.
Parameters
Max Size
Debugger Parameter
Reports Populated
Default Value
N/A
CE
N/A
""
Syntax and Possible Values
s.charSet="character_set"
Examples
s.charSet="ISO-8859-1"
s.charSet="SJIS"

s.currencyCode

The variable determines the conversion rate to be applied to revenue.
All monetary amounts are stored in a currency of your choice. If that currency is the same as that specified in currencyCode, or currencyCode is empty, no conversion is applied.
Max Size
Debugger Parameter
Reports Populated
Default Value
N/A
cc
Conversion > Purchases > Revenue All Conversion reports showing Revenue or monetary values
"USD"
If your site allows visitors to purchase in multiple currencies, you should use the currencyCode variable to make sure revenue is stored in the appropriate currency. For example, if the base currency for your report suite is USD, and you sell an item for 40 Euros, you should populate the currencyCode with "EUR" on the HTML page. As soon as data collection receives the data, it uses the current conversion rate to convert the 40 Euros to its USD equivalent.
Populating the currencyCode variable on the HTML page instead of in the JavaScript file is recommend if you sell in multiple currencies. If you want to use your own conversion rates rather than the conversion rates used by Adobe, set the currencyCode to equal the base currency of your report suite. You then convert all revenue before sending it into Analytics.
Currency conversion applies to both revenue and any currency events. These are events that are used to sum values similar to revenue, such as tax and shipping. The revenue and currency events are specified in the products string. For more information on products, see events. For more details on how currencies are managed, see Multi-Currency Support..
Syntax and Possible Values
s.currencyCode="currency_code"
Only the currency codes listed in Multi-Currency Support are allowed.
Examples
s.currencyCode="GBP"
s.currencyCode="EUR"
Configuration Settings
Adobe Customer Care can change the default currency setting for your report suite. When you change the base currency for a report suite, the existing revenue in the system is not converted. All new revenue values will be converted accordingly.
Pitfalls, Questions, and Tips
  • If you notice surprisingly large amounts of revenue in reports, ensure that the currencyCode variable and base currency of the report suite are set correctly.
  • The currencyCode variable is not persistent, meaning that the variable must be passed in the same image request as any revenue or other currency-related metrics.
  • Currency events should not be used for non-currency purposes. If you need to count arbitrary or dynamic values that are not currency, use the numeric event type.
  • When the currencyCode variable is empty, no conversion is applied.

s.cookieDomain

The variable determines the domain on which the Analytics cookies s_cc and s_sq are set.
Commonly, s.cookieDomainPeriods is used to generate s.cookieDomain from window.location.hostname. Instead of using s.cookieDomainPeriods, you can explicitly set s.cookieDomain to what you want to use in your implementation. For example, you could set cookies at the fully qualified page-name using:
s.cookieDomain = window.location.hostname;

s.cookieDomainPeriods

The variable determines the domain on which the Analytics cookies s_cc and s_sq are set by determining the number of periods in the domain of the page URL. This variable is also used by some plug-ins in determining the correct domain to set the plug-in's cookie.
The default value for cookieDomainPeriods is "2". This is the value that is used if cookieDomainPeriods is omitted. For example, using the domain www.mysite.com, cookieDomainPeriods should be "2". For www.mysite.co.jp, cookieDomainPeriods should be "3".
If cookieDomainPeriods is set to "2" but the domain contains three periods, the JavaScript file attempts to set cookies on the domain suffix.
For example, if setting cookieDomainPeriods to "2" on the domain www.mysite.co.jp, the s_cc and s_sq cookies are created on the domain co.jp. Because co.jp is an invalid domain, almost all browsers reject these cookies. As a consequence, visitor click map data is lost, and the Visitor Profile > Technology > Cookies report indicates that almost 100% of visitors reject cookies.
If cookieDomainPeriods is set to "3" but the domain contains only two periods, the JavaScript file sets the cookies on the subdomain of the site. For example, if setting cookieDomainPeriods to "3" on the domain www2.mysite.com, the s_cc and s_sq cookies are created on the domain www2.mysite.com. When a visitor goes to another subdomain of your site (such as www4.mysite.com), all cookies set with www2.mysite.com cannot be read.
Do not include additional subdomains as part of cookieDomainPeriods. For example, store.toys.mysite.com would still have cookieDomainPeriods set to "2". This variable definition correctly sets the cookies on the root domain, mysite.com. Setting cookieDomainPeriods to "3" in this example would set cookies on the domain toys.mysite.com, which has the same implications as the prior example.
Max Size
Debugger Parameter
Reports Populated
Default Value
N/A
CDP
Affects multiple reports as it controls how the visitor ID is stored and handled.
"2"
Some cloud computing services are considered Top-Level Domains, which do not allow cookies to be written. (For example, compute.amazonaws.com, *.herokuapp.com, *.googlecode.com, and so on.) If you implement on those services, you could potentially be affected by Analytics privacy setting that removes users who have blocked all cookies if you don't have your own domain set up (for example, if you're testing your implementation). In this case, any hit where the system has determined that cookies are disabled, non-functional, or inaccessible is opted out and thus excluded from reporting.
Examples
Setting the variable manually:
s.cookieDomainPeriods = "3";
Several examples to dynamically set the variable if your core JavaScript file hosts both types:
document.URL.indexOf(".co.") > 0 ? s.cookieDomainPeriods = "3" : s.cookieDomainPeriods = "2";
s.cookieDomainPeriods = "2"; 
var d=window.location.hostname; 
if(d.indexOf(".co.uk") > 0 || d.indexOf(".com.au") > 0) 
    {s.cookieDomainPeriods = "3";}
s.cookieDomainPeriods = "2"; 
if(window.location.indexOf(".co.jp") > 0 || window.location.indexOf(".com.au") > 0) 
    {s.cookieDomainPeriods = "3";}
Pitfalls, Questions, and Tips
  • If you notice that visitor click map data is absent, or that the Traffic > Technology > Cookies report shows a large percentage of visitors who reject cookies, check that the value of cookieDomainPeriods is correct.
  • If cookieDomainPeriods is higher than the number of sections in the domain, cookies will be set with the full domain. This can cause data loss as visitors switch between subdomains.
  • The cookieDomainPeriods variable was used in deprecated implementations prior to trackingServer to set the visitor ID cookie. Though only present in outdated code, failure to correctly define cookieDomainPeriods in this circumstance puts your implementation at risk of data loss.

s.fpCookieDomainPeriods

The variable is for cookies set by JavaScript (s_sq, s_cc, plug-ins) that are inherently first-party cookies even if your implementation uses the third-party 2o7.net or omtrdc.net domains.
The fpCookieDomainPeriods variable should never be dynamically set . If you use cookieDomainPeriods, it is good practice to specify a value for fpCookieDomainPeriods as well. fpCookieDomainPeriods inherits the cookieDomainPeriods value. Note that fpCookieDomainPeriods does not affect the domain on which the visitor ID cookie is set, even if your implementation treats this as a first-party cookie.
The name " fpCookieDomainPeriods" refers to the number of periods (".") in the domain when the domain begins with "www." For example, www.mysite.com contains two periods, while www.mysite.co.jp contains three periods. Another way to describe the variable is the number of sections in the main domain of the site (two for mysite.com and three for mysite.co.jp).
The AppMeasurement for JavaScript file uses the fpCookieDomainPeriods variable to determine the domain with which to set first-party cookies other than the visitor ID (s_vi) cookie. There are at least two cookies affected by this variable, including s_sq and s_cc (used for visitor click map and cookie checking respectively). Cookies used by plug-ins such as getValOnce are also affected.
Max Size
Debugger Parameter
Reports Populated
Default Value
N/A
N/A
N/A
cookieDomainPeriods
Sample Code for Setting Cookie Domain Variables
s.fpCookieDomainPeriods="2" 
var d=window.location.hostname 
if(d.indexOf('.co.uk')>-1||d.indexOf('.com.au')>-1) 
  s.fpCookieDomainPeriods="3" 
Syntax and Possible Values
The cookieDomainPeriods variable is expected to be a string, as shown below.
s.fpCookieDomainPeriods="3"
Examples
s.fpCookieDomainPeriods="3"
s.fpCookieDomainPeriods="2"
Configuration Settings
None

s.cookieLifetime

The variable is used by both JavaScript and data collection servers in determining the lifespan of a cookie.
Max Size
Debugger Parameter
Reports Populated
Default Value
N/A
cl
Traffic > Technology > Cookies All visitor-related reports
""
If cookieLifetime is set, it overrides any other cookie expirations for both JavaScript and data collection servers, with one exception, described below. The cookieLifetime variable can have one of three values:
  • Analytics Cookies
  • Cookies
  • JavaScript Settings and Plugins
Syntax and Possible Values
s.cookieLifetime="value"
The possible values are listed as follows:
  • ""
  • "NONE"
  • "SESSION"
  • An integer representing the number of seconds until expiration
Examples
s.cookieLifetime="SESSION"
s.cookieLifetime="86400" // one day in seconds
Configuration Settings
None
Pitfalls, Questions, and Tips
cookieLifetime affects Analytics tracking. If, for example, cookieLifetime is two days, then monthly, quarterly, and yearly unique visitor reports will be incorrect. Use caution when setting cookieLifetime.

s.doPlugins

The variable is a reference to the function, and allows the function to be called at the appropriate location within the JavaScript file.
The s_doPlugins function is called each time any of the following occurs:
  • The t() function is called
  • The tl() function is called
  • An exit or download link is clicked
  • Any page element being tracked by visitor click map is clicked
The doPlugins function is used to run customized routines to gather or alter data. If you are using an object name other than "s," make sure that the s_doPlugins is renamed appropriately. For example, if your object name is s_mc, the s_doPlugins function should be called s_mc_doPlugins.
Syntax and Possible Values
The s_doPlugins function should not be in quotes, and doPlugins should always be assigned to the exact name of the s_doPlugins function (if that function is renamed).
s.doPlugins=s_doPlugins;
Examples
s.doPlugins=s_doPlugins;
s_mc.doPlugins=s_mc_doPlugins;
Configuration Settings
None
Pitfalls, Questions, and Tips
  • The only reason to change the object name (such as from s to s_mc) is if you share content with or pull content from other customers. Renaming the s_doPlugins function to s_mc_doPlugins ensures that another client's JavaScript file does not overwrite your doPlugins function.
  • If you unexpectedly start pulling in content from another Adobe customer, and your s_doPlugins function is being overwritten, it is possible to simply rename the s_doPlugins function without changing the object name. While the best solution is to use a different object name than other JavaScript files on the same page, doing so is not required.

s.trackDownLoadLinks

Set to 'true' if you would like to track links to downloadable files on your site.
If trackDownloadLinks is 'true,' linkDownloadFileTypes is used to determine which links are downloadable files.
Max Size
Debugger Parameter
Reports Populated
Default Value
N/A
N/A
N/A
True
The trackDownloadLinks variable should only be set to 'false' if there are no links to downloadable files on your site, or you don't care to track the number of clicks on downloadable files. If trackDownloadLinks is 'true,' when a file download link is clicked, data is immediately sent to Analytics. The data that is sent with a download link includes the link download URL, and visitor click map data for that link. If trackDownloadLinks is 'false,' then visitor click map data for links to downloadable files on your site is likely to be under reported.
Syntax and Possible Values
The trackDownloadLinks variable is expected to be either 'true' or 'false.'
Examples
s.trackDownloadLinks=true 
s.trackDownloadLinks=false
Configuration Settings
None
Pitfalls, Questions, and Tips
  • When trackDownloadLinks is 'false,' links that people use to download files on your site are likely to be under reported in visitor click map.
  • When trackDownloadLinks is 'true,' data is sent each time a visitor clicks a file download link.

s.trackExternalLinks

If is 'true,' and are used to determine whether any link clicked is an exit link.
Max Size
Debugger Parameter
Reports Populated
Default Value
N/A
N/A
N/A
True
The trackExternalLinks variable should only be set to 'false' if there are no exit links on your site, or if you don't care to track the number of clicks on those exit links. An exit link is any link that takes a visitor off of your site. If trackExternalLinks is 'true,' then when you click an exit link, tracking data is immediately sent. The data that is sent with an exit link includes the link URL, link name, and visitor click map data for that link. If trackExternalLinks is 'false,' then visitor click map data for exit links on your site is likely to be under reported.
Syntax and Possible Values
The trackExternalLinks variable is expected to be either 'true' or 'false.'
s.trackExternalLinks=true|false
Examples
s.trackExternalLinks=true 
s.trackExternalLinks=false
Configuration Settings
None
Pitfalls, Questions, and Tips
  • When trackExternalLinks is 'false,' links that take people away from your site are likely to be under reported in visitor click map.
  • When trackExternalLinks is 'true,' data is sent each time a visitor clicks on an exit link (before link target loads).

s.trackInlineStats

The variable determines whether ClickMap data is gathered.
If trackInlineStats is 'true,' data about the page and link clicked are stored in a cookie called s_sq. If 'false,' s_sq will have a value of "[#]," which is considered null.
Max Size
Debugger Parameter
Reports Populated
Default Value
N/A
N/A
ClickMap
False
Syntax and Possible Values
s.trackInlineStats=true|false
The trackInlineStats variable is expected to be either 'true' or 'false.'
Examples
s.trackInlineStats=true
s.trackInlineStats=false
Configuration Settings
None

s.linkDownloadFileTypes

The variable is a comma-separated list of file extensions.
If your site contains links to files with any of these extensions, the URLs of these links will appear in the File Downloads report.
Max Size
Debugger Parameter
Reports Populated
Default Value
N/A
N/A
Traffic > Site Traffic > File Downloads
"exe,zip,wav,mp3,mov,mpg,avi,wmv, doc,pdf,xls"
The linkDownloadFileTypes variable is only relevant when trackDownloadLinks is set to 'True.'
Only left-mouse-clicks on a link are counted in the File Downloads report. All file downloads that start automatically when a page loads, or that are only downloaded after a redirect, are not counted in the File Downloads report. When you right-click a file and select the "Save Target As..." option, it is not counted in the File Downloads report.
The linkDownloadFileTypes variable may be used to track clicks to RSS feeds. If you have links to RSS feeds with a .xml or other extension, appending ",xml" to the linkDownloadFileTypes list allows you to see how often each RSS link is clicked.
Syntax and Possible Values
Only include file extensions (no spaces).
s.linkDownloadFileTypes="type1[,type2[,type3[...]]]"
Any file extension may be included in the list. Be careful not to include a common file extension, such as htm or aspx, in linkDownloadFileTypes. Doing so causes an extra image request to be sent for each click, which will be billed as a primary server call.
Examples
s.linkDownloadFileTypes="exe,zip,wav,mp3,mov,mpg,avi,wmv,doc,pdf,xls"
s.linkDownloadFileTypes="exe,zip,wav,mp3,mov,mpg,avi,wmv,doc,pdf,xls,xml"
Configuration Settings
None
Pitfalls, Questions, and Tips
  • Only left-clicks on download files cause the URL to appear in the File Downloads report.
  • Including a common file extension in linkDownloadFileTypes may significantly increase the total server calls sent to Adobe's servers.
  • Links to server-side redirects or HTML pages that automatically begin downloading a file are not counted unless the file extension is in linkDownloadFileTypes.
  • Links that use JavaScript (such as javascript:openLink( )) are not counted in file downloads.

s.linkInternalFilters

The variable is used to determine which links on your site are exit links.
It is a comma-separated list of filters that represent the links that are part of the site.
Max Size
Debugger Parameter
Reports Populated
Default Value
N/A
N/A
Paths > Entries & Exits > Exit Links
We had previously suggested setting the linkInternalFilters to javascript:. However, this resulted in all domains being considered external, including the current domain on which the tag resides. If you want several domains to be considered internal, you can add those, as shown in the examples below.
The linkInternalFilters variable is used to determine whether a link is an exit link, which is defined as any link that takes a visitor away from your site. Whether the target window of an exit link is a pop-up, or the existing window, does not affect whether the link appears in the exit links report. Exit links are only tracked if trackExternalLinks is set to "true". (See Link Tracking in the Dynamic Tag management documentation for information about how DTM handles exit links.) The filters in linkInternalFilters are not case-sensitive.
The list of filters in linkInternalFilters applies to the domain and path of any link by default. If linkLeaveQueryString is set to "true", then the filters apply to the entire URL (domain, path, and query string). The filters are always applied to the absolute path of the URL, even if a relative path is used as the href value.
Be careful that all the domains of your site (and any partners who are using your JavaScript file) are included in linkInternalFilters. If you do not have all domains included in the list, all links on and to those domains are considered exit links, increasing the server calls sent. If you would like multiple domains or companies to use a single AppMeasurement for JavaScript file, you may consider populating linkInternalFilters on the page, overriding the value specified in the JavaScript file. If you have vanity domains that immediately redirect to your main domain, those vanity domains do not need to be included in the list.
The following example illustrates how this variable is used. In this example, the URL of the page is https://www.mysite.com/index.html.
s.trackExternalLinks=true 
s.linkInternalFilters="mysite.com" 
s.linkExternalFilters="" 
s.linkLeaveQueryString=false 
... 
<a href="https://www.mysite.com">Not an Exit Link</a> 
<a href="/careers/job_list.html">Not an Exit Link</a> 
<a href="https://www2.site3.com">Exit Link</a> 
<a href="https://www2.site1.com/partners/">Exit Link</a> 
Syntax and Possible Values
The linkInternalFilters variable is a comma-separated list of ASCII characters. No spaces are allowed.
s.linkInternalFilters="site1.com[,site2.com[,site3.net[...]]]"
Examples
s.linkInternalFilters="mysite.com"
s.linkInternalFilters="mysite.com,mysite.net,vanity1.com"
Configuration Settings
None
Pitfalls, Questions, and Tips
  • Include all domains that the AppMeasurement for JavaScript file may be served under in the filter list.
  • Periodically check the Paths > Entries & Exits > Exit Links report to make sure that none of the entries in that report are incorrect.
  • Periodically review partner contracts to determine if they contain restrictions on link tracking. For example, you might be prohibited from tracking links that appear in partner display ads. Filter partner links by adding their domain to linkInternalFilters:
s.linkInternalFilters="mysite.com,mysite.net,mypartner.net/adclick"

s.linkLeaveQueryString

By default, query strings are excluded from all reports.
For some exit links and download links, the important portion of the URL can be in the query string, as shown in the following sample URL.
https://www.mycompany.com/download.asp?filename=myfile.exe
The download file name can be defined in the query string and, consequently, the query string is necessary to make the File Downloads report more accurate.
The linkLeaveQueryString variable determines whether or not the query string should be included in the Exit Links and File Download reports.
Max Size
Debugger Parameter
Reports Populated
Default Value
N/A
N/A
Exit Links File Downloads
false
Setting linkLeaveQueryString=true includes all query string parameters for all exit links and download links.
Syntax
s.linkLeaveQueryString=[false/true]
Examples
s.linkLeaveQueryString=false
Possible Values
s.linkLeaveQueryString=false
s.linkLeaveQueryString=true
Configuration Settings
No configuration is necessary for this variable.
Pitfalls, Questions, and Tips
  • Setting s.linkLeaveQueryString=true includes all query string parameters for all exit links and download links.
  • The linkLeaveQueryString variable does not affect recorded page URLs, visitor click map, or Path reports.

s.linkTrackVars

The variable is a comma-separated list of variables that are sent with custom, exit, and download links.
If linkTrackVars is set to "", all variables that have values are sent with link data. To avoid inflation of instances or page views associated with other variables, Adobe recommends populating linkTrackVars and linkTrackEvents in the onClick event of a link that is used for link tracking.
All variables that should be sent with link data (custom, exit, and download links) should be listed in linkTrackVars. If linkTrackEvents is used, linkTrackVars should contain "events."
Max Size
Debugger Parameter
Reports Populated
Default Value
N/A
N/A
Any
"None"
When populating linkTrackVars, do not use the 's.' prefix for variables. For example, instead of populating linkTrackVars with "s.prop1," you should populate it with "prop1." The following example illustrates how linkTrackVars should be used.
s.linkTrackVars="eVar1,events" 
s.linkTrackEvents="event1" 
s.events="event1" 
s.eVar1="value A" 
s.eVar2="value B" 
s.t() // eVar1, event1 and event2 are recorded 
<a href="https://google.com">event1 and eVar1 are recorded</a> 
<a href="test.php" onClick="s=s_gi('rs1');s.eVar1='value C';s.events='';s.tl(this,'o')">eVar1 is recorded</a> 
Because the link to google.com is an exit link (unless you are Google), event1 and eVar1 are sent with the exit link data, increasing the instances associated with eVar1 and the number of times event1 is fired. In the link to test.php, eVar1 is sent with a value of 'value C' because that is the current value of eVar1 at the time that tl() is called.
Syntax and Possible Values
The linkTrackVars variable is a case-sensitive, comma-separated list of variable names, without the object name prefix. Use 'eVar1' instead of 's.eVar1.'
s.linkTrackVars="variable_name[,variable_name[...]]"
The linkTrackVars variable may contain only variables that are sent to Analytics, namely: events, campaign, purchaseID, products, eVar1-75, prop1-75, hier1-5, channel, server, state, zip, and pageType.
Examples
s.linkTrackVars="events,prop1,eVar49"
s.linkTrackVars="products"
Configuration Settings
None
Pitfalls, Questions, and Tips
  • If linkTrackVars is blank, all variables that have values are tracked with all server calls.
  • Any variable listed in linkTrackVars that has a value at the time of any download, exit, or custom link, are tracked.
  • If linkTrackEvents is used, linkTrackVars must contain "events."
  • Do not use the "s." or "s_objectname." prefix for variables.

s.linkTrackEvents

The variable is a comma-separated list of events that are sent with a custom, exit, or download link.
If an event is not in linkTrackEvents, it is not sent to Analytics, even if it is populated in the onClick event of a link, as shown in the following example:
s.linkTrackVars="events" 
s.events="event1,event2" 
s.t() // both event1 and event2 are recorded 
<a href="help.php" onClick="s=s_gi('rs1');s.tl(this,'o')">event1 is recorded</a> 
<a href="test.php" onClick="s=s_gi('rs1');s.events='event2';s.tl(this,'o')">No events are recorded</a> 
In the first link to help.php, notice that the events variable retains the value that was set before the link was clicked,. This allows event1 to be sent with the custom link. In the second example, the link to test.php, event2 is not recorded because it is not listed in linkTrackEvents.
To avoid confusion and potential problems, Adobe recommends populating linkTrackVars and linkTrackEvents in the onClick event of a link that is used for link tracking.
The linkTrackEvents variable contains the events that should be sent with custom, download, and exit links. This variable is only considered if linkTrackVars contains "events."
Max Size
Debugger Parameter
Reports Populated
Default Value
N/A
N/A
Conversion
"None"
Syntax and Possible Values
The linkTrackEvents variable is a comma-separated list of events (no spaces).
s.linkTrackEvents="event1[,event2[,event3[...]]]"
Only event names are allowed in linkTrackEvents. These events are listed in Events. If a space appears before or after the event name, the event can not be sent with any link image requests.
Examples
s.linkTrackEvents="purchase,event1"
s.linkTrackEvents="scAdd,scCheckout,purchase,event14"
Configuration Settings
None
Pitfalls, Questions, and Tips
  • The JavaScript file only uses linkTrackEvents if linkTrackVars contains the "events" variable. "events" should be included in linkTrackVars only when linkTrackEvents is defined.
  • Beware if an event is fired on a page, and is listed in linkTrackEvents. That event is recorded again with any exit, download, or custom links unless the events variable is reset prior to that event (in the onClick of a link or after the call to the t() function).
  • If linkTrackEvents contains spaces between event names, the events are not recorded.

s.linkExternalFilters

If your site contains many links to external sites, and you do not want to track all exit links, use to report on a specific subset of exit links.
Max Size
Debugger Parameter
Reports Populated
Default Value
N/A
N/A
Paths > Entries & Exits > Exit Links
""
The linkExternalFilters variable is an optional variable used in conjunction with linkInternalFilters to determine whether a link is an exit link. An exit link is defined as any link that takes a visitor away from your site. Whether the target window of an exit link is a popup or the existing window, it does not affect whether the link appears in the exit links report. Exit links are tracked only if trackExternalLinks is set to 'true.' The filters in linkExternalFilters and linkInternalFilters are case insensitive.
If you don't want to use linkExternalFilters, delete it or set it to "".
The filters list in linkExternalFilters and linkInternalFilters apply to the domain and path of any link by default. If linkLeaveQueryString is set to 'true,' the filters apply to the entire URL (domain, path, and query string). These filters are always applied to the absolute path of the URL, even if a relative path is used as the href value.
Most companies find that linkInternalFilters gives them enough control over exit links that they don't need linkExternalFilters. Using linkExternalFilters simply decreases the likelihood that an exit link is considered external. If linkExternalFilters has a value, then a link is considered only external if it does not match linkInternalFilters and does match linkExternalFilters.
The following example illustrates how this variable is used. In this example, the URL of the page is https://www.mysite.com/index.html.
s.trackExternalLinks=true 
s.linkInternalFilters="javascript:,mysite.com" 
s.linkExternalFilters="site1.com,site2.com,site3.com/partners" 
s.linkLeaveQueryString=false 
... 
<a href="https://www.mysite.com">Not an Exit Link</a> 
<a href="/careers/job_list.html">Not an Exit Link</a> 
<a href="https://www2.site3.com">Not an Exit Link</a> 
<a href="https://www.site1.com">Exit Link</a> 
<a href="https://www2.site3.com/partners/offer.asp">Exit Link</a> 
Syntax and Possible Values
The linkExternalFilters variable is a comma-separated list of ASCII characters. No spaces are allowed.
s.linkExternalFilters="site1.com[,site2.com[,site3.net[...]]]"
Any portion of a URL might be included in linkExternalFilters, separated by commas.
Examples
s.linkExternalFilters="partnersite.com,partnertwo.net/path/"
s.linkExternalFilters=""
Configuration Settings
None
Pitfalls, Questions, and Tips
  • Using linkExternalFilters can result in fewer links on your site being exit links. Do not use this variable in place of linkInternalFilters to force internal links to become exit links.
  • If linkExternalFilters should be applied to the query string of a link, make sure linkLeaveQueryString is set to 'true.' See linkLeaveQueryString before setting to "true".
  • To disable exit link tracking, set trackExternalLinks to "false".

s.usePlugins

If the function is available and contains useful code, s_usePlugins should be set to 'true.'
When usePlugins is 'true,' the s_doPlugins function is called prior to each image request.
Max Size
Debugger Parameter
Reports Populated
Default Value
N/A
N/A
N/A
True
Syntax and Possible Values
s.usePlugins=true|false
The usePlugins variable is expected to be either 'true' or 'false.'
Examples
s.usePlugins=true
s.usePlugins=false
The usePlugins variable should only be false (or not declared) if the s_doPlugins function is not declared in your JavaScript file.
Configuration Settings
None