Changelog

Which version of the Tag is deployed on my website?

Check your Tag version with the Contentsquare Tracking Setup Assistant Chrome extension:

Features

Voice of Customer

The tag will inject a hotjar-{SITE_ID}.js script which loads the survey widgets as needed If you are using SRI, reach out to your Contentsquare contact for more information.

Additional cookies, prefixed with _hj, are created.

To use Voice of Customer, make sure to add script-src 'unsafe-inline' *.contentsquare.net to your CSP configuration.

Product Analytics

The Tag will inject a heap_config.js script loaded from https://cdn.us.heap-api.com/config/<ENV_ID>/heap_config.js, which loads the PA tag heap.js. If you are using SRI, reach out to your Contentsquare contact for more information.

Additional cookies, prefixed with _hp*, are created.

If you enforce a Content Security Policy, make sure to add the following to your CSP configuration:

script-src 'unsafe-inline' 'unsafe-eval' https://cdn.heapanalytics.com https://heapanalytics.com;
script-src 'unsafe-inline' *.contentsquare.net;
img-src https://heapanalytics.com;
style-src https://heapanalytics.com;
connect-src https://heapanalytics.com;
font-src https://heapanalytics.com;

Bug fixes

  • Session Replay: Reduce network details payload.

Bug fixes

  • Session Replay: Mask Chinese and Japanese characters using an ideogram instead of the character A to preserve line-break behavior.

Bug fixes

  • API Errors: Check if subscriberId and responseType exist before accessing responseText.

Features

  • Session Replay: Add allowlist mechanism for some event types.
  • Personal Data: Add data-cs-mask for all project’s deployment mode type.

Bug fixes

  • Personal Data: Fix processing of data-cs-mask attributes that were being ignored.

Bug fixes

  • iFrames: Do not access storage, cookie, or XHR in child mode.
  • Session Replay: Fix lost initial resize events.
  • Session Replay: Remove query parameters of network details events.
  • WebViews: Align webview behaviors on bridge injection.

Features

  • WebViews: Process commands received before webview tracking ready and start events.

Features

  • Logging: Emit logs for all critical errors

Bug fixes

  • Static Resource URL: Fixed Static URL resource bug on quoted URLs

Features

  • Session Replay: New inactivity mechanism.

Bug fixes

  • Session Replay: Fix identification of default sensitive attributes.

Bug fixes

  • Static Resource Manager: Filter double quotes nestedResource URLs fixing 404 errors

Bug fixes

  • Fix how the initial DOM event is inserted in the Session Replay events in both top and iframe contexts.

Features

  • API Errors: Increase responseBody size limit from 2kb to 5kb.

Features

Bug fixes

Bug fixes

  • API Errors: Remove Content-Length check to track all API calls when using Transfer-Encoding.

Bug fixes

  • WebView: Handle injected CSS to fix zone-level elements data

Bug fixes

  • Flush pending microtasks on artificial pageviews to fix user actions not shown in Session Replay.

Bug fixes

  • Static Resource Manager:
    • Changed an error to non-blocking so that further data can be sent,
    • Send a single request when the payload exceeds the limit, instead of two.

Bug fixes

  • Session Replay: Restart PerformanceTimingResourceTrackeron artificial pageviews.

Bug fixes

Features

  • Static Resource Manager: Internal Service Migration.

Features

  • Static Resource Manager: Add groupMicrotask priority option.

Features

  • WebView: Synchronize start and stop commands.

Features

  • Static Resource Manager: Support style attribute in element in serialization or mutation attribute.

Features

Features

  • Session Replay: Remove workaround used to consider base64 images of a certain size to be sensitive.

Features

  • Add protection against session cookie corruption.

Bug fixes

  • Static Resource Manager: Avoid calling with same data collection state.

Features

  • Manage all DOM events in event translator.

Features

  • Session Replay: Mask credit card numbers automatically.

Features

  • Static Resource Manager: Save hashes to avoid sending them again.

Bug Fixes

  • Static Resource Manager: Support non-base64 images.

