A Midwest criminal defense firm built its practice on OWI and criminal defense work, and had already done what most firms in its position do: bought every channel a defendant searches on. Google Ads, Meta, programmatic display and geofencing were all live in its region, and all of them were saturated. Every added search dollar was buying the same click at a higher auction price.
The firm came to Propellant because we had been placing sponsored ads inside ChatGPT for a number of brands, and it wanted to be the first firm in its market to reach defendants there. The brief was not more visibility. It was a new place to be visible.
Criminal defense and OWI keywords sit among the most expensive categories in paid search. When a firm has already saturated that auction, the marginal dollar stops buying anything new. Meanwhile a growing share of people charged with OWI now ask an AI assistant what happens next before they ever type an attorney’s name into a search bar. No firm in the region was reaching them at that moment.
Four channels the firm already owned in its market, and the one nobody had claimed.
What Our Team Was Tasked With
Open a channel the firm’s competitors were not on, and prove it could put the firm in front of people researching a criminal charge in its service region, at a cost per click that justified running it beside search. Spend to date is just over $670 across the first seven weeks, Aug 1 through Sep 17, 2026, with the campaign ongoing.
Media Plan We Developed
- ChatGPT advertising: A single sponsored campaign inside ChatGPT conversations, targeted by situation rather than demographics and confined to the firm’s service region within its state. It ran as an incremental layer beside the firm’s existing search program, not a replacement for it.
ChatGPT campaigns run on a written audience description and a keyword set, not bids. We wrote both from what the firm’s Google Ads account had already proven, so the new channel started from established intent instead of guesswork.
The audience was defined by circumstance: recently arrested, cited for OWI, facing a criminal charge, researching defense options. The keyword set carried the OWI, criminal charge and defense terms that had already converted on search. The geography was the firm’s service area and nothing more, so every click was one the firm could actually retain.
Campaign Results
| Metric | Aug 1 – Sep 17, 2026 |
|---|---|
| Impressions | 18,557 |
| Clicks | 85 |
| Click-through rate | 0.46% |
| Average cost per click | $7.99 |
| Spend to date | $670+ |
| Effective CPM | ~$36 |
Single campaign, single channel. The platform reported reach and cost for this flight; no lead or case claim is made.
What the Data Settled
- Context did the work. There is no keyword auction inside ChatGPT, so the 0.46% click-through rate came entirely from the situational audience description, written off what search had already proven.
- $7.99 bought a click the auction could not. Every one of the 85 clicks came from the firm’s service region, from a person already working through what an OWI charge means, before they had searched for an attorney.
- The cost to be in the room was about $36 per thousand. That is the effective CPM for placement inside the conversation a defendant has before they search, a slot no competitor in the region held.
What We Take to the Next Campaign
- Write the audience from what search already proved. The Google account is the research. Port its converting terms and case types into the ChatGPT description before spending a dollar.
- Keep the geo as tight as the retainer. A click outside the service area is a wasted $8. Regional targeting kept every click retainable.
- Instrument conversions before launch. This flight reported reach and cost only. The next one needs call and consultation tracking in place from day one, so the channel can be judged on cases, not clicks.
For a firm that had already bought every channel a defendant searches on, ChatGPT advertising opened the one they research on. Seven weeks in, it has put the firm in front of 18,557 conversations in its own region at $7.99 a click, and it is still running.
Frequently Asked Questions
How much does ChatGPT advertising cost for a law firm?
This criminal defense campaign averaged $7.99 per click on just over $670 in spend across its first seven weeks. Cost depends on how tightly the audience and geography are defined; a regional, situation-specific audience like this one keeps every click inside the firm’s service area, which is what makes the per-click figure worth paying.
How does targeting work inside ChatGPT ads?
There is no keyword auction. A campaign runs on a written audience description and a keyword set, and the ad surfaces inside conversations that match. For this firm we defined the audience by circumstance rather than demographics: recently arrested, cited for OWI, facing a criminal charge, researching defense options. Geography can be set by state, city, zip code or radius; this campaign ran inside the firm’s service region only.
What click-through rate can a criminal defense firm expect on ChatGPT ads?
This campaign returned a 0.46% click-through rate on 18,557 impressions, with 85 clicks in seven weeks. The rate came from the situational audience description, which was written directly from what the firm’s Google Ads account had already proven converts.
Should a law firm replace Google Ads with ChatGPT advertising?
No. This campaign ran as an incremental layer beside search, not a replacement for it. The value of the channel is that it reaches a defendant during the research conversation they have before they search for an attorney, a moment Google Ads cannot buy. The Google account is also the source material: its converting terms and case types are what the ChatGPT audience description was built from.
Did the campaign generate cases?
The platform reported reach and cost for this flight, so this case study makes no lead or case claim. The standing takeaway is to put call and consultation tracking in place before the first dollar of the next flight, so the channel can be judged on cases rather than clicks.
