PPC in Denver: the licence decides the campaign map before the budget does
Colorado licenses much of the trades city by city, this metro holds dozens of permitting authorities, and a Denver account built on a radius quietly buys leads it cannot serve.
Published by AI Knows Us · Updated 15 October 2026
Paid search management in Denver runs about $950 to $2,600 a month for most local accounts, and above roughly $15,000 a month in media it is usually quoted as a share of spend instead, commonly 15 to 25 percent on the Front Range. On the media line, a one suburb campaign needs about $2,500 a month before the auction returns anything readable, and a roofing firm or an injury practice closer to $5,000 to $8,000. Nobody publishes a rate card for this, so those bands are mine, from what gets quoted around the metro. What decides whether the budget works is not the figure. Colorado has no statewide general contractor licence, so for much of the trades the body that licenses you and signs off your permits is the individual city or county, and this metro holds dozens of them. An account set to a thirty mile radius around downtown buys clicks in a dozen jurisdictions the advertiser cannot pull a permit in, at the same price as the good ones.
Draw the campaign map on jurisdictions first, then on drive time
Advice written for a metro this size says to target by drive time rather than by city name. For an online retailer or a professional firm that is right. For a licensed trade in Colorado it is how a budget quietly leaks, because a drive time circle crosses authorities you are not registered with. Aurora, Lakewood, Arvada, Westminster, Thornton, Centennial, Littleton, Broomfield, Golden, Castle Rock and Parker each run their own registration, permit and inspection process, and the unincorporated parts of Adams, Arapahoe, Jefferson and Douglas counties are separate again.
So the build order is: list the places you hold the licence or registration to work and permit in, cut that to what you will genuinely drive to, and target what survives. Three things follow.
- Split the surviving list into two or three campaigns rather than one, so the report shows cost per booked job by area. In a Denver account the spread between the best and worst area is usually wider than the spread between any two keywords.
- Bid on the unincorporated county pockets deliberately. Nearly every advertiser targets city names, so those pockets are often the cheapest ground in the metro, and the phrasing residents there use goes largely unbought.
- Settle the foothills before the account goes live. A Denver business shows in Evergreen, Conifer and the I-70 corridor without choosing to. If you are not licensed there, or the drive eats the margin, exclude it on day one.
The keyword slice a local budget can still take
The broad terms in the biggest Denver categories are mostly not contested by other Denver businesses. They are contested by lead aggregators and national franchise advertisers that buy the category and then sell the enquiry on, or route it to the nearest franchisee. Angi, Thumbtack and HomeAdvisor all work this way, openly, and each can pay more for a generic click than you can because one enquiry may be sold several times. What is left is everything they never bother writing an ad for, and it is a bigger slice than it looks.
| Query shape | Who you are really bidding against | What to do with it |
|---|---|---|
| plumber, roofer or electrician on its own | Lead aggregators and national franchises | Leave it, or keep it on exact match with a small cap purely to learn the language buyers use |
| Service plus suburb, such as a named repair in Arvada | Two or three other local firms | Take it. One ad group, one landing page, the suburb named in the page heading |
| A specific fault, part or equipment brand | Almost nobody | The cheapest qualified traffic in the account, and the easiest copy to write honestly |
| Permit, code and inspection wording | Almost nobody | Answer it properly. Somebody asking about a permit has already decided to do the work |
The permit row is the one most Denver accounts leave untouched. Where the rules change between one suburb and the next, a contractor who explains which authority handles a job and what the inspection adds is answering the question the homeowner is stuck on.
Hail weeks, and the budget you have to be holding to use them
Hail is the largest single demand event on the Front Range, and for roofing, exteriors, gutters, auto glass and restoration a fortnight of it can carry a serious share of the year. Two things happen in the auction when a storm lands. Prices in those categories climb sharply, and crews from out of state that follow storm damage start advertising into the metro within days.
An evenly paced twelve month budget has nothing left to answer that with, so do not run one in these categories. Hold a reserve, name the person who raises the daily caps and switches the storm campaigns on, and write the landing page before the season: how the insurance claim works, what the wait is, and which authority you will pull the permit from. That last line is where a licensed local firm beats a crew that arrived on Tuesday, and it belongs in the ad copy as much as on the page.
Two line items that belong in a Denver scope and usually are not
The first is reporting at jurisdiction level rather than metro level, because that is the only way to see which suburbs pay for themselves. The second is a named owner for storm week pacing, with standing authority to raise caps without waiting for a meeting. Registration and permit rules are set locally and do get revised, so confirm your own list with each authority before the campaign map is drawn on it.
On the fee, the lower band of $950 to $1,500 a month buys one platform, weekly negative keyword work, call tracking configured properly and a report you can read. Paying $1,600 to $2,600 should add the jurisdiction reporting above, landing page testing, and somebody senior enough to tell you which campaigns to switch off. Until media passes about $15,000 a month, take the flat number: the work at that size does not grow with the budget, so a share of spend charges you more for the same month.
The fee model itself, who owns the ad accounts and how to structure a paid trial are a separate decision from the account build, and our page on hiring a digital ad agency in Denver works through those line by line.
PPC in Denver: the jurisdiction and hail season questions
Fee plus media, what does a Denver account come to in total?
Add the two lines. A tight local campaign lands near $3,500 a month all in, at $950 to $1,500 of management over about $2,500 of media. A trades or legal account is more like $6,000 to $10,000 all in, because the media half has to be bigger before the auction returns anything useful. Judge any proposal on the total, since a low fee attached to a media budget that cannot work is the more expensive of the two.
My licence covers three cities. Do I bid on the rest of the metro?
No. Bid the three, plus any unincorporated county land you can work in, and leave the rest out until the registrations exist. Build the target list from your licences first and the radius second, because a thirty mile circle around downtown crosses more than a dozen separate permitting authorities and charges you for every one of them.
Which Denver keywords can a smaller budget actually take?
Service plus suburb, a specific fault or part, a named equipment brand, and permit wording. The bare category terms go to aggregators who can resell one enquiry several times, and matching them there empties a small budget fastest.
When in the year should a roofer be holding budget back?
Through the warm months, when hail is possible. Keep a reserve rather than spending evenly, because those weeks carry a large share of annual demand and the auction gets more expensive and more crowded within days of a storm. Agree in advance who raises the caps and how fast.
The unincorporated county pockets: separate campaign, or separate ad group?
A separate ad group is the minimum, and a separate campaign once the volume justifies the budget split. People in unincorporated Adams, Arapahoe, Jefferson and Douglas county land describe where they live differently from people in the incorporated suburbs, and since almost every advertiser buys city names instead, that wording stays cheap.
The one place your licence list is an asset rather than a limit
Everything above treats your licence area as a constraint, something to subtract from a map. There is one route to a Denver buyer where it works the other way. Somebody in Broomfield or Castle Rock asks ChatGPT, Gemini, Perplexity or Claude for a licensed contractor who can take on a job in their city, and gets a few names with a reason attached to each. No bid put any of them there. The model has no permit database to consult, so it uses what firms have written down about themselves, and the ones named for a jurisdiction are those whose own pages say which cities they are registered in, which authorities they permit through, and what they have built there. Most keep that in a filing cabinet and nowhere a model can read it, which is a cheaper gap to close than a month of clicks. AI Knows Us puts those questions to the major assistants and reports which businesses each one names, with the pages the answer was built from: https://www.aiknowsus.com