Product

Embed, consent, resolve, route.

The mechanism in seven steps. The first one is a gate, and everything after it depends on the gate holding.

  1. 01

    Install the tag

    A WordPress plugin, or one snippet in your site header. It must load after your consent management platform initializes — the setup docs are explicit about ordering, because that ordering is the entire safety property.

  2. 02

    The consent gate holds

    On every page view, the loader reads your consent state. If the categories you require are not granted, the loader stops. No identifier is generated, no request leaves the browser, no record is created. Undecided counts as denied.

  3. 03

    A consented visitor is resolved

    For granted visitors only, the visit is resolved into a supporter record — contact fields, postal address where available, the pages read, and the attribution that brought them.

  4. 04

    The consent record is stamped on

    Timestamp, version string, source page URL and granted categories are written onto the record. These four fields travel with every copy of it, everywhere, and cannot be stripped by configuration.

  5. 05

    Deduplication runs

    We match on the lowercased-email hash first, then phone, then name plus address. On a match we update rather than create, and only the fields you marked overwritable.

  6. 06

    Routing rules fire

    The normalized record is written to each destination you configured — CRM, fundraising, email, texting, ads — with per-destination field mappings and per-destination create/update behavior.

  7. 07

    Withdrawal propagates

    If a visitor later withdraws consent, we stop immediately, write a consent-revoked event to the record, and send a suppression signal to destinations that support one.

The diagram

Where the gate sits

Ballot Signal data flow A visitor arrives at your website. The consent gate evaluates their consent state. If consent is denied or undecided, the flow stops and no record is created. If consent is granted, the visitor is resolved into a supporter record, normalized, and routed to your destinations. Visitor on your site Consent gate CMP state is read default = denied Denied or undecided → nothing happens. No record. granted Resolve supporter record Normalize dedupe + stamp consent CRM Email / SMS Ads / Slack
The dashed branch is the one most vendors do not draw. On a declined or undecided visitor, the flow terminates at the gate — there is no reduced-fidelity path, no anonymous profile held in case they change their mind later.

The integration layer

Works with your stack

53 platforms across eight categories, each carrying an honest status label — including the ones that say "coming soon" and "partner-only."

Browse all integrations

Text wordmarks only — we do not display partner logos without written permission, and a badge here never implies an endorsement or a native connector. The status on each partner page is the claim; this wall is just the map. Not seeing yours? Request an integration.

Questions people actually ask

How long does installation take?

On WordPress, minutes — install the plugin, paste the site key, confirm a consent plugin is active. On a hosted builder, one snippet in the header, assuming your plan permits custom code. The part that takes longer is configuring destinations, because that is where your field mappings live.

Does the tag slow the site down?

The loader is small and deferred, and on a declined or undecided visitor it does nothing beyond reading the consent state. There is no identification work happening in the background while the banner is up.

What happens on a page a visitor lands on before accepting?

Nothing is recorded for that page view. Once consent is granted, subsequent page views are recorded, and the landing URL and referrer are still available from the session — but the pre-consent behavior itself is not reconstructed after the fact. That is deliberate: retroactive consent is not consent.

Can we require consent categories beyond marketing?

Yes. Marketing is the default requirement; you can additionally require statistics. We will not run on functional or strictly-necessary consent alone, because identifying a visitor is not necessary to deliver a website.

What if we do not have a consent management platform?

We ship a banner you can use. It defaults every category to denied, records the choice in a first-party cookie with a version string, and produces the same audit trail.

See what your own website already knows.

Book a 20-minute walkthrough. We will look at your site's current consent posture first — that part is useful whether or not you buy anything.