Compatibility

The Contentsquare Tracking Tag is designed to work on these web browsers:

BrowserVersionIssues/Warning
ChromeLatest version
Chrome for AndroidLatest version
Android BrowserLatest version
FirefoxLatest version
SafariLatest version
  • Tracking Tag uses the Beacon API to send data when user leaves the page (pageload, close tab, close browser). This feature is only supported OSX 12.1 and later.
  • ITP 2.1 deletes all JavaScript cookies 7 days after the last visit on a website.
iOS SafariLatest version
  • Tracking Tag uses the Beacon API to send data when user leaves the page (pageload, close tab, close browser). This feature is only supported iOS 12.2 and later.
  • ITP 2.1 deletes all JavaScript cookies 7 days after the last visit on a website.
Microsoft EdgeLatest version
Internet Explorer11
  • Tracking Tag uses the Beacon API to send data when user leaves the page (pageload, close tab, close browser). This feature not supported by this browser.
  • Older versions of Internet Explorer are not officially supported.
OperaLatest version
In-app browsers and WebViews-The tracking is working as long as the app doesn’t restrict required browser APIs, delete or prevent cookies setup and blocks local storage. The Tracking Tag behavior has been validated (pageviews and events tracking, session data collection) on the following in-app browsers, on both iOS and Android: Facebook, Facebook Messenger, Twitter, Instagram, LinkedIn, Slack, Snapchat, Pinterest, WeChat.

The Contentsquare Tracking Tag is compatible with all JavaScript frameworks for single-page application, including Angular, React, Vue, Ember…

Salesforce APEX Lightning (not supported)

Section titled Salesforce APEX Lightning (not supported)

Due to limits on CSP management, there is a high chance of the Tracking Tag not being able to work. Restrictions on window functions preventing to use Tag commands.

The tag works on HTTP and HTTPS.

Websites overriding native JavaScript function and browser APIs (not supported)

Section titled Websites overriding native JavaScript function and browser APIs (not supported)

The Contentsquare Tracking Tag uses common web browser APIs and native JavaScript API. Overriding any of these APIs can prevent the Tag from functioning normally.

Contentsquare supports iFrames, including for Zoning and Session Replay.

  1. Add the tag to the topmost window and inside each iframe down to and including the one(s) you want to track. Use the same Tag ID.

  2. Your Contentsquare team enables the iFrameTracking tag setting to support iFrame tracking. When the flag is enabled, the tag inside the iFrames is not sending any natural pageview.

  3. For Single Page Applications, trigger an artificial pageview inside the iFrame with a condition to execute only in this context to send a pageview.

    if (window.self !== window.top) {
    window._uxa = window._uxa || [];
    window._uxa.push(['trackPageview', 'PATH']);
    }

In version 12.0.0 and later, tracking of first and third-party iFrames in Session Replay is fully supported, and activated on demand by Contentsquare.

Custom elements and shadow DOM

Section titled Custom elements and shadow DOM

The tracking Tag has two separate event trackers: Session Replay and Analytics.
Both provide full support for custom elements and the shadow DOM.

HTML Canvas and WebGL (not fully supported)

Section titled HTML Canvas and WebGL (not fully supported)

The Tag collects mouse events by attaching them to the canvas but there is no possibility to locate them within the canvas.

Google AMP - Accelerated Mobile Pages (not supported)

Section titled Google AMP - Accelerated Mobile Pages (not supported)

Contentsquare doesn’t provide tracking capabilities for AMP yet.

Offline browsing (not supported)

Section titled Offline browsing (not supported)

The Tracking tag doesn’t verify if data was received by the server before deleting it locally. All events would be deleted at request sending attempt.

The tag only reads except for the following:

  • Adding a script into the head to call the library;
  • Adding a property __contentsquare_identifier to every element (when the Session Replay is on);
  • Overwriting the native function CSSStyleSheet.prototype.insertRule (when the Session Replay is on).