Day 4 of US v. Google remedies was a wild ride, with a slow start and fireworks well worth the wait. The day begins with the Judge ruling that Google’s two late-addition publisher witnesses will be allowed to testify. Judge Brinkema says it’s only “fair” for Google to be able to have users testify, as DOJ did, though she is not sure how important they are as compared with the experts. DOJ points out that it is unfair for Google to not have submitted these witnesses by the August 15th deadline or for their witnesses to have had to endure six hour depositions because Google breached their timely disclosure agreement.  Judge says depositions that long aren’t necessary - they get two hours max.

Jon Weissman, Technical Feasibility Expert

DOJ resumes direct examination. We see a system design powerpoint where Google outlines principles for its engineers to follow when writing code. Simplicity. Uniformity. Flexibility. Separation of concerns. Testability. What “good” looks like to Google is that engineers can “easily update” technical infrastructure and easily adapt for new requirements. All things that support a feasible migration.

Weissman explains his review of the Google source code. He spent 15 hours in a room reviewing the code, which all fit on a laptop. He was able to identify “hot spots” or key parts of the code. Judge asked what this meant, and he explains that the “hot spots” were key parts of the code, like the code underlying the Final Auction Logic, auction process, and places where code reached out to demand to get bids.

We see some documents about Google’s philosophy of and participation in open sourcing. Google is a “good citizen” of the open source community and “should be commended” for that. Android is open source, for example. Google documents explain that open sourcing offers “benevolent results, but is not an act of charity” - Google benefits from getting better software, and encouraging adoption of a standard. Open source is “at the core of our infrastructure, processes, and culture” another document reads.

We see a diagram of the process of making the final auction logic open source, which Weissman explains clearly. For all of the migrations proposed in the DOJ’s remedies, Google keeps a copy of the code and can use it for non-open-web display, he confirms. He explains that complexity is not dictated by size, but by how much has to change.  He was able to see folders in the code that matched the names on the architecture diagram, and could identify two types of dependencies: those calling Google’s adtech, which wouldn’t need replacement, and those calling proprietary Google infrastructure where adapters would need to be written.

Judge asks if adapters need to identify replacement support for Google’s infrastructure. Yes, adapter code needs to be written, but we’re talking about general purpose software where replacements are available.  He says that Nieh (Google expert) included sub-dependencies in his list, which are irrelevant to the migration process. The Judge asks if the devil is in the details - what if the sub-dependencies don’t work? He explains that once a replacement is chosen, that software will have its own sub-dependencies that come standard with the package, so yes - there are a lot of sub-dependencies but engineers don’t need to “encounter" that complexity.

Nieh also characterized AdX and DfP as entirely dependent on Google infrastructure, which Weissman says is true but does not mean that this is the only place they can run - they are not intertwined or inextricably linked. He also says these are generic distribution systems - like storing data in a database. Substitutes exist, and he has used them.  He explains you don’t need an identical “drop-in” replacement as Nieh implies; just a functionally equivalent one for what the adtech tools need. The Judge says: “So the issue is identical versus equivalent?” “Correct,” Weissman confirms.

Cross-examination by Google’s Jeannie Rhee begins and is painful. She interrupts the witness so much that DOJ’s Wood intervenes. A few improper impeachment objections ensue, and the Judge grows frustrated noting that she understands what Rhee is trying to do, but this isn’t a jury trial and she knows how to interpret witness testimony. Rhee pulls up a demonstrative that the government doesn’t have, outlining all of the dependencies identified by Nieh including ones that Weissman has already said do not all appear to be necessary for adtech.  After DOJ is given a copy,  Google begins to add to the demonstrative in real time. DOJ says “the demonstrative is now changing in ways the government has not seen, and I do not have a copy.” Objection sustained. The same visual comes back, and Rhee walks through several of the 29 dependencies (and sub-dependencies) Nieh identified that Weissman already had addressed may not all be necessary for adtech to have him state that he “doesn’t know” if they are used for adtech and thus didn’t identify a replacement.  Rhee accosted Weissman for reviewing the 2023 source code instead of the more recent 2025 source code that they provided a few weeks before the report was due. DOJ cleared up much of this on redirect, including that Google itself provided the old source code to him, that it then criticized him for reviewing.

Tim Craycroft, VP & GM of Google Advertising

This is the moment we’ve all been waiting for. Craycroft oversees product and engineering at Google for some of Google Ads, as well as for AdX and DfP. He has 2700 people reporting to him, three-quarters of which are engineers. We learn that Google evaluated the feasibility of divesting AdX and some of DfP.  First, there is Project Sunday - a 2020/2021 analysis of separating AdX and DfP, within Google’s infrastructure. Then, Project Monday in 2023/2024 looked at shutting down AdX and open-sourcing parts of DfP.  The bottom-line-up-front: divestiture of AdX, DfP’s Final Auction Logic, and DfP prebid integration were deemed to all be technically feasible - the opposite of what Google’s attorneys have been arguing this entire time.

Note, we didn’t get to see these documents - and to be fair, neither did the Judge mostly. Google had argued before Judge Anderson that they all are subject to work product privilege pre-trial, and Judge Brinkema had carved out the documents used in EU negotiations. Google, however, tried to expand the confines of her ruling and create confusion to keep the documents out of the record, and Judge Brinkema found a middle ground in the interim to keep things moving.

A lot happened here. After gaslighting the DOJ and their witnesses for days on this exact point, we learned about gBid which allows Google buying tools to bypass AdX and bid directly into the ad server. Today, it only exists for app inventory, and allegedly Google never considered this for display.  The DfP prebid integration was estimated to take two years. The AdX divestiture would take about four years - two prior to closing, and two after. Identifying the “reference source code” and making a “derivative” (his way of avoiding saying “identifying the source code and dependencies, and making a copy) would take six months.  And open sourcing Final Auction Logic would take four years.

During cross, Judge Brinkema asked a key question - I did my best to capture it as close to verbatim as I could, but bear with me: “If the Court’s decision were to just wipe out AdX, wouldn’t your publishers get the same benefits from prebid? Wouldn’t that be an elegant solution?”  Craycroft paused for a second, and said possibly, before going through all of the non-sense quality, viewability, fraud, spam protection buzzword bingo sequence we heard during liabilities phase, which DOJ already established months ago is not unique to AdX. Rhee also walked through each proposal Google and DOJ made with Craycroft identifying additional commitments Google would be willing to make. On redirect, DOJ asked if Google would be willing to lower the supra-competitive 20% AdX take-rate, and Craycroft indicated that this was not something Google was prepared to do.

Craycroft played games that reeked of arrogance and evasiveness throughout, drawing false distinctions between change-of-control transactions and divestitures, and later calling DOJ’s proposals “naive,” “incoherent,” and “terrifying.” I’m sure the millions in non-vested Google stock that we learned about has nothing to do with it. Judge Brinkema clocked it, so I don’t imagine this played well for Google.  At one point she said something to the effect of: “When a company makes a decision to sell, inherently there’s an assumption that it’s technically possible.”

DOJ did not rest their case today. We get to hear from Prebid’s Mike Racic tomorrow, and I suspect they may call one final publisher witness to round things out, but everything has been very, very fluid.