Features

Features

  • Session Replay: Improve input element handling.

Bug Fixes

  • Session Replay: Call onEvent on all trackers before starting them.

Performance Improvements

  • Improve allowSubdomain change performance.

Features

Bug Fixes

  • Static Resource Manager: Do not process URLs when the online assets option is disabled.

Bug Fixes

  • Ignore logs coming from a worker override.

Bug Fixes

  • Catch SRM errors and add logs.

Bug Fixes

  • Execute callback directly when adding onRecordingStateChange command.

Bug Fixes

  • Manage ETR triggered before collection start.

Features

  • Static Resource Manager: handle attribute and character data mutations.

Bug Fixes

  • Collect all navigation timing events.

Bug Fixes

  • Change log level error to warn for crossDomainSingleIframe.

Bug Fixes

  • Handle undefined values in for Console Message tracking.

Bug Fixes

  • Check that addEventListener is a function.

Features

  • crossDomainSingleIframe: Start the tag on iFrame timeout.

Bug Fixes

  • Custom Errors: Truncate attributes keys and values (30 characters max).

Bug Fixes

  • Custom Errors: Replace object in root object.

Bug Fixes

Bug Fixes

Bug Fixes

  • Custom Errors: Resolve circular dependency on console message.

Features

Bug Fixes

  • Align Analytics and Session Replay pipelines behavior.

Bug Fixes

  • Session Replay: Fixed failure to export PerformanceResourceTimings from a web worker.

Features

  • Make the SKU optional on addToCart command.

Performance improvements

  • Remove useless object assignment checks.

Bug Fixes

  • Session Replay: Add slot element and attribute to serialized DOM to fix replays without CSS.

Features

  • Session Replay: Add Static Resource Manager support for srcset attributes in <image> elements.

Features

  • Emerchandising: Support for Display adds analysis

Bug Fixes

  • WebViews: Remove items from transaction on mobile.

Features

  • API Errors: Collect non encrypted headers.

Features

  • Session Replay: Add onRecordingStateChange command to track when the replay state changes.

Features

  • WebViews: Collect API, JS and Custom errors in WebViews.

Features

  • Session Replay: Update to Static Resource Manager v2 (including images, inline assets, base64 assets).

Bug Fixes

  • Session Replay: Do not send navigation timing on the artificial pageviews.
  • Session Replay: Fix CSS resource when link use a relative path.

Features

  • Collect adoptedStyleSheet events in Iframes and WebViews.

13.50.2 - September 28th, 2023

Section titled 13.50.2 - September 28th, 2023

Bug fixes

  • Fix wrong module imports.

13.49.3 - September 22nd, 2023

Section titled 13.49.3 - September 22nd, 2023

Features

  • Manage CSS rules inserted before tag starts.

13.49.0 - September 19th, 2023

Section titled 13.49.0 - September 19th, 2023

Features

  • Static Resource Manager supports SVG elements with links (for snapshots and Session Replay).

13.48.3 - September 19th, 2023

Section titled 13.48.3 - September 19th, 2023

Bug Fixes

  • Remove Static Resource Manager debug logs.

13.48.2 - September 19th, 2023

Section titled 13.48.2 - September 19th, 2023

Bug Fixes

  • Session Replay: Filter out static URLs containing credentials.

13.48.1 - September 18th, 2023

Section titled 13.48.1 - September 18th, 2023

Bug Fixes

  • Fix shadowRoot observer bug.

13.48.0 - September 14th, 2023

Section titled 13.48.0 - September 14th, 2023

Features

  • Session Replay: Introduction of the Static Resource Manager, which optimizes the management of static resources and assets (such as images or fonts).

13.46.0 - September 13th, 2023

Section titled 13.46.0 - September 13th, 2023

Features

  • Session Replay: Use API error patterns for resource tracking.

13.45.0 - September 13th, 2023

Section titled 13.45.0 - September 13th, 2023

Features

  • Session Replay: Watch for resize events of sensitive elements.

