Hash-PII Meta Custom Audiences Without the Agency Markup
The Problem
Meta Custom Audiences are one of the highest-ROI targeting tools available to political campaigns — matching your actual voter file against Facebook and Instagram's user base so your ads reach real, identified constituents rather than demographic approximations. The problem is that most campaigns either don't use them at all, or they outsource the upload to a political data vendor who charges $0.01–$0.03 per record per cycle plus a platform fee. On a universe of 50,000 voters, that's $500–$1,500 in vendor fees before you've run a single impression. The capability itself is not expensive. The markup is.
What BMS Voter Intel Does
BMS Voter Intel handles the full Custom Audience pipeline — from voter file to hashed-PII upload to Meta — as part of the platform's standard enrichment workflow. There is no per-record fee, no third-party data broker, and no intermediary holding your audience hostage behind a renewal subscription. The audience lands in your campaign's own Meta ad account, under your control, with match rates in the 30–40% range on a properly-enriched voter universe.
How It Works (Without Revealing IP)
Meta's Customer Match specification accepts email addresses, phone numbers, first name, last name, ZIP code, city, state, and date of birth — all hashed via SHA-256 before transmission, so no raw PII ever leaves the pipeline in cleartext. BMS Voter Intel prepares the hashed upload file from the enriched voter record, which includes multiple contact-field sources cross-referenced from the public voter registration data and address records. The upload goes directly to the campaign's Meta ad account via the official Marketing API. Match rates improve when more fields are present per record — which is why enrichment quality matters upstream of the upload step. A voter record with only a name and ZIP will match at lower rates than one that also carries a confirmed phone and email.
Real Numbers from the Van Buren Campaign
The Van Buren campaign used BMS-built Meta Custom Audiences targeting Licking County Republican-aligned voters for the May 5 primary. Audiences were built from the enriched voter file and pushed directly to the campaign's dedicated Meta ad account (act_940655388553260). Match rates on the primary GOTV universes came in at the expected 30–40% range. The campaign ran Facebook-only placements under the required political advertising authorization framework — no agency uplift, no third-party vendor fee on the audience build. The campaign won the Republican primary with 7,065 votes and a 43.21% vote share.
What This Means for Your Race
If your campaign is already running Meta ads using interest-based or demographic targeting, you are reaching a population that approximates your voters. Custom Audiences reach your actual voters — the specific people on your voter file, matched against their real Meta profiles. For a GOTV push in the final 10 days of a primary, that difference in precision translates directly into turnout. The capability is not out of reach for a down-ballot race. The vendor markup is what makes it feel out of reach.
Get Beta Access
BMS Voter Intel is in limited beta for Summer 2026 — Republican and independent down-ballot campaigns in Ohio, Florida, and Illinois. Contact [email protected] or visit bullmoosestrategy.com/voter-intel to learn more about Custom Audience integration.