Ads & analytics

Ballot Signal + Meta Conversions API

Via webhook Webhook Nonpartisan Access token

What is Meta Conversions API?

Political ad budgets are optimized on conversion signal, and most campaigns are feeding the algorithm almost nothing.

It sits in the Ads & analytics category of a campaign stack. Server-side conversion signal — for consented supporters only.

Who uses it

Nonpartisan. Used across both parties and by nonpartisan organizations.

How the Ballot Signal + Meta Conversions API integration works

When a consented visitor becomes a supporter record, Ballot Signal can send a server-side conversion event with SHA-256 hashed email and phone per Meta's matching specification. Events are sent only for visitors whose consent state includes ad_user_data and ad_personalization. No event is generated for a visitor who declined — that is not configurable, by design.

What syncs

  • Server-side conversion events
  • Hashed identifiers

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 Event Notes
firstName, lastName Server-side conversion event Left empty rather than guessed when resolution is not confident.
email Hashed identifier (SHA-256) Primary match key. Lowercased before hashing.
phone Hashed identifier (SHA-256) Present does not imply consent to be contacted on it.
addressLine1, city, state, zip Not sent Third dedupe fallback.
consentTimestamp Event parameters (non-identifying) ISO 8601, UTC.
consentVersion Event parameters (non-identifying) The language in force at the moment of consent.
consentSource Event parameters (non-identifying) The exact page URL where consent was captured.
consentCategories Event parameters (non-identifying) Normalized from your consent platform.
intentSignals Event name Donate-page, volunteer-page, issue-page and any you define.
utmSource, utmMedium, utmCampaign, referrer Event parameters Carried verbatim.
dedupeKey Match key Lowercased email hash. Match order: dedupeKey, then phone, then name + address.

How to set it up

  1. 1

    Create a Conversions API access token in Meta Events Manager.

  2. 2

    In Ballot Signal, add Meta CAPI as a destination and paste the token and pixel ID.

  3. 3

    Choose which supporter events map to which conversion event names.

  4. 4

    Confirm ad consent categories are required in your consent mapping.

  5. 5

    Use Events Manager's Test Events tool to verify a single event end to end.

  6. 6

    Check the event match quality score after a week of real traffic.

Why it matters

Political ad budgets are optimized on conversion signal, and most campaigns are feeding the algorithm almost nothing.

Ballot Signal + Meta Conversions API: questions

Is the Meta Conversions API 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 Meta Conversions API integration use?

Access token. Credentials are stored encrypted and are never rendered back into the interface after entry.

Will this create duplicate records in Meta Conversions API?

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 Meta Conversions API?

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.