Bug fixes

  • Session Replay: Filter <img> tags with empty src attribute.

Bug fixes

  • Serialization: update addedNodesInATick when a mutation target is not identified.

Features

  • WebViews: Update the signature of serializeWebview command.

Features

  • WebViews: Add processor to serialize adoptedStyleSheets.

Features

  • WebViews: Restart Session Replay on artificial pageview.

Features

  • WebViews: Introduce AssetTransformers mode and API to dynamically update it.

Bug Fixes

  • Handle multi tab for browser events.

Bug Fixes

  • Project Configuration: When updating fields from the Data collection for Zoning panel in the console project settings, an empty value for Matching Dynamic elements regex would be saved as an empty string instead of null and propagated to the configuration export (CS_CONF) used by the Tag. Empty string values are now discarded.

Bug Fixes

  • Events: Watch for change events inside Shadow DOM.

🕒 Available in an upcoming release on Contentsquare

Features

Features

  • Session: Add session:clear:visitor command to clear information about previous visitors before initiating a new session.

🕒 Available in an upcoming release on Contentsquare

Features

  • Custom Errors: Enable collecting console error messages.

Bug fixes

  • WebView: Minor improvements to WebView local assets management.

Features

  • Session Replay: Monitor and collect changes to selected/unselected elements such as radio buttons.

Features

  • Webviews: Collect local assets and pass them to the JavaScript bridge and SDKs.

Features

  • Webviews: Send BasePath and rawPath of assets to the JavaScript bridge and SDKs.

Bug Fixes

Features

  • Session Replay: Add optional capability to start and stop a replay based on user consent approval/withdraw (replayConsentRequired configuration property).

    Up until today, no visitor consent was required to start Session Replay: the value of replayConsentRequired is 0. When the visitor consent is required, the value is 1.

    Use the replay:consent:startForSession:granted and replay:consent:startForSession:withdrawn commands to shift the consent based on the user answer.

    The afterPageView command has been enhanced to return the replayConsentRequired and replayConsent return values:

    {
    projectId: 194,
    sessionKey: '48531f4b-b184-a11a-cae1-10ee72ef4c10.110',
    pageNumber: 1,
    replayConsentRequired: 1
    replayConsent: 0
    }

Bug Fixes

  • Session Replay: Identify and prevent email addresses to be encoded twice in query parameters.

    Example: james@cs.com would be encoded to james%40cs.com (correct), and then again to james%2540cs.com (incorrect).

Features

  • Tag bundles: The Tracking Tag is now served as ES2019 JavaScript by default, if your browser allows it. ES2019 bundles comes with critical patching, treeshaking, and live update on project configuration change.

    If your browser does not support ES2019, the Tag is still served in ES5 at the same URL: https://t.contentsquare.net/uxa/{PROJECT_ID}.js

Bug fixes

  • Session Replay: Manage masking when history.pushState() is used before session renewal. Use of the browser’s back button after triggering history.pushState() with a page outside the masking rules could lead to sending unmasked pages in certain cases.

Features

  • Treeshake accessibility module to optimize bundle size.

Features

  • Session management: Add a session:start:newVisitor command to start a new visitor. This command is useful when multiple people are using devices in kiosks, for instance.

Bug fixes

  • Custom Errors: Send Custom Errors to the Session Replay pipeline only if the maximum number hasn’t been reached.

Bug fixes

  • Fixed performance issue in VisibilityObserver.

Features

  • Add the pageview type to the afterPageView command’s context.

Features

Performance improvements

  • Optimize Tag bootload time.

Features

  • WebView: stringify assets before calling sendAssets.

Bug fixes

  • Session Replay: do not serialize nodes not yet identified during initial serialization.

Features

  • Session Replay: add replay link generator command.

Bug fixes

  • Session Replay: catch exceptions thrown by whenDefined function.

Bug fixes

  • Session Replay: improve sensitive content coverage.

Features

  • API Errors: Configurable API errors support.

Bug fixes

  • EnviromentChecker: check if localStorage is not null.

