---
title: Collected data - Web
description: Understand what data is collected by the Tag
source_url:
  html: https://docs.contentsquare.com/en/web/collected-data/
  md: https://docs.contentsquare.com/en/web/collected-data/index.md
---

> ## Documentation index
> Fetch the complete documentation index at: https://docs.contentsquare.com/llms.txt
> Use this file to discover all available pages before exploring further.

Contentsquare collects comprehensive visitor interaction data while protecting personal information through email filtering and optional masking features.

## Personal Data

The tag collects the following data by default. Some features collect additional data points, which are described on their own pages: [Error analysis](https://docs.contentsquare.com/en/web/error-analysis/), [Voice of Customer](https://docs.contentsquare.com/en/web/voice-of-customer/), and [Product Analytics](https://docs.contentsquare.com/en/web/product-analytics/).

In particular, **potential** Personal Data would be:

1. Into the **HTML content** that is sent for a small fraction of your visitors. Solutions to prevent this from happening:

   * Remove some sensitive content ([this chapter explains how](https://docs.contentsquare.com/en/web/personal-data-handling/#remove-contentpersonal-data-from-the-collected-html))

   * Totally deactivate this for all users (some features may then be unavailable like Session Replay or retroactive background; ask your Account Manager)

2. Into **Custom Variables** sent to Contentsquare servers (to prevent this from happening, make sure that the values that you wish to collect could not be linked to one individual)

## What is not collected

* The tag doesn't collect the values of form fields. For a field change, it collects which field changed and whether it was left blank, never its content.

* The tag doesn't collect what the user types. Keystrokes are collected as **categories**, not characters: every letter, digit, and symbol is reported as a single `alphanumerical` value, alongside the named keys (`Enter`, `Backspace`, `Delete`, `Tab`, `Escape`, arrows, and the modifier keys).

* The tag redacts the following patterns before the data is sent to Contentsquare servers:

  | Pattern | Replaced with |
  | - | - |
  | Email addresses, including URL-encoded ones | `CS_ANONYMIZED_EMAIL` |
  | Credit card numbers, when the number passes a Luhn checksum | `CS_ANONYMIZED_PII` |
  | Digit sequences of 9 digits or more, such as phone and social security numbers | `•` per digit |

  Email redaction applies to URLs, Custom Vars, Dynamic Vars, e-commerce transaction IDs, Session Replay, and the messages collected by [Error analysis](https://docs.contentsquare.com/en/web/error-analysis/). Credit card and digit-sequence redaction applies to the text collected by Session Replay. If your project masks numbers, every digit is redacted instead. [Target text](https://docs.contentsquare.com/en/web/collected-data/#target-text) is not redacted: when it contains any of these patterns, it is not collected at all.

Warning

This does not apply to Voice of Customer capabilities designed to collect user feedback. See [Voice of Customer](https://docs.contentsquare.com/en/web/voice-of-customer/).

## What is collected

The Tag automatically collects the following data. Any values you explicitly send via [Custom Vars](https://docs.contentsquare.com/en/web/sending-custom-vars/) or [Dynamic Vars](https://docs.contentsquare.com/en/web/sending-dynamic-vars/) are also collected.

Rows marked **accessibility analysis only** are collected only when accessibility analysis is active on the project. Everything else is collected by default.

| Data | Usage | Value example |
| - | - | - |
| User Agent | Device type (desktop/tablet/mobile) and browser detection | Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv.7.5) |
| City Geolocation | Web users geolocation (based on the IP address; for more info on IP Addresses [see dedicated section](https://docs.contentsquare.com/en/web/ip-addresses/)) | Paris, France |
| URL | Mappings: group pageviews on similar page templates | [https://en.wikipedia.org/ ↗](https://en.wikipedia.org/) |
| Screen Resolution | Segments | 1600x900 |
| Referer | Segments: traffic source detection | `https://google.com` |
| Clicks | Zoning Analysis | {target: "div#zone", t:1500} |
| Clicked Element (button and link) | Segmentation, Funnels | {target: "button#checkout", t:1500, text: "Checkout"} |
| Clicked Element (all elements) | Segmentation, Funnels | {target: "button#checkout", t:1500, text: "Checkout"} |
| Hovers | Zoning Analysis | {target: "div#zone", t:1500} |
| Scroll | Zoning Analysis (exposure metrics) | {top:0px, left: 0px; t:1500} |
| Mouse move | Activity rate | {x:200, y:800, t:1500} |
| Focus | Keyboard navigation metrics (accessibility analysis only) | {target: "input#email", t:1500} |
| Tap, drag, flick | Zoning Analysis, Session Replay (mobile gestures) | {target: "div#carousel", direction: "left", t:1500} |
| Field change | Segmentation, Funnels (which field changed, and whether it was left blank) | {target: "input#email", blank: true, t:1500} |
| Form submit | Segmentation, Funnels | {target: "form#checkout", t:1500} |
| Keystroke category | Activity rate | {target: "input#email", key: "alphanumerical", t:1500} |
| Text selection length | Accessibility analysis only (character count, never the text) | {len:42, t:1500} |
| Window resize | Segments | {x:1280, y:720, t:1500} |
| Zoom level | Accessibility analysis only | {val:1.5, t:1500} |
| Web Vitals | Speed Analysis: LCP, CLS, FCP, TTFB, and INP | {name: "LCP", val:2400} |

### Target text

The two **Clicked Element** rows in the previous table correspond to the target-text setting on your project, which decides which elements contribute their text:

* **Buttons and links only** — text is collected for the nearest `button` or `a` ancestor of the clicked element, and nothing else.
* **All elements** — any clicked element contributes its text.

Target text is trimmed to **100 characters**. It is dropped entirely when the element is masked, when it contains a masked child, or when its text contains one of the [redacted patterns](https://docs.contentsquare.com/en/web/collected-data/#what-is-not-collected), or any digit if your project masks numbers.

### E-commerce data

Collected when you send e-commerce transactions — see [E-commerce transactions](https://docs.contentsquare.com/en/web/ecommerce-tag/).

| Data | Value example |
| - | - |
| Transaction ID | 1234 |
| Total (revenue) | 11.99 |
| Currency | USD |
| Product Total ([Merchandising](https://docs.contentsquare.com/en/web/sending-ecommerce-commands/#sending-a-transaction-for-merchandising) only) | 11.99 |
| Product ID / SKU ([Merchandising](https://docs.contentsquare.com/en/web/sending-ecommerce-commands/#sending-a-transaction-for-merchandising) only) | 1234 |
| Product name ([Merchandising](https://docs.contentsquare.com/en/web/sending-ecommerce-commands/#sending-a-transaction-for-merchandising) only) | Green shoes |
| Product quantity ([Merchandising](https://docs.contentsquare.com/en/web/sending-ecommerce-commands/#sending-a-transaction-for-merchandising) only) | 1 |
| Product category ([Merchandising](https://docs.contentsquare.com/en/web/sending-ecommerce-commands/#sending-a-transaction-for-merchandising) only) | Shoes |

## Additional data on the Contentsquare Experience Platform

Projects collecting Product Analytics data natively send all the data described earlier on this page, plus the data in this section. See [Product Analytics](https://docs.contentsquare.com/en/web/product-analytics/) for the commands that produce it.

### Session and page context

The Tag attaches the following parameters to every pageview and event request, so that reporting is not limited to the first pageview of a session. Session-level values are restored from the [`_cs_s_ctx`](https://docs.contentsquare.com/en/web/cookies/#_cs_s_ctx) cookie.

| Parameter | Data | Value example |
| - | - | - |
| `t` | Page title | Checkout — Confirmation |
| `fvt` | Session start time | 1717060800000 |
| `fvurl` | Session landing page | `https://example.com/home` |
| `fpvurl` | Session traffic source | `https://google.com` |
| `pvurl` | Previous pageview URL | `https://example.com/cart` |
| `url` | Current pageview URL | `https://example.com/checkout` |
| `cvt` | Current pageview time | 1717060860000 |
| `sw` | Screen width | 1600 |
| `sh` | Screen height | 900 |
| `i` | Encrypted user identity set via `identify` | bfuKr7A9WgrhAgm2… |
| `cvarp` | Page-level custom properties | {"plan":"premium"} |
| `happid` | Product Analytics environment ID of the project | 2748219634 |
| `cw` | Collection mode (`1` native, `2` [legacy sideloading](https://docs.contentsquare.com/en/web/heap-sideloading/)) | 1 |

Page title collection can be disabled with [`hidePageTitle`](https://docs.contentsquare.com/en/web/command-reference/#hidepagetitle).

### Interaction events

`click`, `tap`, `change`, and `submit` interactions are collected as events so they can be analyzed without prior tagging. Each one carries:

* The **target path** of the element the user interacted with.
* The **element hierarchy** of that element, when hierarchy collection is enabled on the project.
* The merged **custom properties** in scope: pageview properties, visit properties, and any properties resolved by your event enrichers.

### Element hierarchy

The hierarchy is the chain of ancestor elements from the interacted element up to — and stopping at — the document `body`. Each level is serialized as its tag name, then its `id`, then its classes in alphabetical order, then its remaining attributes:

```txt
@button;#submit-order;.btn;.btn-primary;[data-testid=confirm];|@div;.checkout-footer;|
```

Levels are separated by `|`. The whole hierarchy is capped at 1024 characters and truncated from the outermost level; a single attribute value longer than 1024 characters is dropped.

The following are never collected, whatever your masking settings:

| Excluded | Reason |
| - | - |
| The `value` attribute of form inputs | Holds what the user typed |
| `data-com.agilebits.onepassword.initial-value`, `data-com.onepassword.iv` | Can hold passwords (1Password) |
| `data-initial-value`, `data-previous-value` | Can hold personal data (v-mask) |
| `onclick`, `onsubmit` | Inline JavaScript |
| `style` | Inline CSS, too verbose |
| `data-ember-action`, `data-react-checksum`, `data-reactid` | Framework internals, no analytical value |
| `maxlength` | Technical constraint, no analytical value |
| On SVG elements, every attribute except `data-*` and `aria-label` | No analytical value |

Hierarchy collection also respects your project's masking settings. On a masked element, no attributes are collected at all. When anonymization is active, attributes outside your project's allowlist are collected by **name only**, without their value.


```json
{"@context":"https://schema.org","@type":"TechArticle","headline":"Collected data","description":"Understand what data is collected by the Tag","url":"https://docs.contentsquare.com/en/web/collected-data/","inLanguage":"en","dateModified":"2026-10-07T20:58:36+02:00","publisher":{"@type":"Organization","name":"Contentsquare","url":"https://www.contentsquare.com/"},"isPartOf":{"@type":"WebSite","@id":"https://docs.contentsquare.com/#website","name":"Contentsquare Technical Documentation","url":"https://docs.contentsquare.com/"}}
```