Hubbell, Wahls and Dejear win, and other notable results from the 2018 primary election

(Left to right) Fred Hubbell, Zach Wahls and Deidre Dejear.

Fred Hubbell won the Democratic nomination for governor with a decisive victory in Tuesday’s primary election. For months it was widely speculated that none of the six Democratic candidates for governor would receive 35 percent of the vote, which would leave the selection of the nominee to the Democratic Party convention.

Even though the primary didn’t make history in the way many anticipated, it did in other ways, from record-setting turnouts to impressive showings by women candidates, younger candidates and minority candidates, including Deidre Dejears, who became the first person of color to be a major party nominee for statewide office in Iowa history.

Hubbell’s victory

Hubbell — a wealthy, retired businessman from Des Moines — won 55.6 percent of the vote. Cathy Glasson finished second, with 20.5 percent.

Hubbell won all but three of Iowa’s 99 counties. Nate Boulton, who suspended his campaign last month after reports of sexual misconduct, carried Louisa County, where he grew up. John Norris also won his home county, Montgomery. Cathy Glasson won Mills County in southwestern Iowa, but Hubbell took Clay County, where Glasson grew up, as well as Johnson County, where she currently lives.

Hubbell won 78 counties with 50 percent or more of the vote. His largest percentage victory came in Carroll County, where he garnered 70.4 percent.

Hubbell also set records for fundraising and spending in an Iowa primary. Jack Hatch, the 2014 Democratic candidate for governor, spent approximately $1.8 million during the entire election cycle. Hubbell, who launched his campaign in July 2017, spent that amount by the end of last year.

Between Jan. 1 and May 14, Hubbell raised $3,014,870.76 (that amount included $2.1 million Hubbell donated to his campaign). During that period, his campaign spent $3,998,178.94.

Speaking in Des Moines after Hubbell’s victory, Gov. Kim Reynolds tried to make Hubbell’s personal wealth and campaign spending into liabilities. “He has no idea what it takes to balance the family checkbook,” she said.

Trying to claim wealth or a long business career as problematic is an unusual move for Republicans, especially since the party, and Reynolds herself, have embraced Donald Trump as their leader. But that didn’t stop Iowa GOP Chairman Jeff Kaufmann from trying to create a viral moment by retweeting a picture of Hubbell supporter Bill Knapp arriving at Hubbell’s victory celebration in a limo.

That effort failed, because reporters and others online almost immediately pointed out that Republicans had no problem when Bill Knapp supported Terry Branstad in 2014.


According to the Secretary of State’s office, the statewide turnout broke the previous record for turnout in a primary election set in 2014. An estimated 279,124 people voted in Tuesday’s primary, surpassing the 2014 total by more than 46,000.

Johnson County also set a new voter turnout record with 18,664 ballots cast. Linn County fell four votes short of its record turnout in the 2014 primary.

Woman candidates

As Bleeding Heartland reported: “A record number of women running for office in Iowa this year has translated into a record number of women who will appear on our state’s general election ballot.” Eighty-five women, both Republicans and Democrats, won their races, including Janelle Rettig and Pat Heiden who won the two available seats on the Johnson County Board of Supervisors (beating out current board chair Mike Carberry).

Emily’s List, a national political action committee that promotes pro-choice Democratic women, endorsed seven Iowa candidates in the primary. All except Janice Weiner, a candidate in Iowa Senate District 37, won.

Younger candidates

Weiner lost to Zach Wahls, who will face Libertarian Carl Krambeck in the general election to determine who will represent the district that covers part of Johnson County, Cedar County and a small piece of Muscatine County.

Wahls, an Iowa City native, became famous throughout the state and nation after a YouTube video of his 2011 testimony in front of the Iowa House Judiciary Committee, in which he discusses his two moms and Eagle Scout training, went viral. He went on to publish a bestselling book and founded Scouts for Equality.

If elected, Wahls would be the second youngest member of the Iowa legislature (behind 25-year-old Skyler Wheeler, representating the 4th district). When the next legislative session starts, Wahls will be 27 years old. The average age of members of the Iowa Senate was 54, and the average age in the House was 56.

Abby Finkenauer was also facing a four-way Democratic primary race in Iowa’s 1st Congressional District, and she also won handily with 66.9 percent of the vote. She will face Congressman Rod Blum in the general election. Republican Blum, whose district includes Cedar Rapids, is considered one of the vulnerable incumbents this year.

