Fundraising & payments
Ballot Signal + WinRed
What is WinRed?
The GOP donation rail, and bundler_id is an official, supported attribution parameter — not a hack.
It sits in the Fundraising & payments category of a campaign stack. Match giving history to the visitor who never filled out the form.
Who uses it
Republican lane. Predominantly used by Republican and conservative campaigns and organizations. Ballot Signal itself is nonpartisan — we build to whichever platforms our customers actually run, and the directory is filterable by lane so you can see only what applies to you.
How the Ballot Signal + WinRed integration works
WinRed posts real-time donation data to a custom endpoint with a JSON payload whose keys you define, and retries up to 25 times on failure. Ballot Signal matches on email and enriches the existing supporter record. Attribution is cleaner here than almost anywhere else: pass the Ballot Signal visitor identifier into your WinRed links as the bundler_id URL parameter and the donation comes back already tied to the visit that produced it. S3 and SFTP scheduled reports work as a backfill.
What syncs
- Donations
- Recurring donations
- Donor fields
- bundler_id attribution
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 | Fundraising object | Notes |
|---|---|---|
| firstName, lastName | Donor record (matched, not created) | Left empty rather than guessed when resolution is not confident. |
| Donor record (matched, not created) — primary identifier | Primary match key. Lowercased before hashing. | |
| phone | Donor record (matched, not created) — phone field | Present does not imply consent to be contacted on it. |
| addressLine1, city, state, zip | Donor record (matched, not created) — address fields | Third dedupe fallback. |
| consentTimestamp | Carried onto the supporter record | ISO 8601, UTC. |
| consentVersion | Carried onto the supporter record | The language in force at the moment of consent. |
| consentSource | Carried onto the supporter record | The exact page URL where consent was captured. |
| consentCategories | Carried onto the supporter record | Normalized from your consent platform. |
| intentSignals | Fundraising page / form | Donate-page, volunteer-page, issue-page and any you define. |
| utmSource, utmMedium, utmCampaign, referrer | Carried onto the supporter record 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 WinRed, go to Utilities → Integrations → Add Integration → Webhook.
- 2
Point it at the Ballot Signal endpoint URL and map the payload keys we list in setup.
- 3
Add the bundler_id parameter to the WinRed links on your site so visit-level attribution carries through.
- 4
Federal committees: route the setup through Aristotle. State and local committees use an API token directly.
- 5
Send a test donation and confirm the supporter record is enriched rather than duplicated.
- 6
Optionally schedule an S3 or SFTP report as a nightly backfill.
Why it matters
The GOP donation rail, and bundler_id is an official, supported attribution parameter — not a hack.
Related integrations
All Fundraising & payments →ActBlue
Turns 'this person read the donate page' into 'this person read the donate page and has given twice before' — the single most useful enrichment on the Democratic side.
Anedot
Cross-partisan, signs its webhooks properly, and natively carries a communications-consent flag — the closest thing to a consent-native fundraising platform.
Ballot Signal + WinRed: questions
Is the WinRed integration available today?
Via webhook. 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.
What authentication does the WinRed integration use?
Webhook (POST to custom endpoint) + API token. Credentials are stored encrypted and are never rendered back into the interface after entry.
Will this create duplicate records in WinRed?
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 WinRed?
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.