CRM & voter contact

Ballot Signal + NationBuilder

Beta Native — OAuth Nonpartisan OAuth2 (or per-nation admin API token)

What is NationBuilder?

All-in-one CRM and website builder — so it is both a destination for supporter records and a place the Ballot Signal tag itself gets installed.

It sits in the CRM & voter contact category of a campaign stack. Your campaign's system of record — where every supporter eventually lands.

Who uses it

Nonpartisan. Used across both parties and by nonpartisan organizations.

How the Ballot Signal + NationBuilder integration works

The supporter record maps to a NationBuilder person, which carries 200+ fields including tags, custom fields and voter identifiers. Contact fields map straight across; consent timestamp, consent version and consent source URL are written to custom fields you create once; page-intent signals become tags; and the visitor's entry point can be written to the person's path so your existing follow-up automation fires without changes.

What syncs

  • People
  • Tags
  • Custom fields
  • Webhooks (person created / changed)

Field mapping

The supporter record is the same shape everywhere. What changes is where each field lands. The full record is documented on what you get.

Supporter record field mapping
Supporter record CRM object Notes
firstName, lastName Person / contact record Left empty rather than guessed when resolution is not confident.
email Person / contact record — primary identifier Primary match key. Lowercased before hashing.
phone Person / contact record — phone field Present does not imply consent to be contacted on it.
addressLine1, city, state, zip Person / contact record — address fields Third dedupe fallback.
consentTimestamp Custom fields or survey responses ISO 8601, UTC.
consentVersion Custom fields or survey responses The language in force at the moment of consent.
consentSource Custom fields or survey responses The exact page URL where consent was captured.
consentCategories Custom fields or survey responses Normalized from your consent platform.
intentSignals Tags or activist codes Donate-page, volunteer-page, issue-page and any you define.
utmSource, utmMedium, utmCampaign, referrer Custom fields or survey responses or source fields Carried verbatim.
dedupeKey Match key Lowercased email hash. Match order: dedupeKey, then phone, then name + address.

How to set it up

  1. 1

    In your nation, go to Settings → Developer → Register New App to create an OAuth application and obtain a client ID and client secret.

  2. 2

    Create the custom fields that will hold consent timestamp, consent version and consent source URL.

  3. 3

    In Ballot Signal, add NationBuilder as a destination and complete the OAuth authorization against your nation slug.

  4. 4

    Map supporter fields to person fields, and map each page-intent signal to a tag.

  5. 5

    Optionally register a webhook under Settings → Developer → Webhooks so profile changes flow back and keep both systems in step.

  6. 6

    Run a test push and confirm the person record, its tags, and its consent custom fields.

Why it matters

All-in-one CRM and website builder — so it is both a destination for supporter records and a place the Ballot Signal tag itself gets installed.

Ballot Signal + NationBuilder: questions

Is the NationBuilder integration available today?

Beta. 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.

What authentication does the NationBuilder integration use?

OAuth2 (or per-nation admin API token). Credentials are stored encrypted and are never rendered back into the interface after entry.

Will this create duplicate records in NationBuilder?

No, assuming you leave deduplication on. 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 have marked overwritable.

Does the consent record travel into NationBuilder?

Yes. Consent timestamp, consent version, consent source URL and granted categories are included in every push, by default, and there is no configuration that strips them. That is the point of the product.

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.