Tracking4 min read
What Mrkr records automatically
Mrkr does not autocapture in-page behaviour. There are no element selectors, no button labels, and no link text in your analytics database. What the script collects automatically describes the visit: the pages seen, where the visitor went when they left, and how far they got down each page.
Earlier versions captured link clicks, button clicks, form submissions, and select/checkbox changes as click_link, click_button, submit_form, select_change and toggle_change, along with element selectors and visible text. All five event names are gone from the tracker and are rejected at the collect endpoint, so installs still running a cached copy of the old script cannot write click data either. Rows already recorded are kept and still display; nothing new is added to them. The data-autocapture attribute no longer does anything and can be removed from your snippet.
Why it was removed
Capturing link text and hrefs is harmless on a marketing site and quietly dangerous on a logged-in one. "Download Jane Doe's contract" is a link label; /invoices/8842 is an href. Both are your customers' personal data, and both would have accumulated in an analytics database that has no business holding them. A privacy-first product does not get to collect that and then argue about intent, so the collector is gone rather than configurable.
What the script still collects on its own
| Event | When it fires | What it carries |
|---|---|---|
pageview | On load, and on every SPA route change | Path, page title, referrer, UTM parameters, screen size, language, timezone |
outbound | A click that navigates to another domain | Destination host and href. No element text or selector |
download | A click on a link to a known file type | File extension, filename, href |
scroll | Reaching 25 / 50 / 75 / 100% of a page | The depth reached, once per threshold per page |
page_leave | When a page is backgrounded, left, or closed | Wall-clock duration, visible time, and engaged time for that page, as cumulative totals |
web_vital | As each measurement settles | LCP, CLS, INP, FCP, TTFB and their values |
Outbound and download are click-driven, and they are the only two that are. They record where a visitor went, not what they interacted with: a destination URL, never an element, a selector, or any text from your page. If you want no click-derived data at all, they are the two to think about.
The href on an outbound or download event is the resolved absolute URL, truncated at 512 characters, query string included. If your site links out with a token, an email address, or a customer id in the query string, that value is stored. There is no setting that turns these two events off; if a route's links carry secrets, keep the whole route out with excluded paths.
What is never captured
The value of any free-text input is never sent, under any setting: text, password, email, tel, number, search, url, date, and textarea fields are never read. Neither is the text of anything a visitor clicks, the DOM structure of your pages, nor any element identifier. Session replay is a separate, off-by-default feature with its own masking rules and its own documentation.
Tracking a specific interaction on purpose
Nothing stops you instrumenting the interactions that matter to you: that is a decision you make about your own site, rather than a default imposed on every customer. Add a `data-mrkr-event` attribute to an element, or call mrkr.track() yourself, and exactly the event you name is recorded with exactly the properties you supply.
<button data-mrkr-event="signup_started" data-mrkr-prop-plan="pro"> Start now </button>