← Work
Cadillac crest on the grille of an Escalade

Performance Marketing for Cadillac

  • Performance Marketing
  • Campaign Execution
Overview

At Rooks Advertising, I led regional performance marketing for Cadillac dealerships across the Southeastern United States. One dealer group operated two adjacent stores serving overlapping markets, but their Google Ads account treated them as competitors instead of complementary businesses. Both stores bid on the same search terms, driving up costs while competing for the same customers. At the same time, broad keyword targeting surfaced ads for vehicles that weren't even in inventory, generating clicks with no chance of converting.

Three reasons the account underperformed

Internal competition

Two dealerships were competing for the same customer instead of covering more of the market.

Overlapping targeting

Campaigns entered the same auctions, increasing CPCs and reducing budget efficiency.

Low-quality traffic

Ads appeared for unavailable inventory, paying for traffic that could never convert.

Audience segmentation

For dealership accounts, the addressable audience is geographic. The original account used radius targeting, which caused the two neighboring Cadillac stores to compete wherever their trade areas overlapped. Every search within that intersection entered both campaigns into the same auction.

I restructured the account around zip codes instead. Each zip code belonged to a single campaign, creating clear ownership of every search and eliminating internal competition by design.

Before Radius targeting
After Zip-level partition
Store A campaign Store B campaign Contested: both campaigns bidding Outside the trade area

Illustrative schematic of the campaign architecture, not performance data. Grid cells stand in for zip codes; store positions and coverage are notional.

Cadillac Escalade parked on a residential driveway

Rebuilt from the ground up

  1. Segment the audience by zip code

    Rather than radius targeting, I parsed the entire trade area into individual zip codes and built a separate campaign for each, ensuring no zip code ever appeared in more than one campaign. That removed the self-competing bids at the root instead of managing them.

  2. Extend the same logic to the competitor DMA

    I applied the same zip-level division to the nearest competitor’s DMA, splitting territory so the two stores maximized coverage against an outside rival without reintroducing overlap between themselves.

  3. Tie keywords to live inventory

    We built a live data feed from the pre-owned database and converted it into broad-match-modified keywords bound to actual stock, so an ad could only serve against a car on the lot. Generic terms were eliminated, and keywords were reviewed on a regular cycle as inventory turned.

Inventory-tied keywords

The second fix bound the keyword set to the pre-owned database. A live feed generated broad-match-modified keywords from actual stock, so an ad could only serve against a car physically on the lot. When a vehicle sold, its keyword retired with it. Generic terms, which could never match a specific car, were eliminated entirely.

Live inventory feed Generated keyword Serving decision
2015 Ford F-150 On the lot
+2015 +ford +f150 Generated from the feed
Ad serves
2013 Chevrolet Malibu Sold
+2013 +chevrolet +malibu Retired on the next sync
Ad stops
No matching vehicle Generic term
used ford Never generated
Eliminated

Illustrative schematic of the feed logic, not performance data. Vehicles shown are examples of the three cases the feed had to handle.

Performance framework

Specific campaign performance data is confidential per client agreement. What I can share is the measurement framework with examples.

Performance search

Cadillac AdWords

Primary KPI
Cost per qualified lead
Efficiency metric
Wasted spend eliminated by removing self-competing bids
Channels
Paid search CTR by zip-code campaign · inventory match rate · keyword quality score
Success definition
Zero DMA overlap · ads serving only against in-stock inventory
Measurement
Google Ads · zip-level campaign segmentation · live inventory data feed
The outcome

A system designed to scale

The new account architecture eliminated internal competition, aligned campaigns with real inventory, and created a structure that stayed organized as inventory changed. Instead of constantly fixing symptoms, the account could now optimize from a stable foundation.

This project reflects how I approach marketing: identify the structural constraint, simplify the system, and build for long-term performance.

Wheel and tire detail of a Cadillac Escalade
Rooks Agency has been the most hands-on agency we have ever dealt with. Always open to input and they have a “make it happen” attitude. We love working with them.
Becky Costis Marketing Manager, Dimmitt Cadillac