Your CPC crept up. Competitors, broad match and a softer Quality Score each explain some of the rise, but most accounts never measure how much. A federal court has now complicated the story. In August 2024 it found that Google "has exercised its monopoly power by charging supracompetitive prices for general search text ads" (Mem. Op. at 4).
Your account data can't confirm or refute that finding. It can show how much of your CPC rise you caused, how much the market caused, and how much remains unexplained.
The ruling is context here, not the main story. According to a Search Engine Journal piece, trial exhibits describe three auction mechanisms:
- Format pricing (2012 to 2019): ads using sitelinks, callouts or structured snippets paid more to hold their position (Mem. Op. at 84, 86).
- "Squashing" (2014 onward): Google raised the predicted click-through rate of every ad except the leader (Mem. Op. at 83-84).
- rGSP (2019 onward): a projected 5 to 6% CPC increase on top slots (Mem. Op. at 85).
"Mem. Op." is the court's memorandum opinion in United States v. Google LLC (D.D.C., Aug. 5, 2024).
Set the Scope Before You Pull Data
The ruling covers general search text ads, according to the same piece. The court did not find a monopoly in the broader market for all search advertising. If part of your spend went to Shopping or Performance Max, split it out first and audit text-ad campaigns on their own.
Display spend is a separate matter. The April 17, 2025 ruling from the Eastern District of Virginia concerned display advertising tools, so keep display out of this audit.
The Audit, Step by Step
Step 1: Define Two Comparable Windows
Pick a baseline window and a comparison window of equal length, covering the same weekdays. Use average CPC (cost divided by clicks) at campaign level, then break it down by match type and device. Also pull the same calendar windows from the prior year for the seasonality check in step 6.
Step 2: Export the Change History
Filter change history to both windows and to your text-ad campaigns. Log every bid strategy switch, target change, budget edit, match type edit, keyword addition, and ad or landing page change. Mark any restructure, such as merged ad groups or new campaigns, because moving keywords resets history.
After a bid strategy change, expect an adjustment period. Treat the first couple of weeks as noisy, not as a clean data point.
Step 3: Separate Match Type Mix From Match Type Rates
For each match type, record the share of clicks and the CPC in both windows. Then calculate two things:
- Mix effect: what the new click shares would have cost at the old CPCs.
- Rate effect: everything left over inside each match type.
A shift toward broad match can raise your blended CPC even if no individual match type got more expensive.
Step 4: Check Quality Score Components
At keyword level, compare expected CTR, ad relevance and landing page experience across windows. Quality Score is a diagnostic summary, not the exact value used in each auction. Look for clear component drops on high-spend keywords rather than chasing a one-point change. Tie any drop back to a change-history entry, such as a new landing page or rewritten ads.
Step 5: Read Impression Share and Auction Insights Together
Pull search impression share, lost impression share to rank, and top impression share for each campaign. Then open Auction Insights and note overlap rate, position above rate, top of page rate and outranking share for your main rivals. For more on this, see more on how to build an ai visibility prompt set by tag (template).
A new competitor with rising overlap supports a competitor-density explanation. Auction Insights shows who appears alongside you. It does not show what anyone bid or paid.
Step 6: Estimate Seasonality
Look at the same two calendar windows one year earlier, using campaigns that had no major changes. The CPC movement there is your rough seasonal baseline. It is imperfect, because last year's market differed too. Still, it keeps a predictable seasonal rise out of the unexplained bucket.
Step 7: Attribute the Change and Isolate the Residual
Assign a dollar amount to each factor, add them up, and subtract the total from the overall CPC change. What remains is the unexplained residual. The next section shows the arithmetic.
Worked Example (Hypothetical Numbers)
Everything below is made up to show the method. It describes no real account and no real result.
A text-ad campaign set has a baseline average CPC of $2.00 and a comparison-window CPC of $2.41. That is a rise of $0.41, or about 20%.
| Match type | Baseline click share | Baseline CPC | Comparison click share | Comparison CPC | |---|---|---|---|---| | Exact | 50% | $1.80 | 35% | $2.10 | | Phrase | 30% | $2.00 | 25% | $2.30 | | Broad | 20% | $2.50 | 40% | $2.75 |
Apply the new click shares to the old CPCs: (0.35 x 1.80) + (0.25 x 2.00) + (0.40 x 2.50) = $2.13. The mix effect is $0.13. The remaining $0.28 (from $2.13 to $2.41) is the rate effect, which the other checks must explain.
| Factor | Type | Estimated CPC impact | Evidence used | |---|---|---|---| | Match type mix shift | Account-side | $0.13 | Calculation above; broad share rose from 20% to 40% | | Bid strategy target loosened | Account-side | $0.07 | Change history entry; campaigns without the change rose less | | Landing page experience drop | Account-side | $0.03 | Component drop on top keywords after a site update | | Seasonal lift | Market-side | $0.06 | Prior-year windows on unchanged campaigns | | Higher competitor overlap | Market-side | $0.05 | Auction Insights overlap up for one rival | | Explained total | | $0.34 | About 83% of the rise | | Unexplained residual | | $0.07 | About 17% of the rise |
The residual is a bookkeeping remainder. It could be measurement error, an unlogged factor or something outside the account. The audit cannot tell which.
Verify the Residual With Matched Conditions
A residual deserves attention only if it survives a stricter comparison. Run this check on the keywords that drive most of your spend:
- Select keywords with no change-history entries in either window, and no bid, match type or ad edits.
- Keep bids constant. Manual CPC keywords with an unchanged max CPC are cleanest; automated strategies make this harder.
- Hold match type constant by comparing exact to exact and broad to broad.
- Keep search impression share within a few points across windows, and use the same device and network.
- Check Auction Insights for those campaigns and note whether overlap and position above rate stayed flat.
- Record the CPC difference that remains, then repeat for a second pair of windows to see whether it recurs.
If CPC rose under these matched conditions, you have a documented drift worth noting. If it did not, the residual probably came from mix or an unlogged change.
Limitations
Tell stakeholders about these limits up front.
Advertiser-side data cannot prove that Google changed auction pricing. You see your own clicks, costs and a partial view of rivals. You do not see the auction's internal scoring, so an unexplained residual is consistent with many causes.
The court record concerns general search text ads in specific date ranges. Format pricing ran 2012 to 2019, squashing dates from 2014, and rGSP from 2019, per the Search Engine Journal piece. Spend outside those ad types and periods falls outside what that record describes.
Google disputes the ruling and is appealing. Findings and trial exhibits also differ: a finding is what the court concluded, while an exhibit is evidence the court heard.
Also read: go deeper on turn off shopify agentic storefronts? audit settings first
The source piece is sponsored attorney advertising. Silver Arbitration Law, PLLC sponsored it, and the opinions are the sponsor's own. Check the court opinions directly.
This article is not legal advice. Questions about whether you have a claim, which terms apply or how to file belong with counsel.
Spend-History Export Template
If you decide to talk to a lawyer, a clean export saves time. The Search Engine Journal piece says counsel will ask first about the legal entity that paid and the agencies involved, and that whoever paid for the ads holds any claim. Don't assume either point applies to you. Confirm with counsel.
| Field | What to record | |---|---| | Legal entity | Name of the entity that accepted Google's advertising terms and paid invoices | | Account IDs | Google Ads customer IDs and any manager accounts | | Agencies | Each agency or manager, with start and end dates of control | | Years active | First and last month of spend, by account | | Campaign types | Search text, Shopping, Performance Max, display, video | | Text-ad split | Monthly spend on search text campaigns versus Shopping and Performance Max | | Monthly cost and clicks | Cost, clicks and average CPC by month | | Change history | Exported log covering the periods in question | | Audit results | Your explained and unexplained CPC table, with method notes |
Label every figure with its source report and date range. Keep your audit conclusions separate from raw exports so a reader can see what was measured and what was inferred.
What to Expect Next
The first run will take the longest, mostly because change history is rarely tidy. Repeat the audit quarterly and the residual becomes a trend line instead of a one-time argument.
The Search Engine Journal piece notes that the court's September 2025 remedies decision requires Google to disclose material auction changes publicly. If those disclosures appear, you will have a documented baseline to compare against.