If she wins, the 28-year-old Dubuque native will be the youngest woman ever elected to Congress. Finkenauer is currently finishing her second term representing Iowa House District 99.

Minority candidates

At 32, Deidre Dejear, who won the Democratic primary for Secretary of State, will be the youngest person on the statewide ballot in November. (Attorney General Tom Miller, who is running unopposed and will be 74 in November, is the oldest.) Dejear was also the only black woman running for statewide office in the primary. With her primary victory, she became the first person of color to be a major party nominee for a statewide office in Iowa.

In the general election, Dejear will face incumbent Republican Paul Pate.

Stacey Walker became the first black member of the Linn County Board of Supervisors when he was elected to the five-member board in 2016. Last year, Linn County voters approved a measure to reduce the number of county supervisors from five to three, which led to 30-year-old Walker, the youngest member of the board, having to run against his fellow incumbent, James Houser. Houser served on the board from 1990 to 2010, and was elected again in 2015.

Walker will be unopposed on the general election ballot.

The general election will be held on Tuesday, Nov. 6.

[gravityform id="17" title="false" description="false" ajax="true"]
<div class='gf_browser_unknown gform_wrapper your-village-form_wrapper' id='gform_wrapper_17' ><a id='gf_17' class='gform_anchor' ></a><form method='post' enctype='multipart/form-data' target='gform_ajax_frame_17' id='gform_17' class='your-village-form' action='/hubbell-wahls-and-dejear-win-and-other-notable-results-from-the-2018-primary-election/#gf_17'> <div class='gform_body'><ul id='gform_fields_17' class='gform_fields top_label form_sublabel_below description_below'><li id='field_17_7' class='gfield gfield_html gfield_html_formatted gfield_no_follows_desc field_sublabel_below field_description_below gfield_visibility_visible' ><h3 style="font-weight:800; font-size:34px;">Let's get started</h3> <p style="font-size:18px;">Fill out this form and we'll contact you with information about marketing with Little Village!</p></li><li id='field_17_4' class='gfield field_sublabel_below field_description_below gfield_visibility_visible' ><label class='gfield_label gfield_label_before_complex' for='input_17_4_3' ></label><div class='ginput_complex ginput_container no_prefix has_first_name no_middle_name has_last_name no_suffix gf_name_has_2 ginput_container_name gfield_trigger_change' id='input_17_4'> <span id='input_17_4_3_container' class='name_first' > <input type='text' name='input_4.3' id='input_17_4_3' value='' aria-label='First name' tabindex='2' aria-invalid="false" placeholder='First name'/> <label for='input_17_4_3' >First</label> </span> <span id='input_17_4_6_container' class='name_last' > <input type='text' name='input_4.6' id='input_17_4_6' value='' aria-label='Last name' tabindex='4' aria-invalid="false" placeholder='Last name'/> <label for='input_17_4_6' >Last</label> </span> </div></li><li id='field_17_5' class='gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible' ><label class='gfield_label' for='input_17_5' ><span class='gfield_required'>*</span></label><div class='ginput_container ginput_container_text'><input name='input_5' id='input_17_5' type='text' value='' class='large' tabindex='6' placeholder='Company name' aria-required="true" aria-invalid="false" /></div></li><li id='field_17_3' class='gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible' ><label class='gfield_label' for='input_17_3' ><span class='gfield_required'>*</span></label><div class='ginput_container ginput_container_email'> <input name='input_3' id='input_17_3' type='text' value='' class='large' tabindex='7' placeholder='Your email address' aria-required="true" aria-invalid="false"/> </div></li><li id='field_17_8' class='gfield gform_validation_container field_sublabel_below field_description_below gfield_visibility_' ><label class='gfield_label' for='input_17_8' >Phone</label><div class='ginput_container'><input name='input_8' id='input_17_8' type='text' value='' /></div><div class='gfield_description'>This field is for validation purposes and should be left unchanged.</div></li> </ul></div> <div class='gform_footer top_label'> <input type='submit' id='gform_submit_button_17' class='gform_button button' value='SUBMIT' tabindex='8' onclick='if(window["gf_submitting_17"]){return false;} window["gf_submitting_17"]=true; ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_17"]){return false;} window["gf_submitting_17"]=true; jQuery("#gform_17").trigger("submit",[true]); }' /> <input type='hidden' name='gform_ajax' value='form_id=17&amp;title=&amp;description=&amp;tabindex=1' /> <input type='hidden' class='gform_hidden' name='is_submit_17' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='17' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_17' value='WyJbXSIsIjlmNzc1YTEyZmZjNmYyODk5Mzk0NDM3ZjRlOGYyZDNmIl0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_17' id='gform_target_page_number_17' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_17' id='gform_source_page_number_17' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> <p style="display: none !important;"><label>&#916;<textarea name="ak_hp_textarea" cols="45" rows="8" maxlength="100"></textarea></label><input type="hidden" id="ak_js_1" name="ak_js" value="21"/><script>document.getElementById( "ak_js_1" ).setAttribute( "value", ( new Date() ).getTime() );</script></p></form> </div> <iframe style='display:none;width:0px;height:0px;' src='about:blank' name='gform_ajax_frame_17' id='gform_ajax_frame_17'>This iframe contains the logic required to handle Ajax powered Gravity Forms.</iframe> <script type='text/javascript'>jQuery(document).ready(function($){gformInitSpinner( 17, '' );jQuery('#gform_ajax_frame_17').load( function(){var contents = jQuery(this).contents().find('*').html();var is_postback = contents.indexOf('GF_AJAX_POSTBACK') >= 0;if(!is_postback){return;}var form_content = jQuery(this).contents().find('#gform_wrapper_17');var is_confirmation = jQuery(this).contents().find('#gform_confirmation_wrapper_17').length > 0;var is_redirect = contents.indexOf('gformRedirect(){') >= 0;var is_form = form_content.length > 0 && ! is_redirect && ! is_confirmation;if(is_form){jQuery('#gform_wrapper_17').html(form_content.html());if(form_content.hasClass('gform_validation_error')){jQuery('#gform_wrapper_17').addClass('gform_validation_error');} else {jQuery('#gform_wrapper_17').removeClass('gform_validation_error');}setTimeout( function() { /* delay the scroll by 50 milliseconds to fix a bug in chrome */ jQuery(document).scrollTop(jQuery('#gform_wrapper_17').offset().top); }, 50 );if(window['gformInitDatepicker']) {gformInitDatepicker();}if(window['gformInitPriceFields']) {gformInitPriceFields();}var current_page = jQuery('#gform_source_page_number_17').val();gformInitSpinner( 17, '' );jQuery(document).trigger('gform_page_loaded', [17, current_page]);window['gf_submitting_17'] = false;}else if(!is_redirect){var confirmation_content = jQuery(this).contents().find('.GF_AJAX_POSTBACK').html();if(!confirmation_content){confirmation_content = contents;}setTimeout(function(){jQuery('#gform_wrapper_17').replaceWith(confirmation_content);jQuery(document).scrollTop(jQuery('#gf_17').offset().top);jQuery(document).trigger('gform_confirmation_loaded', [17]);window['gf_submitting_17'] = false;}, 50);}else{jQuery('#gform_17').append(contents);if(window['gformRedirect']) {gformRedirect();}}jQuery(document).trigger('gform_post_render', [17, current_page]);} );} );</script><script type='text/javascript'> if(typeof gf_global == 'undefined') var gf_global = {"gf_currency_config":{"name":"U.S. Dollar","symbol_left":"$","symbol_right":"","symbol_padding":"","thousand_separator":",","decimal_separator":".","decimals":2},"base_url":"https:\/\/\/wp-content\/plugins\/gravityforms-asdf111aasdfffs-nope","number_formats":[],"spinnerUrl":"https:\/\/\/wp-content\/plugins\/gravityforms-asdf111aasdfffs-nope\/images\/spinner.gif"};jQuery(document).bind('gform_post_render', function(event, formId, currentPage){if(formId == 17) {if(typeof Placeholders != 'undefined'){ Placeholders.enable(); }} } );jQuery(document).bind('gform_post_conditional_logic', function(event, formId, fields, isInit){} );</script><script type='text/javascript'> jQuery(document).ready(function(){jQuery(document).trigger('gform_post_render', [17, 1]) } ); </script>