Product
One pipeline. The second stage is a gate that can only say no.
Ballot Signal is deliberately boring infrastructure. Seven stages, one record shape, and an honest label on everything it connects to.
Ingestion
The tag reports page context from your site: URL, referrer, UTM parameters, and the sequence of pages in the session. On an unconsented visitor this is held in memory and discarded — nothing is transmitted.
Consent gate
The pipeline's only mandatory stage. Consent state is read from your consent management platform and normalized into one internal object. Denied or undecided terminates the flow here.
Identity resolution
For granted visitors, the visit is resolved into contact fields using your own first-party data plus a commercial identity graph. This is not a voter file match — see voter file rules for what that distinction means.
Normalization
One supporter record shape, regardless of what produced it. Emails lowercased and hashed into the dedupe key, phones normalized to E.164, addresses standardized, intent signals derived from page paths.
Deduplication
Dedupe key first, then normalized phone, then name plus address. Match means update; no match means create. Which fields are overwritable on update is your configuration, per destination.
Routing & delivery
Rules you configure decide which records go where, keyed off page URL, UTM parameters, geography or intent signal. Delivery is retried with exponential backoff and every attempt is logged.
Consent lifecycle
Withdrawals arrive from the CMP, stop processing immediately, write a consent-revoked event, and propagate as suppression signals where the destination supports one.
Stage 02 is the only one that can terminate the pipeline, and it is the only one with no configuration option to disable it.
Why it is built that way →The honest-label matrix
Six status labels, and two of them are admissions.
Every integration on this site carries one. The point of the system is that a buyer can tell, at a glance, the difference between something we built and something we intend to build.
Built, tested and available to every customer today. You can turn this on yourself without talking to us.
Built and running with real customers, but not yet generally available. Expect us to be involved in your setup and expect the occasional rough edge. Ask us for access.
Not a native connector. This works today through our Zapier app, which means you will build and maintain a Zap and you may need a paid Zapier plan for the volume. It works — it is just not us doing the work.
Not a native connector. This works today through our signed universal webhook, and someone on your side (or your consultant) wires up the endpoint. Full supporter record, full consent record, no UI.
Not built yet, or built and waiting on a marketplace review we do not control. We are not going to tell you a date we cannot hold. If it matters to your buying decision, tell us and it moves up the list.
This platform does not publish open integration documentation. Access requires a commercial partnership we have not signed. CSV export is the honest path today, and we would rather say that than imply a connector exists.
Counts are live from the same data file that generates every integration page — so this table cannot drift away from the directory.
Questions people actually ask
Where does the pipeline run?
On managed infrastructure in the United States. The exact regions and sub-processors are listed on security & privacy, and changes are notified in advance under the DPA.
Can we self-host?
Not the pipeline. But you can keep supporter records inside your own infrastructure end to end by routing the signed universal webhook into a self-hosted n8n instance, which is the path organizations with the strictest posture usually take.
What is the delivery latency?
Records are routed in near real time, typically seconds after resolution. Slack alerts are the fastest path and are intended for same-day human follow-up.
What happens if a destination is down?
We retry with exponential backoff and surface failures in the delivery log. Nothing is silently dropped; a delivery that exhausts retries stays queryable and re-sendable. Watch the log in your first week — some platforms disable a webhook after a fixed number of consecutive failures.
Do you have SOC 2?
Not today, and we are not going to imply otherwise with a badge. The roadmap and the controls we do have in place are described on security & privacy.
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.