Compatibility

Browser Minimum Version
Android (Webview) 66+
Chrome 66+
Chrome for Android 66+
Facebook In-App Browser 169+
Firefox 64+
Firefox for Android 64+
Instagram In-App Browser 42+
KaiOS Browser 3+
Microsoft Edge 18+
Opera 53+
Opera Mobile 47+
QQ Browser 9+
Safari 11+
Safari iOS 11.3+
Samsung Internet 9+
UC Browser 13+
Yandex Browser 18+
  • The Tracking Tag uses the Beacon API to send data when the user leaves the page (page load, close tab, close browser).
  • This feature is only supported on macOS 12.1+ and iOS 12.2+.
  • ITP 2.1 deletes all JavaScript cookies 7 days after the last visit on a website.
  • Tracking works as long as the app doesn’t restrict required browser APIs, delete or prevent cookies setup, or 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 applications, including Angular, React, Vue, Ember…

Single Page Applications leaving inactive pages in the DOM

Section titled Single Page Applications leaving inactive pages in the DOM

Special care must be taken for Single Page Applications that leave inactive pages in the DOM, such as Angular+Iconic.

In that case, avoid using Page Masking as it may leak some personal data into the Session Replay. Instead, use Element masking.

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.

The following features have limited or partial support with the Tracking Tag.

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

The following technologies and environments are not supported by the Contentsquare Tracking Tag.

Partytown is a generic all-purpose proxy that helps relocate resource intensive scripts into a web worker, and off of the main thread.

The Tracking Tag is incompatible with Partytown. It relies on DOM mutations, querying, observations, and global variables — features that do not function properly when the Tag is loaded using Partytown.

Due to several constraints imposed by those frameworks, we don’t currently support both Salesforce Lightning Aura and Lightning Web Runtime, or any Lightning Web Components. The impact depends on your implementation; it can affect subsets of some pages or your full website, depending on how many Aura or Lightning Web Components you use.

Websites overriding native JavaScript function and browser APIs

Section titled Websites overriding native JavaScript function and browser APIs

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.

Google AMP - Accelerated Mobile Pages

Section titled Google AMP - Accelerated Mobile Pages

Contentsquare doesn’t provide tracking capabilities for AMP yet.

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