Going into Election Day in this year’s Republican gubernatorial primary, it wasn’t so much a question of whether Jack Ciattarelli would win, but by how much.
The answer: a lot.
Ciattarelli had almost every possible advantage working in his favor: he had gobs of goodwill left over among Republicans from his 2021 campaign for the governor’s office; he and his allied super PAC had far more money to spend than any of his opponents; and, most critically, he had the endorsement of President Donald Trump, whose influence over the Republican Party has perhaps never been greater. And he used them all to great effect, winning the five-way primary with 68% of the vote.
A dive into detailed primary results reveals just how dominant Ciattarelli’s victory was. He won every county and all but a handful of towns, cruising to landslides regardless of who local parties supported and irrespective of how far away they were from his one-time home base of Somerset County.
His opponents, meanwhile, could barely keep up even on their home turf. Radio host Bill Spadea did best in the swath of Central Jersey that was once reached by his radio show, but he failed to truly break through even in the handful of counties where he had official party support; State Sen. Jon Bramnick (R-Westfield) only really had an impact in his own legislative district, and even there he didn’t win a single town.
Whether Ciattarelli’s resounding win will translate into success against Democratic Rep. Mikie Sherrill (D-Montclair) in November is another question entirely – but at least within the Republican Party, Ciattarelli has a very strong hand. (Click here for a spreadsheet with data on every town.)
Ciattarelli’s landslide
In 2021, it was seen as impressive that Ciattarelli, a former state assemblyman who had been the runner-up for the GOP gubernatorial nomination in 2017, won all 21 counties in the Republican primary. Facing two unheralded opponents in Hirsh Singh and Phil Rizzo, he became the first GOP challenger in over 100 years to win every county in a gubernatorial primary.
Ciattarelli has now outdone that record by a long shot. Bramnick and especially Spadea were far more serious opponents than Rizzo and Singh ever were, but Ciattarelli beat them by even more, aided by his ever-increasing name recognition and a seal of approval from Donald Trump (which he never got in 2017 or 2021).
Of New Jersey’s 564 municipalities, Ciattarelli won 546 of them, and fought to a tie in the 547th. His victories spanned the entire state, from Cape May to Montague; in many towns, he won by overwhelming margins, frequently getting 75% of the vote or more.
Since Ciattarelli had the party endorsement in most of the state, that’s not entirely a surprise. Republican organizations in Monmouth, Atlantic, and Passaic Counties, for example, are historically good at delivering votes for their endorsed candidates, and sure enough, Ciattarelli won all three counties going away, carrying every town in the latter two.
But Ciattarelli’s strength also extended to places where his opponents had party support. When Ocean GOP Chairman George Gilmore endorsed Spadea last year, it was supposed to give Spadea an enormous political base in the state’s most Republican county; instead, Ciattarelli won the county 67%-28%, handing an embarrassing loss to Gilmore. (Ciattarelli also easily won Camden County, where the local party decided to support Spadea after its chairwoman barred a majority of county committeemembers from voting.)
That speaks to a point that’s been more discussed on the Democratic side, but also has lots of relevance for Republicans: with the county line gone, party endorsements don’t mean what they once did. In last year’s GOP U.S. Senate primary, only one town in the entire state rebelled against its county party, but looking at Ciattarelli’s victory, those days are clearly over.
As for where Ciattarelli did worst, relatively speaking, there’s a clear regional slant. The further north or south one gets, the better Ciattarelli’s results are; closer to the center of the state, Ciattarelli’s landslides disappear and Spadea begins to become a serious contender.
Ironically, one of his worst counties was Somerset County, where he was born, made a career as a county freeholder and assemblyman, and continues to live to this day. In the 2017 primary, when he was losing to Lieutenant Gov. Kim Guadagno by a substantial margin, Ciattarelli won his home county by 31 percentage points; this year, on his way to a dominant victory, he won it by 28.
Spadea’s radio waves
Why is it that Ciattarelli was at his weakest in Central Jersey, which he has called home his entire life? The answer probably lies with New Jersey 101.5’s radio waves.
Bill Spadea’s campaign, which was positioned considerably to Ciattarelli’s right, was predicated largely on the profile he built up as a drive-time radio host over the last decade. Spadea had failed to win elected office on two prior occasions, but he was still a household name for many listeners thanks to his presence on the radio, where he would frequently dive into political issues from a very conservative perspective.
Most of those listeners, it turns out, are from Central Jersey. As first noted on social media by Noah Wyhof-Rudnick (and since pointed out by plenty of others), 101.5 is based in Trenton, and its radio waves are strongest in Mercer County and surrounding counties; they get steadily weaker the further one goes in either direction, petering out entirely in far North and far South Jersey.
Lo and behold, Spadea’s best county was Mercer County, home to Trenton, where he lost just 48% to 41%. His next-best was nearby Hunterdon County, and also clearly overperformed in Somerset and Middlesex, all of which are firmly in 101.5’s core radius. (The 15 towns he won: South Toms River, Farmingdale, Lakehurst, Pemberton Borough, Califon, Hightstown, Roosevelt, North Hanover, Hampton in Hunterdon County, Plumsted, Milford, Kingwood, Chesterfield, Holland, and Lebanon Township; he and Ciattarelli also tied in Keyport.)
It should also be noted that Spadea is from Princeton, and he’s run for office in Central Jersey twice before, making it to the general election in the 2004 race for the 12th congressional district. How many voters would remember decades-old campaigns like that, though, is up for debate.
In the furthest southern and northern reaches of the state, meanwhile, Spadea had hardly any presence at all, getting 9% of the vote in each of Bergen and Cape May Counties. Even though Spadea spent a few million dollars on his campaign, it seems that if voters hadn’t previously heard him on the radio, they didn’t have much interest in voting for him.
Bramnick’s hometown struggles
Jon Bramnick was always going to struggle to win a statewide Republican primary, given his avowed distaste for Donald Trump and his willingness to vote with Democrats in the legislature on many hot-button issues. But even given that context, Bramnick’s inability to get more than a negligible share of the vote in most parts of the state is telling.
Bramnick’s best area, relatively speaking, was in the 21st legislative district, which he’s represented in the Senate and Assembly for the last 20 years. Lots of Republican voters in the district have tremendous loyalty to him as the man who has kept their district blue even as it tilts increasingly towards Democrats in other elections.
But that loyalty apparently only goes so far. Bramnick came in third in his own district, behind both Ciattarelli and Spadea; he failed to win a single town he currently represents, coming closest in his hometown of Westfield, which he lost to Ciattarelli 48% to 41%. (The only two towns Bramnick did win statewide were the micro-municipalities of Tavistock and Teterboro, which cast two and five total votes, respectively.)
As for anywhere outside of his own district, Bramnick barely made a dent, even despite millions in spending. Moderate Republican primary voters may still exist, but most of them were evidently comfortable supporting Ciattarelli instead.
Two other candidates also ran for the Republican nomination, former Englewood Cliffs Mayor Mario Kranjac and contractor Justin Barbera, but they were hardly a factor in the race, combining for barely 4% of the vote between the two of them.
Kranjac nearly won his hometown, losing Englewood Cliffs to Ciattarelli by just one vote, 93 to 92. Barbera also came within a couple votes of winning a town: he received one vote in Walpack, while Ciattarelli received two.
Click here for a detailed spreadsheet.



