CRM & voter contact
Ballot Signal + HubSpot
What is HubSpot?
The CRM most consultants and advocacy shops already run alongside a political database — often the reporting layer leadership actually looks at.
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 + HubSpot integration works
The supporter record maps to a HubSpot contact. Consent timestamp, consent version, consent source URL and consent categories are written to custom contact properties created during setup, and page-intent signals are sent as custom behavioral events so they appear on the contact timeline instead of overwriting properties. Deduplication uses HubSpot's own email-based contact matching on top of our lowercased-email hash.
What syncs
- Contacts
- Custom properties
- Custom behavioral events
- Lists
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 | CRM object | Notes |
|---|---|---|
| firstName, lastName | Person / contact record | Left empty rather than guessed when resolution is not confident. |
| 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
In Ballot Signal, add HubSpot as a destination and click Connect.
- 2
Authorize the OAuth scopes for contacts read/write and events write.
- 3
Let Ballot Signal create the consent custom properties, or map to properties you already maintain.
- 4
Choose whether identified supporters should also be added to a specific HubSpot list.
- 5
Run a test push and confirm both the contact properties and the behavioral event on the timeline.
Why it matters
The CRM most consultants and advocacy shops already run alongside a political database — often the reporting layer leadership actually looks at.
Related integrations
All CRM & voter contact →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.
Salesforce
The enterprise floor for large PACs, advocacy organizations and party committees with real IT governance.
NGP VAN / EveryAction
The dominant Democratic and progressive campaign database — if your organizers live anywhere, they live here.
Campaign Sidekick
Widely used for field and canvassing on the Republican side, where the identified supporter needs to become a door on a walk list.
Ballot Signal + HubSpot: questions
Is the HubSpot 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 HubSpot integration use?
OAuth2. Credentials are stored encrypted and are never rendered back into the interface after entry.
Will this create duplicate records in HubSpot?
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 HubSpot?
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.