Bug fixes

  • Check localStorage exists in window.

Performance Improvements

  • Emerchandising: Optimize getAllValidAnchors.

Performance improvements

  • Remove non essential localStorage check.

Features

  • WebView: Migrate analytics events.

Features

  • WebView: Support commands on cs_wvt.

Bug fixes

  • Handle ES5 in the worker context.

Bug fixes

  • Log errors thrown when creating the web worker.

Bug fixes

  • Update GzipCompressor to only use native CompressionStream on Chromium.

Features

  • Ecommerce: Add trackTransaction to commands.

Features

  • Replay: add pageX, pageY in Tap replay events.

Bug fixes

  • Analysis: upgrade web-vitals library.

Bug fixes

  • Support different casing of the Content-Type header.

Features

  • Filter untrusted gesture events.

Features

  • Session Replay: Add regex operator condition.

Bug fixes

  • Avoid relying on the Response.type property.

Performance Improvements

  • Optimize inactivity tracker.

Performance Improvements

  • Session Replay: Optimize debounce.

Bug fixes

  • Session Replay: allow all small Base64 images.

Bug fixes

  • Catch onArtificialPageViewEnd errors to avoid stopping the artificial pageview.

Bug fixes

  • Session Replay: Add support for data-cs-scroll-container attribute on initial scroll event.

Bug fixes

  • Send SCREEN_RESIZE event on artificial pageview.

Bug fixes

  • Session Replay: Mask attribute value of input type button or submit when attribute name is value.

Bug fixes

  • Session Replay: mask sensitive nodes removed during serialization.

Bug fixes

  • Session Replay: start textVisibility only when enabled.

Bug fixes

  • Stop using CompressionStream for Safari.

Features

  • Add Interaction to Next Paint (INP) support.

Bug fixes

  • Support non-utf8 data for Symmetric decryption.

Bug fixes

  • Session Replay: Add value attribute to replay request for input[type=submit].

Bug fixes

  • Session Replay: Remove initial empty event.

Performance Improvements

  • Measure RecordingBatch.addEvent.

Features

  • Errors triggered by Contentsquare tag are properly caught by third-party monitoring tools.

Performance Improvements

  • Optimize onStartTracking event lifecycle.

Features

  • Webview: Add ec:transaction:items:add command for WebView in SDK.

Features

  • IFrame: Add support for setEncryptionSelectors in iframe context.

Features

  • Add task scheduler globally.

Features

  • Iframe: Allow Tag to start inside an iframe of type srcdoc.

Bug fixes

  • Replay: Do not set mouseover event listener on shadow roots for old iOS versions.

Performance improvements

  • Measure the execution duration of ElementVisibility tracker

Bug fixes

  • Handle self property overrides

Features

  • Stringify and send requests from worker

Features

  • Session Replay: Implement screen resize event tracker

Performance improvements

  • Improve DOM serialization performance.

Bug Fixes

  • Session Replay: Support parsing multiple values for the rel attribute for stylesheet linking.

Features

  • Add Session Replay support in WebViews

Breaking Changes

  • window._uxa.push(["setOption", "isWebView", true]); will start the Tag in WebView mode.

Bug Fixes

  • Remove warning logs for node without identifier

Bug Fixes

  • Accessibility: Fix issue when an artificial pageview is triggered before the initial collection is triggered

Bug Fixes

  • Handle null referrer

Bug Fixes

  • Text visibility events not sent when emerch is enabled

Features

  • Add isRecording command inside iframe context

Bug fixes

  • Fix extensions index out of bounds

Bug fixes

  • Logger should handle when property is undefined

Bug fixes

  • Mask API error library field

Features

  • Add browser accessibility features and extensions detection

Features

  • Refactored serialization objects

Performance Improvements

  • Read visitor cookie only once

Features

  • Mask JWT token

Version bump for the @contentsquare/tracking-tag package.

Features

  • Add data collection for Session Replay in iFrames

Bug fixes

  • Refactored eventQueueStream

Bug fixes

  • Fix race condition

