What is recorded
Once the script is on the page, it records most things by itself. You only add code for commerce events in manual mode, for custom events, and to link sessions to customers.
Recorded automatically
Section titled “Recorded automatically”These are recorded in every mode, with no code from you:
| Event | What it records |
|---|---|
| Page views | Every page load and every client-side navigation, with time on page and scroll depth. |
| Clicks | The element clicked (selector, tag, role, link and up to 50 characters of its text). |
| Rage clicks | 3 or more clicks in 700 ms on one spot. |
| Dead clicks | A click on something clickable that changes nothing for 1.5 seconds. |
| JavaScript errors | Uncaught errors, unhandled promise rejections and console.error, with message and stack. |
| Network errors | Failed fetch/XHR requests and responses with status 400 or higher, on any host. |
| Network requests | Successful requests to your shop’s own host and its subdomains only. See URLs, requests and cookies. |
| Failed resources | Scripts, stylesheets, images and web fonts that did not load. |
| Form errors | Fields the browser or your code marked invalid: the field’s name and type, never its value. |
| Broken text | On cart and checkout pages: counts of broken characters (�, Å‚, Ä……), never the text. |
| Web vitals | LCP, INP, CLS, FCP and TTFB, from Google’s web-vitals. |
| Products | Products seen on the page, from JSON-LD Product data (OpenGraph as a fallback). |
| Deploys | Your front-end version: the Next.js build ID, or a hash of the page’s asset URLs. |
| Session replay | A recording of the session, if replays are on and the visitor allowed them. See Masking and replays. |
Automated browsers are recognised as bots: browsers driven by tools such as Playwright, Puppeteer, Selenium or Cypress, headless browsers, browsers that contradict themselves (for example, one that claims to be desktop Chrome but lacks Chrome’s own features), and well-known crawlers. By default their events are not stored, so they never reach a figure; our team can instead keep them marked as bots for a website, which still leaves them out of every figure. They are never recorded.
Commerce events
Section titled “Commerce events”The funnel (product → cart → checkout → payment method → payment → order) is built from commerce events. They come either from automatic detection or from your own calls, never both. See Commerce: auto or manual.
Events you add
Section titled “Events you add”- Custom events with
qm("track", name, props). See Custom events and customers. - Page types with
qm("page", { type }), when the URL does not say what a page is. See Page types. - Customers with
qm("identify", customerId). Only a hash of the id is sent.