Minnesotans for Justice spent $3,473,870 against Keith Ellison this year. Its reports list exactly one source of money: another committee, called Renew Minnesota. Alliance for a Better Minnesota State PAC spent $4,705,862.14 against Ron Schutz. Eighty-seven percent of its money came from yet another committee, called We All Do Better PAC.
Neither name tells you who paid. Committee names in this business are about as informative as a hotel room number. You have to go up a floor. Then, on both sides, you have to go up another one.
One plain disclosure before the facts. I ran against Keith Ellison in the August primary and lost. I've also said publicly that I'm supporting him in this one. Weigh what follows with that in mind. For what it's worth, the Board's independent-expenditure file shows no outside committee reporting any spending for or against my campaign, so none of the groups below were ever mine to like or dislike. Everything here comes from records you can download yourself, and they're listed at the bottom.
As I post this, late on election night, the Secretary of State's unofficial count has 2,849 of 4,105 precincts in and Ellison ahead, 55.1 percent to 44.8. Hennepin is nearly all counted and Ramsey mostly isn't. The number to quote is the one the State Canvassing Board certifies later this month.
None of what follows turns on that. The money got spent either way, and the receipts don't change when the polls close.
Twelve million, and the sixteen that wasn't
Through October 19, the last day in the Board's itemized file for this race, outside groups reported $12,948,832.79 in independent expenditures aimed at the attorney general's race. That number's a little fat. The Board lists an expenditure once for every candidate it touches, so one ad that slams Ellison and praises Schutz lands on both men's ledgers. Strip the duplicates, matching on spender, date, amount, vendor and purpose, and you're at $12,684,216.71.
MPR News reported on October 27 that "outside groups have spent more than $12 million." That one checks out.
Then the same story said Ellison's 2022 race against Jim Schultz "garnered nearly $16 million in outside spending in 2022." I couldn't make that one work. Run the same download for 2021 and 2022, pull every independent expenditure that touched Ellison's committee or Schultz's, and you get $8,582,880.14 gross and $6,884,171.18 once the double-listings come out. Sixteen isn't in there. It isn't even in the neighborhood.
So 2026 wasn't a step down from 2022. It ran about 1.84 times the 2022 total. The real story was sitting in a spreadsheet, and the twelve-against-sixteen comparison in print had it pointed the wrong way.
Where'd sixteen come from? I don't know. Here's my guess, and it's only a guess. In 2022, Alliance for a Better Minnesota Action Fund reported $15,807,703.53 in independent expenditures across every race it touched. Of that, $15,062,394.02 went at Scott Jensen in the governor's race. Only $327,611.23 went for Ellison and $275,888.77 against Schultz. A "nearly $16 million" that belongs to one committee's all-races total and wandered over to the attorney general's race would look a lot like this. The Board doesn't post a 2021–2022 campaign-finance summary to check it against, so the itemized file is the record.
For scale: Ellison won in 2022 by 20,815 votes out of 2,490,301 cast, 50.37 percent to 49.53. A race that close draws money. It just didn't draw sixteen million.
Who spent it, side by side
Below is every committee that reported spending in this race through October 19, sorted by which man the spending helped. Same columns for both sides, so you can lay one on top of the other.
Helping Schutz (against Ellison or for Schutz)
| Committee | Against Ellison | For Schutz | Items | First and last date |
|---|---|---|---|---|
| Minnesotans for Justice | $3,473,870.00 | $31,900.00 | 22 + 1 | Mar. 30 – Oct. 19 |
| First Principles PAC | $2,296,006.26 | $391,096.00 | 13 + 4 | July 22 – Oct. 13 |
| Safer Minnesota Fund | $762,500.00 | — | 3 | Aug. 31 – Oct. 14 |
| Americans for Prosperity Action–Minnesota | $238,999.06 | $240,499.05 | 8 + 9 | Oct. 13 – Oct. 16 |
| Three others (NRA Political Victory Fund, Jackson County RPM, MN Neighbor Voices PAC) | — | $681.18 | 3 | Sept. 28 – Oct. 14 |
| Gross / unique | $7,435,551.55 / $7,222,008.62 |
Helping Ellison (against Schutz or for Ellison)
| Committee | Against Schutz | For Ellison | Items | First and last date |
|---|---|---|---|---|
| Alliance for a Better Minnesota State PAC | $4,705,862.14 | $13,576.00 | 25 + 3 | Aug. 6 – Oct. 17 |
| Planned Parenthood of Minn Pol Action Fund | $36,365.61 | $353,845.60 | 2 + 7 | Aug. 13 – Oct. 19 |
| AFSCME Working Families Fund | — | $136,808.69 | 7 | Aug. 15 – Oct. 7 |
| MN AFL-CIO | — | $77,603.65 | 5 | Sept. 1 – Sept. 15 |
| MN Nurses Assn Pol Comm | — | $53,709.91 | 2 | Sept. 22 – Oct. 19 |
| Working America Minn Political Committee | $51,073.15 | $51,073.15 | 176 | Aug. 19 – Oct. 19 |
| Eight others (SEIU, Education Minnesota, Minneapolis Regional Labor Federation and five more) | $360.00 | $33,003.34 | 44 | May 29 – Oct. 19 |
| Gross / unique | $5,513,281.24 / $5,462,208.09 |
The duplicates are right where you'd guess. Americans for Prosperity put $207,042.93 on both its against-Ellison line and its for-Schutz line. Working America did the same with all $51,073.15. Minnesotans for Justice has one $6,500 item listed twice against Ellison. Pull those and you get the unique figures in the bottom rows, and they add to the $12,684,216.71 above, to the penny.
Count outside committees alone and the Schutz side outspent the Ellison side by about $1.76 million, and more money went against Ellison ($6,771,375.32, gross) than against Schutz ($4,793,660.90). If you've heard that Ellison's friends bought this race, this table isn't your friend.
Now the part that won't thrill the other crowd either. That table leaves out $2.8 million of help. The DFL State Central Committee didn't report a single independent expenditure in this race. It bought $2,809,451.54 of broadcast media, mail, walk literature and yard signs for Ellison and reported it as in-kind help to his own committee. Add that back in and the Ellison side's ahead again, about $8.27 million to $7.22 million.
That's four years after the same party reported $1,314,315.36 of independent expenditures for Ellison in 2022. Same party, same candidate, same kind of help, filed in a different drawer. Hang on to that one. It comes back.
And look at the calendar. The Republican-side money started in March, with Minnesotans for Justice, and $1,523,490 had been spent against Ellison by primary day, August 11, $804,000 of it by that committee. Some of that landed while I was still on the primary ballot against him. The Democratic-side money against Schutz started August 6 and stood at $321,705.91 by primary day. Everything after that was a general-election fight carried mostly by committees spending other committees' money.
One floor up: the money behind the Schutz side
The Board publishes a second file for exactly this: every contribution over $200 an independent-expenditure committee took in. For 2025 and 2026, this is what it says about the committees that carried the Schutz side.
| Committee in the race | Its money came from | That money came from |
|---|---|---|
| Minnesotans for Justice ($4,362,045.40 received) | Renew Minnesota, all of it, in 11 contributions | Renew Minnesota received $9,746,966.14: GOPAC Election Fund $6,275,000 (64%); Minnesota Private Business Council $2,465,000 (25%); Pro Jobs Majority $250,000; Thomas Rosen $235,000; Robert J. Ulrich $165,000; Common Sense America Election Fund $150,000 |
| First Principles PAC ($2,720,000 received) | "First Principles PAC", coded Other, $2,000,000; Minnesotans for Justice $720,000 | The $2,000,000 source is an account of the same name that isn't registered with the Board; the $720,000 is Renew Minnesota money, one more floor down |
| Safer Minnesota Fund ($762,500 received) | Republican Attorneys General Association, all of it | — |
| Americans for Prosperity Action–Minnesota ($700,000 received) | Americans for Prosperity Action, all of it | — |
Go one more floor on Pro Jobs Majority and you hit the Minnesota Chamber of Commerce, which gave it $4,692,184.
So the biggest anti-Ellison committee's money came 100 percent from Renew Minnesota, and Renew Minnesota's came nearly two-thirds from GOPAC Election Fund. The second-biggest got $720,000 from the first and $2 million from an unregistered account with its own name on it, which tells a reader about as much as a reference letter signed with your own name. The third was the national Republican attorneys general group, straight in, one floor up. Points for directness.
One floor up: the money behind the Ellison side
Same file, same years, same treatment. No home-team discount.
| Committee in the race | Its money came from | That money came from |
|---|---|---|
| Alliance for a Better Minnesota State PAC ($8,756,424.20 received) | We All Do Better PAC $7,650,000 (87%); Alliance for a Better Minnesota, coded Other, $978,424.20; The 'Sota Project $78,000; Shakopee Mdewakanton Sioux $50,000 | We All Do Better PAC received $7,722,655: DAGA People's Lawyer Project MN $3,936,000 (51%); WIN Minnesota $950,000; Strategic Victory State Action $900,000; AFSCME Working Families Fund $550,000; Laborers' District Council of MN & ND $300,000; Strategic Victory Fund $300,000; Vance Opperman $100,000 |
| DAGA People's Lawyer Project MN ($4,075,000 received) | Democratic Attorneys General Association Inc $3,775,000 (93%); AFSCME Working Families Fund $275,000; Medicare for All PAC $25,000 | — |
| Planned Parenthood of Minn Pol Action Fund ($1,056,150 received) | Planned Parenthood Minnesota PAC $400,000; PP MN ND SD Action Fund $288,050; WIN Minnesota PAC $250,000; Planned Parenthood Votes $118,100 | — |
| Working America Minn Political Committee ($454,745.52 received) | Working America, all of it | — |
The union political funds (AFSCME, the AFL-CIO, the nurses, SEIU, Education Minnesota) report their money in a different Board file, so their floor-up isn't in this table.
So the biggest anti-Schutz committee got 87 percent of its money from We All Do Better PAC, which got about half of its money from DAGA People's Lawyer Project MN, which got 93 percent of its money from the Democratic Attorneys General Association. Three floors to reach the national group. The Republicans' national group took the elevator. The Democrats' took the stairs.
Both national attorneys-general clubs showed up
This is the part neither side puts on a yard sign. The Republican Attorneys General Association put $762,500 into the race through Safer Minnesota Fund. The Democratic Attorneys General Association put $3,775,000 into its Minnesota committee, which sent $3,936,000 on to We All Do Better PAC, which supplied 87 percent of the committee that ran $4.7 million against Schutz.
They did it in 2022 too, with the sizes flipped. RAGA gave MN for Freedom $2,613,076.26, and MN for Freedom spent $2,125,392.76 against Ellison and $487,683.50 for Schultz. DAGA Inc gave its Minnesota committee $2,152,288.29, and that committee spent $1,170,835 for Ellison and against Schultz.
One caution on those percentages. Money in a committee's bank account doesn't come with serial numbers. "87 percent of its money came from We All Do Better PAC" is a fact about where the committee's receipts came from. It isn't proof that any particular ad was paid for with any particular donor's dollar. That cuts both ways, and it's why the law looks at shares of receipts instead of chasing one dollar bill around the room.
Where Minnesota's file stops
Now look at the top of each chain. GOPAC Election Fund, the Minnesota Private Business Council, the unregistered First Principles PAC account, the Democratic Attorneys General Association Inc, Alliance for a Better Minnesota's nonprofit side, Strategic Victory State Action, WIN Minnesota: the Board's file codes every one of them as "Other". None of them carries a Board registration number in the file. That's where the downloadable record ends, on both sides. Seven names, one label, and the label means, roughly, somebody else.
The frustrating part is that Minnesota law already reaches past that line in one important case. When an association gives independent-expenditure committees more than $5,000 in a calendar year out of its general treasury, Minn. Stat. § 10A.27, subd. 15(b), requires it to hand the committee's treasurer "a statement that includes the name, address, and amount attributable to each person that paid the association dues or fees, or made donations to the association that, in total, aggregate more than $5,000 of the contribution from the association to the independent expenditure or ballot question political committee or fund." Subdivision 16 says the treasurer "must file a copy of the statement before the deadline for the committee or fund's next report filed with the board under section 10A.20, subdivision 2 or 5, after receiving the statement."
So the names behind the names may already be sitting in a file drawer at the Board. They just aren't in the spreadsheet. The Board's own 2025 probable-cause determination on the old Alliance for a Better Minnesota Action Fund noted that the fund "filed multiple underlying source disclosure statements with the Board covering contributions received from ABM in 2020." Statements like these exist. You just can't download them alongside the money they explain.
The candidates' own books
Now the two men's own committees. The Board's candidate files list Ellison's as registration 18336 and Schutz's as 19261. Same rows for each, and these are itemized figures, meaning everything over $200, which is how the Board publishes them.
| Itemized, over $200 | Ellison | Schutz |
|---|---|---|
| Receipts, 2025 | $349,474.68 | $247,370.71 |
| Receipts, 2026 through Oct. 19 | $3,874,882.11 | $1,266,623.54 |
| From individuals, 2025–2026 | $1,277,908.70 | $1,038,969.12 |
| From party units (Board's contributor type), 2025–2026 | $2,814,501.54 | $0 |
| From the candidate (Schutz's is a loan; see below) | $0 | $450,000.00 |
| From political committees and funds, 2025–2026 | $93,018.23 | $12,675.13 |
| From lobbyists, 2025–2026 | $20,745.00 | $3,350.00 |
| In-kind received, 2026 | $2,812,029.68 | $20,963.60 |
| Post-primary public subsidy | $294,603.39 | $0 |
| Expenditures, 2026, everything | $4,481,717.19 | $1,293,505.47 |
| Expenditures, 2026, minus in-kind | $1,669,687.51 | $1,272,541.87 |
| Coded "Non-Campaign Disbursement", 2026 | $98,837.44 | $873,508.21 |
| Contributions made to the state party, 2026 | $600,000.00 to the DFL | $10,000.00 to the Republican Party of Minnesota |
Start with the individuals row. It's the closest thing in this race to a straight popularity contest among people who write checks. Ellison's committee took $1.28 million in itemized money from individuals over two years. Schutz's took $1.04 million. That's close, and it's a real number for a challenger against an incumbent. It also means Ellison had the deeper bench of individual donors, and his critics, me included, don't get to wave that away.
So the gap between the two committees isn't individuals. It's the party and the candidate. On Ellison's side, the DFL State Central Committee's in-kind help was 73 percent of everything his committee took in during 2026. On Schutz's side, his own $450,000 loan was 36 percent. One man leaned on his party. The other leaned on himself.
Two smaller lines are worth a look. Both men sent money to their state party: Ellison's committee $600,000 in two $300,000 checks on September 18 and October 13, and Schutz's committee $10,000 on February 11. The DFL, for its part, bought Ellison $2.81 million of media and mail. The Republican Party of Minnesota's state committee doesn't show up anywhere in Schutz's itemized receipts. And the county Republican units that did give to Schutz, 13 receipts totaling $8,078.44, from Cass, Wright, Morrison and other counties plus the 7th Congressional District, carry contributor types "Political Committee/Fund" or "Candidate Committee" in the Board's download, not "Party Unit". That's why his party-unit line reads zero there. The Board's own summary of his reports through October 19 lists $4,300.00 from party units. That's three numbers for one question, and nothing in the download tells you why they differ.
$4.5 million or $1.67 million? Both.
MPR reported on October 27 that "Incumbent Democrat Keith Ellison’s campaign reported spending nearly $4.5 million". Alpha News, two days later, said Ellison "has spent $1.67 million since January." If you read both, you'd be forgiven for thinking somebody can't add.
Everybody can add. They're counting different things, and the Board's file shows exactly what. Ellison's committee reported $4,481,717.19 in 2026 expenditures. That includes $2,812,029.68 of in-kind help, $2,809,451.54 of it media and mail the DFL bought, which the committee recorded the way Minnesota's system books in-kind help: once as money coming in, and once as money going out. Take the in-kind out and you're at $1,669,687.51. MPR's number and Alpha's number, same report.
It's a bookkeeping rule, not a mistake, and the arithmetic bears it out. Do the same thing to Schutz. His committee reported $1,293,505.47 in 2026 expenditures, which MPR called "nearly $1.3 million." Pull out his $20,963.60 of in-kind and you get $1,272,541.87. Alpha said he "has spent $1.27 million this year". Same split, both candidates. The figures fit one outlet counting in-kind and the other leaving it out.
The DFL's in-kind came in 28 items between August 6 and October 19: $2,274,821.00 of "Media - Broadcast, OTL" in eight items, $511,744.84 of mail in 14, $21,631.15 of walk literature and $1,254.55 of yard signs. The single largest was $423,153.00 of broadcast on October 15.
So which number is "what Ellison spent"? If you mean what it cost to put his case in front of voters, it's the bigger one. If you mean how much of his own donors' money went out the door, it's the smaller one. The system lets a party buy a candidate's TV and the candidate's report shows it twice, coming and going. That's a bookkeeping convention, not a scandal. It is, though, a terrific way to start a fight between two newsrooms.
The $450,000
On September 14, Schutz lent his campaign $450,000, in two pieces: $425,000 and $25,000. The Board's own financial summary of his reports books it as "Loans payable income" of $450,000.00 and, as of October 19, carries $450,000.00 in unpaid bills and loans. MPR on September 28: "Schutz loaned his campaign $450,000 days before the reports were due." Alpha News on October 29: "$450,000 of that sum was from a loan he made to his campaign." The Board and the press agree. It's a loan.
The odd part is the Board's own spreadsheet. Download the Board's itemized contributions file and the same two receipts carry receipt type "Miscellaneous" and contributor type "Self". That file has a "Loan Payable" type, and it uses it: Jim Schultz's $70,000 loan to his own committee on December 30, 2021 is coded that way. So the Board's summary page says loan, and the Board's spreadsheet says miscellaneous, about the same $450,000. Build your story from the spreadsheet alone and you'd get it wrong, through no fault of your own.
Is a loan that size allowed? The Board's 2025–2026 limits sheet caps a candidate's own money for attorney general at $12,500 over the two years, and the sheet says that cap is "applicable only to candidates who have signed a public subsidy agreement". Schutz didn't sign one. The Board's subsidy-agreement search lists him with no agreement and no affidavit of contributions, and his candidate page shows a two-year spending limit of "No Limit". The cap never applied to him.
The subsidy, the limit, and the off-ramp
Ellison took the state's money. The Board's subsidy-agreement search shows a public subsidy agreement on file for him dated January 9, 2023, and an affidavit of contributions dated July 6, 2026. The Board's August 21 release on post-primary public subsidy payments lists Keith Ellison at $294,603.39: $51,154.61 from the party account and $243,448.78 from the general account. No Republican attorney general candidate is on the payee list.
That money comes with strings. Minn. Stat. § 10A.322, subd. 1(a): "As a condition of receiving a public subsidy, a candidate must sign and file with the board a written agreement in which the candidate agrees that the candidate will comply with sections 10A.25; 10A.27, subdivision 10; 10A.324; and 10A.38." Section 10A.25 is the spending limit, and its first subdivision says the limits "apply only to a candidate who has signed an agreement under section 10A.322 to be bound by them as a condition of receiving a public subsidy for the candidate's campaign." For this office, subdivision 2(a)(2) sets it "for attorney general, $839,600 in the election segment and $290,500 in the nonelection segment". The Board's 2025–2026 sheet lists the same $839,600 base.
Ellison's committee reported itemized campaign expenditures of $3,952,685.97 for 2025 and 2026 counting in-kind help, nearly all of it the DFL's, and $1,139,453.20 without it. Either way, well past $839,600.
That's not necessarily a problem. The statute has an off-ramp. Under § 10A.25, subd. 10(a), a candidate who signed "may choose to be released from the expenditure limits but remain eligible to receive a public subsidy if the candidate has an opponent who has not agreed to be bound by the limits" and has crossed a receipts or spending threshold. After the primary, the Board's release sheet puts that threshold for attorney general at $545,350, which is 50 percent of a $1,090,700 election-cycle base. Schutz's itemized receipts alone passed $545,350 by June 25, 2026.
The release isn't automatic. Subdivision 10(b) requires a non-signing candidate to notify the Board and the opponent within 24 hours of crossing the line, and subdivision 10(c) lets the signer then file a notice choosing to be no longer bound. The Board's candidate page for Ellison's committee shows the result: "2-year spending limit: Limit waived", with the "Spending limit waived" box checked. The page doesn't show the notices behind that entry or their dates. The pieces it does show fit the statute: Ellison signed, Schutz didn't, and Schutz's receipts crossed the line.
So what does the limit do in a race like this? Statewide, 406 of the 437 candidates who filed for constitutional or legislative office in 2026 and registered a committee, 93 percent, signed the agreement. In the attorney general's race, the agreement ties the signer to an $839,600 base limit right up until the other candidate declines to sign and raises half of a larger number. Then the signer can elect out, keep the subsidy, and, in the Board's own words, "all other candidates in the general election for that office are also released from the spending limit." It's a speed limit with an exit ramp at the first mile marker. Nobody gets a ticket, and the sign stays up.
The $25,000 line and the $2.8 million in-kind
This is the one I can't answer from the public files. I'll put it to both parties, same test.
The Board's 2025–2026 limits sheet sets an aggregate cap on what a candidate for attorney general may take from political party units: $25,000 for the two years. The sheet says it "Applies to the aggregate of contributions and loans received during 2025 and 2026 from all political party units and terminating principal campaign committees", and that "Party units include each political party’s state-level committee". The statute behind it is § 10A.27, subd. 2: "A candidate must not permit the candidate's principal campaign committee to accept contributions from any political party units or dissolving principal campaign committees in aggregate in excess of ten times the amount that may be contributed to that candidate as set forth in subdivision 1." For attorney general, subdivision 1(a)(2) sets that base at "$2,500 in the election segment of an election cycle for the office sought and $1,500 in the nonelection segment of the election cycle".
Ellison's committee reported $2,814,501.54 from party units in 2025 and 2026. That's $2,809,451.54 of in-kind media and mail from the DFL State Central Committee, plus $5,050 in cash from seven county and senate-district DFL units. Schutz's committee shows $0 coded as party-unit money in the download, $8,078.44 from Republican county and district units coded as something else, and $4,300.00 from party units on the Board's own summary page. However you count it, his figure is well under $25,000.
On its face, Ellison's figure is more than 112 times the published cap. That can't be the whole story, and there's an obvious candidate for the rest of it. Section 10A.275, subd. 1, carves certain party spending out entirely:
"Notwithstanding other provisions of this chapter, the following expenditures by a party unit, or two or more party units acting together are not considered contributions to or expenditures on behalf of a candidate for the purposes of section 10A.25 or 10A.27 and must not be allocated to candidates under section 10A.20, subdivision 3, paragraph (h): (1) expenditures on behalf of candidates of that party generally without referring to any of them specifically in a published, posted, or broadcast advertisement; (2) expenditures for the preparation, display, mailing, or other distribution of an official party sample ballot listing the names of three or more individuals whose names are to appear on the ballot; (3) expenditures for a telephone call, voice mail, text message, multimedia message, Internet chat message, or email when the communication includes the names of three or more individuals whose names are to appear on the ballot;"
The list goes on through six cases: community-event booths, fundraising and staff services that benefit three or more candidates.
So here's the open question. If the DFL's broadcast and mail fit one of those six cases, the statute says they "are not considered contributions" for purposes of the limit, and the $25,000 cap isn't touched. If they don't, they count. The Board's file describes the items only as "Media - Broadcast, OTL", "Mailer - Print, Mailhouse, Postage", "Walk Lit - Printing and Production" and "Yard Signs - Printing and Production". Read literally, though, the carve-out says those expenditures "are not considered contributions to or expenditures on behalf of a candidate" for those limits and "must not be allocated to candidates" on reports, and these items are booked on Ellison's report as contributions received. That's the piece that doesn't reconcile on the face of the record.
Three things would settle it: the ads and mailers themselves, the DFL State Central Committee's own reports, and any Board advisory opinion on how coordinated statewide party media is treated. Nothing in the Board's 2025–2026 enforcement list names Ellison's committee or Schutz's. The same test applies to the Republican side. If the state party had bought Schutz $2.8 million of TV, I'd be asking the same question about him. Nothing from it shows up in his itemized receipts.
And the history makes it more interesting. In 2022, Ellison's committee reported $4,450 from party units, and the DFL reported its $1,314,315.36 for him as independent expenditures. In 2026, the DFL reported nothing as independent expenditures in this race and booked $2.81 million as in-kind to his committee. Both are legal routes in the right facts. They aren't the same route, and the public file doesn't say which rule the 2026 money is riding under.
Minnesota publishes a $25,000 number. A candidate's report shows $2.8 million from the party on top of a public subsidy. Either the exemption is doing a great deal of work, or the published limit isn't telling voters what it appears to. The Board's records can say which. The download can't.
The coding question on Schutz's side
One more thing in the candidates' files, and this one's on Schutz's side of the ledger.
His committee coded $873,508.21 of its 2026 spending as "Non-Campaign Disbursement". Nearly all of it was advertising: Barrel Placements of Mount Vernon, Virginia, "Media Placement", $600,720 in two items; Alamo Intelligence of Washington, D.C., "Digital Advertising", $235,974.50 in four; Slmg LLC, "Media Production", $26,000; Louis Fine Studios, "Media Placement", $9,750.
That category means something specific. Minn. Stat. § 10A.01, subd. 9, defines a campaign expenditure and then says "'Expenditure' does not include: (1) noncampaign disbursements as defined in subdivision 26". Subdivision 26 lists 31 purposes, things like legal and accounting services, returning a contribution, filing fees, food for volunteers, credit-card processing costs and contributions to a party unit. Media placement isn't on the list; the only advertising it mentions is post-general-election holiday and thank-you ads, in clause (16). Clause (22) adds "other purchases or payments specified in board rules or advisory opinions", and subdivision 26(b) says "The board must determine whether an activity involves a noncampaign disbursement within the meaning of this subdivision."
Same test, other side. Ellison's committee coded $98,837.44 as noncampaign in 2026, and the biggest pieces were credit-card processing fees ($52,285.89 across 68 items), compliance and accounting services, legal fees, and returned contributions. Those are on the statute's list.
The Board's own summary of his filed reports, through October 19, carries the same split: $875,655.06 of noncampaign disbursements against $389,208.44 of campaign expenditures. This may be nothing more than a data-entry choice, and a committee can amend a report. The statute gives the call to the Board, not to me. For a candidate without a spending limit, the label doesn't change what he could spend. It does change what a reader sees: the "campaign expenditures" line comes out $872,444.50 lighter than it would if the media placement, digital advertising and production were coded as campaign spending.
The other side's best case
The folks who like the system as it is have a real argument, and it goes like this. Every dollar in this piece is public. I found all of it with four downloads from a state website, a few Board documents and viewer pages, and some arithmetic. Both chains, Republican and Democratic, ran the same way. Both national attorneys-general groups played. The DFL's $2.8 million wasn't hidden. It's on Ellison's own report, itemized by date and description. The two complaints the Board took in that touch these committee families were both dismissed: one about a Minnesotans for Justice text ad, dismissed October 30 because its disclaimer was "substantially in the form provided in Minnesota Statutes section 211B.04, subdivision 2", and one about a 2020 report by the old Alliance for a Better Minnesota Action Fund, dismissed in November 2025 after the fund's lawyer gave "a reasonable explanation for that discrepancy".
They're right about most of that. This is a disclosure system that discloses. Nobody had to file a records request. I didn't find a hidden dollar on either side.
Where it falls short is the ad. What a voter actually saw named Minnesotans for Justice, or Alliance for a Better Minnesota State PAC. The text ad the Board reviewed said "PREPARED AND PAID FOR BY MINNESOTANS FOR JUSTICE". To learn that meant Renew Minnesota, and that Renew Minnesota meant GOPAC Election Fund and the Minnesota Private Business Council, you'd need a second download and a pivot table. To learn that the committee behind the anti-Schutz ads got 87 percent of its money from We All Do Better PAC, and that its biggest source was a DAGA committee, you'd need three hops. And at the top of both chains the file says "Other" and stops.
Disclosure that takes a spreadsheet and three hops is disclosure for reporters and opposition researchers. It isn't disclosure for the person watching the ad.
What we can do
Nothing below needs a new agency or a new limit. Every fix uses records Minnesota already collects.
Put the floor-up in the file. The underlying-source statements that § 10A.27, subds. 15 and 16, already require are filed with the Board. Publish them as data in the same download as the contributions they explain, keyed to the receiving committee. And when one registered committee's money comes mostly from another registered committee, add a field that rolls the chain up one level, so "Minnesotans for Justice" shows "Renew Minnesota" and Renew Minnesota's top sources on the same line.
Put the top funder on the ad. Minnesota's disclaimer names the committee that paid and stops there. When a committee got more than half its money from one other committee, the disclaimer should name that one too. It's one more line of type. It would have changed what voters read on both sides of this race.
Make the party line say which rule it's under. Every party-unit contribution or in-kind item on a candidate's report should carry a field: counted toward the § 10A.27, subd. 2 cap, or claimed under § 10A.275, subd. 1, and which clause. Same field for the DFL and the Republican Party, every race. The question I couldn't answer above would answer itself, for both parties, in every future report.
Publish the summary pages and the agreements as downloads. Cash on hand, total receipts, the list of candidates who signed the subsidy agreement, the 24-hour notices under § 10A.25, subd. 10(b), and the release notices under subd. 10(c) are all public records at the Board. They should come in the same bulk files as the itemized lines, not one click at a time in a viewer. A voter shouldn't need to know a candidate's registration number to learn whether he's bound by a spending limit. The late money is a good example: Ellison's committee filed 24-hour large-contribution notices as late as November 2, and Schutz's as late as October 28, well after the last itemized date in the download.
Flag media coded as noncampaign before the report files. The Board already decides, under § 10A.01, subd. 26(b), what counts. The filing software can do the first pass: if a line says "Media Placement" or "Digital Advertising" and the type says "Non-Campaign Disbursement", ask the treasurer to confirm before it goes in. That catches an honest coding slip on any side before a reporter does.
And print the right 2022 number. The Board's own itemized file comes to $6.88 million for the 2022 attorney general's race once the double-listings come out, not $16 million. That matters, because the real story of 2026 is that the money nearly doubled.
Minnesota made the money public. Now it should make it readable. Follow the money is still good advice. Right now, in Minnesota, it comes with homework.
First the facts. Then the fix.
Sources
All campaign-finance figures come from the Minnesota Campaign Finance and Public Disclosure Board's bulk downloads at cfb.mn.gov, retrieved November 3, 2026: "All - Itemized Independent Expenditures Of Over $200", "Independent Expenditure Committees and Funds - Itemized Contributions Received Of Over $200", "Candidates - Itemized Contributions Received Of Over $200", and "Candidates - Itemized General Expenditures and Contributions Made Of Over $200". Totals, shares, duplicate removal and the 2022 comparison are my arithmetic on those files. The 2026 race is the committees registered as 18336 (Ellison) and 19261 (Schutz); the 2022 race is 18336 and 18731 (Schultz). Duplicates were removed by matching spender, date, amount, vendor and purpose.
The Board documents read in full were: "2025 – 2026 Election Cycle Segment Contribution and Spending Limits"; "Release from public subsidy agreement spending limits"; "Campaign Finance and Public Disclosure Board Makes Post Primary Distribution of 2026 Public Subsidy Payments", dated August 21, 2026, with its payee list; the October 30, 2026 prima facie determination in the complaint regarding Minnesotans for Justice; the probable-cause determination in the complaint regarding the Alliance for a Better Minnesota Action Fund; and the Board's enforcement list sorted by date. Minnesota Statutes sections 10A.01, 10A.20, 10A.25, 10A.255, 10A.27, 10A.275, 10A.322 and 211B.04 were read in the 2026 edition at revisor.mn.gov on November 3, 2026.
The press figures tested here are from MPR News, "New finance reports show more than $55M flooding governor, attorney general races", by Ellie Roth and Peter Cox, October 27, 2026; MPR News's September 28, 2026 story on the attorney general's race; and Alpha News, "Here's a look at the final round of state campaign finance reports before Election Day", by Luke Sprinkel, October 29, 2026. The 2022 result is from the State Canvassing Board's certificate for the November 8, 2022 general election.
The election-night figures are from the Secretary of State's unofficial results file for Attorney General (electionresultsfiles.sos.mn.gov, folder 20261103, file attorneygen.txt), read at 11:06 p.m. Central on November 3, 2026, with 2,849 of 4,105 precincts reporting: Ellison 1,134,026 votes (55.08 percent), Schutz 921,727 (44.77 percent). County precinct counts are from the same source's all-races-by-county file at the same time.
What I searched, what I found, and what I could not establish. The Board's downloads carry itemized lines over $200 only, so every committee total above is an itemized total; unitemized small-dollar receipts and spending, beginning cash and cash on hand appear only on the report summary pages in the Board's online viewer. Schutz's summary page runs through October 19; Ellison's, on the day I read it, ran only through March 31 even though his pre-general report is listed as filed, so I print neither man's cash on hand rather than one. The report PDFs themselves could not be opened from the viewer. The independent-expenditure file's latest date for this race is October 19, 2026; spending after that will appear in the post-general reports. The subsidy-agreement status and the "Limit waived" entry come from the Board's viewer and its subsidy-agreement search, not from any download; I did not see the subdivision 10 notices themselves or their dates. Whether the DFL State Central Committee's media and mail for Ellison fall under § 10A.275 cannot be determined from the itemized file; the ads, the party's own reports and the Board's advisory opinions would settle it, and I didn't review the advisory opinions. Contributions from union and other political funds to the funds that spent for Ellison sit in a separate Board download I didn't pull, so their floor-up isn't shown. The Board posts no campaign-finance summary for 2021–2022, so I found no Board document stating a 2022 attorney-general outside-spending total to test the $16 million figure against; the explanation offered above is my hypothesis and nothing more. Corrections: campaign@madgettformn.com.