Features

  • Improve text visibility performance
  • Remove dynamically generated numbers from element name in path computation

Features

  • Session Replay data collection: added the setEncryptionSelectors command to encrypt sensitive data by a selector (continued)

Bug fixes

  • Custom Variables: Ignore invalid custom variables that were injected in the _cs_cvars cookie.

Features

  • Transformers: Change JavaScript transformers to TypeScript transformers.

Features

  • Emerch: Add product exposure tracking.

Version bump for the @contentsquare/tracking-tag package.

Features

  • Session Replay data collection: added the setEncryptionSelectors command to encrypt sensitive data by a selector

Bug Fixes

  • Emerch: Keep request parameters upon session renewal

Features

  • Process DOM mutations in chunks to improve performance

Bug Fixes

  • API Errors: Clone Fetch Response before reading payload
  • Session Replay data collection: The set_adopted_style_sheets event must come after the target element is serialized

Features

  • Iframe: Collect emerch on trackPageview.
  • Iframe: Upgrade communication to Channel Messaging API.

Bug Fixes

  • Fix Text visibility issue

Bug Fixes

  • Fix most frequent errors

Features

Bug Fixes

  • Install listeners for composed events only on document.

Bug Fixes

  • Serialization: Duplication when moving a node inside a node added during the same tick.

Version bump for the @contentsquare/tracking-tag package.

This version protects the Image.src setter against JavaScript overrides.

Bug Fixes

  • Added input element to selectors in serialization

Bug Fixes

  • Allowed synchronous compression when Worker creation fails (continued)

Bug Fixes

  • Allowed synchronous compression when Worker creation fails

Version bump for the @contentsquare/tracking-tag package.

Version bump for the @contentsquare/tracking-tag package.

Performance Improvements

  • Compute initial scroll position only for document instead of every HTML element.

Features

  • Text visibility revamp

Bug fixes

  • Session Replay: reduce the payload size by rounding mouse position coordinates.

Bug fixes

  • Fix intermittent JS error produced by the logger.

Features

  • Don’t renew sessions on browser events that are not user events.

Bug fixes

  • Fix throttling to only report actual target events
  • Filter untrusted click/mouse/pointer/touch events (continued)

Bug fixes

  • Update Performance API management to fix incorrect session time duration
  • Filter untrusted click/mouse/pointer/touch events

Bug fixes

  • Reset pageview request index on session renewal.

Features

  • (Internal) Allow flush commands register for dev environments

Performance Improvements

  • Miscellaneous performance improvements (including tag download time, caching, tree shaking)

Version bump for the @contentsquare/tracking-tag package.

Features

  • Add referrer: commands to mask Personal Data carried over by the referrer and sent to the tracking Tag on the next page.

Features

  • Use reliable selector to collect product path for Emerch.

Bug fixes

  • Use cachedJsonStringify on Error events.

Features

  • Increase the number of events to and throttling time to send a Session Replay data collection request

Performance Improvements

  • Implemented throttling on move events

Bug fixes

  • Fix serialization issues which resulted in broken snapshots

Bug fixes

  • Fix duplicates in collection by handling nodes removed and added within the same tick (event loop).

Features

  • Check Map and Set are supported in the browser before tracking.

Features

  • Retry data collection requests for Session Replay.

Bug fixes

  • Fix Unplayable Replay rate by Wait for initialDom to be done before sending beacon requests.

11.47.0 - September 29th, 2022

Section titled 11.47.0 - September 29th, 2022

Bug fixes

  • Reintroduce CSPathComputation global variable in built Tag.

11.46.0 - September 28th, 2022

Section titled 11.46.0 - September 28th, 2022

Features

  • Support product exposure tracking for Emerch.

11.45.1 - September 26th, 2022

Section titled 11.45.1 - September 26th, 2022

Version bump for the @contentsquare/tracking-tag package.

11.45.0 - September 26th, 2022

Section titled 11.45.0 - September 26th, 2022

Features

  • Remove mousemove, mousedown and mouseup events collection

