Fields never captured
Regardless of what a form asks for, the Pixel drops the value of any field whose name matches a sensitive pattern. The full list:password, secret, token, key, auth, credential, ssn, credit card, cvv,
cvc
Matching is case-insensitive and substring-based, so user_password and apiToken are
both caught. Beyond that:
- File uploads are never sent. File inputs are skipped entirely. The Pixel records nothing about the file, not even its name.
- Password-typed inputs are excluded from form detection, so they never become part of a form’s mapped structure.
- CMS password gates are ignored. A form that is exactly a Webflow-style gate
(
page+pass+path) is recognized as a gate rather than a lead form and skipped.
Turning capture off
You have 3 levels of control, from broadest to narrowest. Paths excluded by default. The Pixel doesn’t capture anything on pages whose path contains/login, /signin, /account, /checkout, /oauth, or /admin/. Matching is
a case-insensitive substring test on the path, so /my-account/settings is excluded too.
Note that /admin/ needs the trailing slash: a page at exactly /admin is not
excluded.
A whole page. Add this to the page’s <head>:
data-default-ignore to a form, or to any element that
contains it. The Pixel skips submissions, interactions, and detection for anything inside:
Consent Gating
The Pixel respects visitor consent choices for 2 categories, and gates the corresponding tracking behavior accordingly:
Form capture is never gated. Submitting a form is itself an affirmative visitor action,
so submissions are always captured, regardless of consent state.
Neither is form cataloguing: reading which forms are on a page and their fields, so you
can add them with Catalog forms and Default can notice when they change. It reads the
form’s own structure, not the visitor.
Default behavior
Out of the box, both categories are allowed. This is an opt-out model. Tracking runs normally until a visitor withholds consent through your site’s own consent tooling.The Pixel doesn’t ship a consent banner or detect third-party consent tools (OneTrust,
Cookiebot, and similar) automatically. If you need visitors to be asked before
tracking runs, your own banner is responsible for asking and for telling the Pixel the
answer. See Wiring up your consent banner below.
What happens when consent is withheld
- Analytics withdrawn: any identity already stored is cleared immediately, and no
further identity is written to either cookies or
sessionStorage. Browser session storage is non-exempt storage too, so it isn’t used as a fallback. Pageview and session tracking stop, so the Account Signal cannot identify the visitor’s company. The visitor is still tracked for the current page in memory (so a single-session experience like the scheduler handoff keeps working), but nothing durable is written, and that in-memory state is gone once the page unloads. The Forms SDK (core.js,sdk-core.js) still keeps one non-identifying item insessionStorage, a count of analytics withdrawals (_dflt_core_rev), which it uses to drop IDs issued before a withdrawal. - Marketing withdrawn: the Account Signal does not look up the company on a session that starts after the refusal. The session itself is still recorded when analytics consent is on. The People Signal script won’t load going forward. If it had already loaded earlier in the session before consent was withdrawn, that can’t be undone retroactively. The setting only affects loads from that point on.
/checkout, on the next eligible page they visit. If the session started while marketing
was refused, the grant also starts the Account Signal company lookup for that session, once.
Wiring up your consent banner
Have your consent banner callsetConsent once the visitor makes a choice. Which call to
use depends on which script you’ve installed:
true: any other value you pass for it (the string 'false', 0, null) counts as a
denial, and a denial holds for the current page even if the browser will not let Default store
the cookie that remembers it. Calling
window.__defaultPixel__.setConsent is safe even immediately on page load, before the
async scripts have finished loading: calls are queued and replayed automatically
once they’re ready.
The Forms SDK (sdk-core.js) replays the same queue. sdk.js, the earlier file that also runs
visitor fingerprinting and session tracking, applies queued choices before it starts a session.
With the Pixel and sdk.js on the same page, either can load first, and a later call to either
setConsent reaches both. For a standalone SDK, follow the
complete SDK example.
The visitor’s choice is remembered (in a first-party cookie) so it persists across
visits. For every cookie and storage item Default uses, see Cookies & Storage. You don’t need to re-collect it on every page load once your banner has made
the call.
On a page that loads
sdk.js or the Pixel tracker, setConsent({ marketing: false }) stops
the Account Signal company lookup for a session that starts after the refusal. A refusal made
after the session has started doesn’t undo a lookup that already ran.