Virginia House District 2 2026: the ads, and who's paying for them
Jen Kiggans (REP, incumbent), Elaine Luria (DEM).
7 others filed with the FEC; any ads they ran are below. 104 ads analyzed, 52 with at least one technique in the copy.
Newest first. The paid-for-by line is the advertiser's own filing. Updated 2026-09-30. 1 ad from other advertisers shown separately below.
$109,200–160,451 on all ads, $74,700–102,736 on flagged ads · Meta reports ranges; these are the sums of their ends
Example
“His health care hikes” — Loaded Language, paid for by HMP
· the flagged ad with the highest reported spend that shows the most common technique
Embed this race on your site
A small box with these findings and the newest ads, updated as new ads are analyzed. Free for newsrooms, blogs and campaigns alike; it links back here.
Decide what counts
Not everyone would call every technique manipulation. Untick the ones you'd call ordinary persuasion and the count updates.
50% of the 104 ads here use at least one of the techniques ticked below (52 ads).
Leaving out the softer ones (loaded language, glittering generalities, slogans, exaggeration, repetition): 44% of ads.
The words doing the work
The words that show up most in phrases our model flagged as loaded language or name calling in this race's ads, by number of ads.
liberal opponentin 4 ads· e.g. “my liberal opponent”, “liberal opponent”
buyin 3 ads· e.g. “trying to buy a seat they can't defend on merit”, “buy this seat from under us”
campaignin 3 ads· e.g. “Nancy Pelosi and Abigail Spanberger bankrolling her campaign”, “throw the kitchen sink at me to silence our campaign”
health carein 3 ads· e.g. “deadly health care cuts”, “flatline your health care”
politicianin 3 ads· e.g. “politicians who enrich themselves”, “Politicians get rich”
seatin 3 ads· e.g. “trying to buy a seat they can't defend on merit”, “buy this seat from under us”
Follow this race
A weekly email when new Virginia House District 2 ads come in: how many used manipulation techniques, the words doing the work, and who paid. Nothing in weeks with no new ads. One-click unsubscribe.
From FEC filings for 2025–26. Outside spending is money a group spends on its own about a candidate — TV and online ads, mail, canvassing. It is not a donation to the campaign, and the candidate does not control it. Supporting means it was spent to help that candidate win; Opposing means it was spent to defeat them, usually on attack ads. Groups report it within 24 or 48 hours as the election nears. Raised is the campaign's own fundraising, as of its latest quarterly report. Largest donors come from each outside spender's own FEC receipts, with each donor's share of its itemized receipts; donors under $100,000 are not named. People are shown with the employer and occupation they reported. A donor that is itself a political committee is shown with its own largest donors. Companies and nonprofits don't report their funders to the FEC, so the trail ends there, and the page says so.
$4.7M through 2026-07-15individuals $3.4M · PACs $405K · party $221 · candidate's own money, incl. loans $8,010 · from the candidate's other committees $867K · cash on hand $3.6M
Paid for by HMPfrom 2026-09-08 to 2026-09-29spend $4,000–4,4991,000,000+ impressions
Groceries. Gas. Health care. Everything is more expensive because Jen Kiggans voted over and over for Trump’s agenda, from his tariffs to his reckless war in Iran.
Loaded Language: The word 'reckless' is emotionally charged and designed to trigger a negative reaction rather than convey a neutral factual description — for example: 'reckless war in Iran'
Scapegoating: Complex economic factors driving inflation are blamed entirely on one politician's voting record, oversimplifying causation — for example: 'Everything is more expensive because Jen Kiggans voted over and over for Trump's agenda'
Exaggeration/Hyperbole: The claim that 'everything' is more expensive due to one legislator's votes is an extreme overstatement that ignores the multifaceted causes of inflation — for example: 'Everything is more expensive'
Repetition: The phrase 'over and over' is used to rhetorically amplify the accusation and make the behavior seem habitual and egregious — for example: 'voted over and over'
Loaded Language
Scapegoating
Exaggeration/Hyperbole
Repetition
Looks up the ad's factual claims in fact-checkers, primary sources and wire reporting. Takes up to a minute.
Paid for by HMPfrom 2026-09-08 to 2026-09-26spend $1,500–1,999400,000–449,999 impressions
🏃♀️ What’s Jen Kiggans running from? Oh yeah: her record. She voted with Trump 100% of the time.
🏃♀️ What’s Jen Kiggans running from? Oh yeah: her record. She voted with Trump 100% of the time.
🏃♀️ What’s Jen Kiggans running from? Oh yeah: her record. She voted with Trump 100% of the time.
Name Calling: The rhetorical question uses a running emoji and the phrase 'running from' to mockingly imply Kiggans is fleeing or hiding, functioning as a derogatory framing rather than substantive argument — for example: 'running from'
Loaded Language: The phrase 'her record' is delivered with sarcastic emphasis implying the record is damning or shameful, using tone to emotionally charge an otherwise neutral word — for example: 'her record'
Card Stacking: Presenting a single voting-alignment statistic without context (e.g., whether other representatives voted similarly, or what those votes were) selectively frames the data to imply wrongdoing — for example: '100% of the time'
Exaggeration/Hyperbole: Claiming a legislator voted with a president '100% of the time' is an absolute superlative that is rarely literally true and is used to overstate alignment for rhetorical effect — for example: '100% of the time'
Name Calling
Loaded Language
Card Stacking
Exaggeration/Hyperbole
Looks up the ad's factual claims in fact-checkers, primary sources and wire reporting. Takes up to a minute.
Card Stacking: The claim that Kiggans voted with Trump '100% of the time' is presented as a straightforward fact without context or nuance, selectively framing her record to imply total complicity — for example: '100% of the time'
Scapegoating: Kiggans is blamed as the direct cause of rising costs ('We're paying more because'), oversimplifying complex economic factors — for example: 'We're paying more because Jen Kiggans voted with Trump'
Loaded Language: The word 'hikes' carries a negative emotional charge, framing health care cost changes in the most alarming way possible — for example: 'health care hikes'
Repetition: The accusation that Kiggans voted for harmful policies is repeated across multiple sentences to reinforce the negative association through familiarity — for example: "Kiggans voted for it all", "Jen Kiggans voted with Trump 100% of the time".
Black-and-White Fallacy: The phrase 'voted for it all' implies Kiggans bears total, undivided responsibility with no nuance or alternative framing of her legislative record — for example: 'voted for it all'
Card Stacking
Scapegoating
Loaded Language
Repetition
Black-and-White Fallacy
Looks up the ad's factual claims in fact-checkers, primary sources and wire reporting. Takes up to a minute.
Paid for by HMPfrom 2026-09-08 to 2026-09-29spend $4,500–4,9991,000,000+ impressions
🏃♀️➡️ Look at Jen Kiggans go! Voting for Trump’s tariffs, health care cuts, war with Iran, and more.
🏃♀️➡️ Look at Jen Kiggans go! Voting for Trump’s tariffs, health care cuts, war with Iran, and more.
🏃♀️➡️ Look at Jen Kiggans go! Voting for Trump’s tariffs, health care cuts, war with Iran, and more.
no techniques found
Looks up the ad's factual claims in fact-checkers, primary sources and wire reporting. Takes up to a minute.
Paid for by HMPfrom 2026-09-08 to 2026-09-26spend $1,500–1,999450,000–499,999 impressions
🏃♀️➡️ When Trump calls, Jen Kiggans comes running. She voted with him 100% of the time.
🏃♀️➡️ When Trump calls, Jen Kiggans comes running. She voted with him 100% of the time.
🏃♀️➡️ When Trump calls, Jen Kiggans comes running. She voted with him 100% of the time.
no techniques found
Looks up the ad's factual claims in fact-checkers, primary sources and wire reporting. Takes up to a minute.
Paid posts that ran in VA and name a candidate, from advertisers that aren't part of this race: news-style pages, campaigns for other offices, and others. They're shown here for completeness and not counted with the ads above. We show the same technique analysis; their claims are not checked.
WALKINSHAW FOR CONGRESS: campaign for another office
Official office video · WALKINSHAW FOR CONGRESSfrom 2026-08-11 to 2026-08-222 variantsspend $300–4986,100–7,998 impressions
We can flip three House seats in Virginia and I'm excited to do just that! Chip in to support Shannon Taylor, Elaine Luria, and Tom Perriello.
An ad is on this page because its own "Paid for by" line is a campaign in this race; or it comes from a national Senate group and ran mostly in VA; or it ran mostly in VA and names a candidate — unless its sponsor is a campaign for some other office. Ads from outside groups appear alongside the campaigns' own.
Campaigns run one text as many separate ads. Identical text from the same sponsor is one card here, marked with its number of variants.
A technique is a specific manipulative move in the wording, found by our model and explained in one line. It is not a claim that the ad is false.
Claims are checked when a reader asks: press "Check this ad's claims" on a card. The check runs once and its result is shown to everyone afterwards. The ten ads with the most money behind them in each race are checked ahead of time.
Claim verdicts say what the cited sources say. A verdict that an ad is wrong or misleading is shown only when it cites an established fact-checker or an institutional record — Congress, a federal agency, a court — and its confidence is not low; a weaker one is not shown at all. Each verdict shows what it rests on and how confident it is. If we got one wrong, press Disagree: a verdict that readers dispute and no one defends comes down.
Video ads come from the campaigns' own YouTube channels; the transcript is analyzed. Meta ads are analyzed on their text; their video and images are not, yet.
Get notified as this improves — new detection models, the browser
extension, and outlet scorecards. Occasional email, no spam.
Semblen LLC · 5900 Balcones Drive STE 100, Austin, TX 78731 · unsubscribe any time