11.44.5 - September 22th, 2022

Section titled 11.44.5 - September 22th, 2022

Bug fixes

  • Manage concurrent async serializations

11.44.4 - September 22th, 2022

Section titled 11.44.4 - September 22th, 2022

Bug fixes

  • Catch Session Replay data collection recovery errors to avoid stopping the Tag boot.

11.44.3 - September 29th, 2022

Section titled 11.44.3 - September 29th, 2022

Bug fixes

  • Prevent serializing twice nodes added in the same tick (event loop).

11.44.2 - September 15th, 2022

Section titled 11.44.2 - September 15th, 2022

Bug fixes

  • Ignore attributes mutations that do not change the state of the DOM

Performance Improvements

  • Improve duplicated JSON.stringify calls
  • Improved performance of Array-like operations

11.44.1 - September 14th, 2022

Section titled 11.44.1 - September 14th, 2022

Bug fixes

  • Improve browser support check for Custom Elements registration in Session Replay
  • Fix page and session number on session renewal if multiple tabs are open

11.44.0 - September 13th, 2022

Section titled 11.44.0 - September 13th, 2022

Features

  • Add pvt query parameter to tell the pageview type: artificial, natural, or session renewal.

11.43.0 - September 12th, 2022

Section titled 11.43.0 - September 12th, 2022

Features

  • Throttle data collection for Session Replay requests to improve performance

11.42.0 - September 12th, 2022

Section titled 11.42.0 - September 12th, 2022

Features

  • Protect window.performance against overrides (pageviews were not being fired).

Bug fixes

  • Improve sanitization of Personal Data CSS selectors which prevented collecting Session Replay data for sessions (continued)

Features

  • Fix controlled exposure for HTML elements which generated blank screens

Bug fixes

  • Improve sanitization of Personal Data CSS selectors which prevented collecting Session Replay data for sessions

Bug fixes

  • Do not collect personal information in JS errors
  • Report errors when touch events are not supported
  • Implementation touch events - Pinch and Spread support
  • Technical improvement on the serialization process
  • Collect touch events in session replay
  • Collect touch events in session replay
  • Technical improvement
  • Merchant info for add to cart and purchase
  • Bug fix: Emerch module
  • Bug fix: Emerch module
  • Session replay improvement
  • Implementation of Text errors
  • Technical improvement: Session duration
  • Cvar key maximum length increased to 512 characters.
  • Performance improvement
  • Internal improvement
  • Support fix
  • Update the pointer events with more arguments.
  • Maximum length of Dvar key increased from 50 to 512 characters.
  • Technical improvement
  • New Scope for custom variables added
  • Support fix
  • New event tracking for input password and number in SR
  • Add Swipe metrics in zoning
  • Collect body
  • Refactoring DOM serializer/ Async Map Processor introduction
  • Support fix
  • Scrapper requests fix
  • Collect swipe and long-press events
  • Tag refactoring
  • Support fix
  • API errors - Collect Query parameters
  • Bug fix
  • Support fix
  • Regex flags support
  • Tag improvement
  • Fix API call undefined when collecting headers
  • Support ticket fix
  • Manage lazy loaded products
  • Add query parameter in display requests to indicate if the payload is compressed or not
  • Collect custom/standard headers
  • Fix: [API Error] Collected wrong error_time
  • Bug fix
  • Support ticket fix
  • Symmetric Encryption services into cryptoWrapper package
  • Bug fix
  • Bug fix
  • Internal improvement
  • Add projectId to the context object passed to the afterPageView callback
  • Use fetch when available
  • Reduce Tag size
  • Internal change in logs
  • Bug fix
  • Internal change in logs
  • Bug fix
  • Send encrypted user identifier to session replay
  • Debounced scroll events attributed to the wrong pageview
  • Session Replay improvement
  • Bug fix
  • Bug fix
  • Internal update
  • Internal logs set up
  • setOption command usage for technical reason
  • Events collection fix
  • Core Web Vitals collection implementation
  • Minor improvement