Analytics: Technical Specifications
By Sean Needham
Siteimprove Analytics is part of the Siteimprove Intelligence Platform (SIP). This article outlines technical specifications for Siteimprove Analytics including:
- Supported Browsers
- How Siteimprove Collects Statistics
- What Siteimprove Collects
- What Siteimprove Does Not Collect
- Data Transfer from Client to Siteimprove
- Data Endpoints
- Log Collecting
- Ownership of Data
Using the Siteimprove Analytics interface is supported on the following browsers:
- Internet Explorer 11
- Edge - current stable version and previous stable version
- Safari - current stable version and previous stable version
- Chrome - current stable version and previous stable version
- Firefox - current stable version and previous stable version
How Siteimprove Collects Statistics
The script is a version of the following:
sz.src = '//siteimproveanalytics.com/js/siteanalyze_CUSTOMER_ACCOUNT_ID.js';
var s = document.getElementsByTagName('script'); s.parentNode.insertBefore(sz, s);
NOTE: (CUSTOMER_ACCOUNT_ID) will be replaced with actual account id.
What Siteimprove Collects
- The URL visited
- The title of the page
- The Siteimprove account id of the site’s owner
- The resolution of the user’s monitor/size of the browser window
- The referring address, if any (this is used to pick up search keywords, visits that came through links from other sites, etc.)
- The time it took to fetch and render the page
- A session identifier, allowing us to view a series of page views as a coherent visit
- A random number to avoid caching
- (Optional) A breadcrumb trail if we have configured it
- (Optional) A group name the page should be stored under
- (Optional) Search word used on internal search page
- (Optional) Any events set up to be tracked on the website
- (Optional) Scrolls and clicks on specific pages to be tracked on the website (Behavior Map)
From the request to load the image.aspx file we will additionally collect the following from our web server:
- User IP address (An IP anonymization feature is available for the Customers to use, see - IP Anonymization in Siteimprove Analytics)
- User-agent string (Type and version of the browser being used and the operating system the browser is running on)
What Siteimprove Does Not Collect
We do not pick up or store any data submitted to forms. By default, we do not store any information from the page itself, but we can store breadcrumbs and group information (from meta tags) listed as “optional” above. These are only set up at the request of customers.
Data Transfer from Client to Siteimprove
We can transmit the collected data using either the HTTP or HTTPS protocol. This is controlled by the implementation of the script. If the website in question uses secure HTTP (HTTPS) we log through HTTPS as well, so the details we collect are protected during transport to our log collection servers.
Further details on the cookies used by Siteimprove Analytics can be found in the article "Siteimprove Analytics cookies"
Data Collection and Storage
Analytics log endpoint (/image.aspx)
Analytics events endpoint (/event.aspx)
Analytics heatmap endpoint (/heat.aspx)
Note: Siteimprove does not utilize AWS for permanent storage of Analytics. AWS is used to transport collected data to Interxion in Denmark where Siteimprove databases are located.
InterXion DataCenter, Copenhagen, DK
Analytics transfer logs from endpoint script
Analytics local backup
The Siteimprove Analytics logs are collected the following way:
- A user visits a page on your website through their browser.
- The HTML returned for the page contains an asynchronous call to fetch our customer script at siteimproveanalytics.com/js/siteanalyze_[account_id].js
- The customer script is delivered using a CDN operated by Cloudflare to ensure the best possible load time
- The customer script gathers the required data points (see above “What Siteimprove Collects”) needed and sends them to our data collection endpoints
- Our endpoints are hosted by Amazon AWS and use latency based routing to determine which endpoint to use (we have endpoints in Germany (Frankfurt), US East and US West). This means that for European customers, the primary endpoint in use will be AWS Frankfurt. In cases where latency is high or in the unlikely instance that AWS Frankfurt will become unavailable, the data will be fetched from the US endpoints with the lowest latency.
- The endpoint logs this call together with parameters. The raw data logs are temporarily stored (7 days) at the endpoint to protect against data loss.
- The logs collected on the endpoint are continuously retrieved by our data center (InterXion, Copenhagen, Denmark) and made available for queries in our Analytics Platform.
Ownership of Data
Data collected by the Siteimprove Analytics Script is the property of the customer and not of Siteimprove. Siteimprove will not share any data with a third party without the express written consent of the customer. If the customer cancels the subscription to Siteimprove Analytics, Siteimprove will destroy the data at the request of the customer. Users can run reports within Siteimprove Analytics to export data as required.