Skip to content

Consent Selector

The Consent Selector tool lets you map specific elements on your page to consent types.

Configuring the Consent Selector

Learn how to map consent types to page elements using the visual tool: implied language, explicit checkboxes, and partner disclosures.

~3 min
This tells eConsent which text, checkboxes, and interactive elements represent the consumer’s consent, and what kind of consent each element represents.

eConsent tracks four categories of consent across two dimensions:

TypeHTML valueDescriptionExample
Main Impliedmain-impliedPrimary consent language displayed to the user”By submitting this form, you agree to be contacted by phone, text, or email.”
Main Explicitmain-explicitPrimary consent requiring user action (checkbox, button)A checkbox labeled “I agree to receive marketing communications”
Secondary Impliedsecondary-impliedAdditional/partner consent language displayed to the user”Your information may be shared with our lending partners.”
Secondary Explicitsecondary-explicitAdditional consent requiring user actionAn opt-in checkbox for third-party marketing

The Consent Selector shares the same in-app browser as the Whitelist Inspector, but operates in a different mode.

  1. Open the Inspector

    Go to Tools > Whitelist Inspector in your dashboard at app.econsent.org and load your website URL.

  2. Switch to Consent Selector mode

    Toggle from Whitelist Mode to Consent Selector Mode in the toolbar.

  3. Click a consent element

    Click on the text paragraph or checkbox that represents consent on your page. A modal will appear asking you to classify it.

  4. Assign the consent type

    Select the appropriate type from the dropdown:

    • Main Implied
    • Main Explicit
    • Secondary Implied
    • Secondary Explicit

    Consent type selection modal with color-coded badges

  5. Repeat for all consent elements

    Map every relevant consent element on your page. The right panel shows your selections, color-coded by type.

  6. Save to your properties

    Select the properties to apply this configuration to and save. You can choose Add to Existing to append or Replace All to overwrite.

If you prefer to tag consent elements directly in your HTML instead of using the visual tool, add data-consent-type attributes:

<!-- Main implied consent (displayed text) -->
<p data-consent-type="main-implied">
By submitting this form, you consent to receive calls and texts
at the number provided, including by autodialer.
</p>
<!-- Main explicit consent (checkbox) -->
<div>
<input type="checkbox" id="agree" data-consent-type="main-explicit" />
<label for="agree">I agree to the Terms of Service</label>
</div>
<!-- Secondary implied consent (partner disclosure) -->
<p data-consent-type="secondary-implied">
Your information may be shared with our network of service providers.
</p>
<!-- Secondary explicit consent (opt-in) -->
<div>
<input type="checkbox" id="partner-optin" data-consent-type="secondary-explicit" />
<label for="partner-optin">I consent to receive offers from partners</label>
</div>

eConsent performs thorough visibility checks at runtime to ensure consent elements were actually presented to the user. The tracker (compiled from Rust to WASM) checks the following conditions:

  1. Inline styles: display: none, visibility: hidden, opacity: 0
  2. Hidden attribute: the HTML hidden attribute on the element
  3. Bounding box: element must have non-zero width and height
  4. CSS classes: common hiding classes: .hidden, .d-none, .invisible, .collapse
  5. Parent visibility: walks up the DOM tree to check if any ancestor is hidden
  6. Multi-step form detection: detects active step context so elements in hidden steps are handled correctly

If an implied consent element fails visibility checks, it is not included in the certificate. If an explicit consent element (checkbox) is not checked, it is not recorded as evidence of consent.

For each consent element captured during a session, eConsent records:

FieldDescription
idUnique identifier for the consent record
textFull label text or element content (truncated to 4,900 characters for UTF-8 safety)
consent_typeThe assigned type (main-implied, main-explicit, secondary-implied, secondary-explicit)
consent_categoryEXPLICIT or IMPLIED
valueInput value for explicit consent, or display state for implied
nameInput name attribute (if applicable)

This data becomes part of the consent certificate generated when the form is submitted.