Sample layout. Not a real client.
Trade, city: the problem in one line
- Starting point
- Rank grid before any change
- What changed
- The one or two changes that moved it
- Result
- Rank grid after, and the change in calls
A leak click and a replacement click are worth different amounts and behave differently, so I run them as separate campaigns. I judge each by the calls and estimate requests it produces, and you see the search terms you paid for.
No long contracts. You talk to Simon.
Map pack: emergency roof leak repair El Cajon
A
B
C
Scientific SEO
With Google Ads, a roofing company pays to appear above the organic results for searches such as “roof leak repair near me” and “roof replacement,” and those two searches should almost never share a campaign. Rain, and the gap in value between a repair and a replacement, are what set roofing apart in Google Ads management.
The person searching has water coming in and will call the first credible result. So the ad says you repair leaks, names the area and shows a number they can tap, and the page behind it repeats that with nothing to read first.
These campaigns do their work in rain weeks. Most of the county’s rain falls in the cooler months, and I plan the budget around that: low or paused in a dry stretch, raised when storms are forecast. I also schedule the ads for the hours someone will pick up. If nobody answers after 6pm, the ads stop at 6pm.
The search terms change here (“roof replacement cost,” “tile roof underlayment replacement,” “new roof estimate”), because this homeowner is weeks from choosing and will collect several bids. The landing page has more to do: photos of finished roofs in nearby cities, what your estimate includes, how the job runs, your license number. The goal is an estimate request. One replacement is worth far more than one repair, so it can justify a higher cost per lead, but only when I can see which leads became signed jobs. That takes call tracking and your own record of which estimates closed. No budget comes with a promised number of calls, and the first weeks of data show the real cost per call in your cities.
Roofing keywords attract clicks from people who will never hire you, and I block those with negative keywords. The usual ones are people looking for roofing jobs, supply yards, do-it-yourself instructions and cities outside your area. I read the search terms report for your search ads, which lists what people typed before clicking, and add exclusions from it.
Location settings matter as well. I target people who are physically in your service area, because the broader setting can show ads to people elsewhere who only showed interest in San Diego.
Local Services Ads (LSA) are pay-per-lead listings that appear at the very top of the results for some trades. Availability depends on the trade and the area, and the list changes, so I check Google’s own sign-up for your category and zip codes before building a plan around them. If roofing is offered where you work, they are worth testing beside search ads with the same call counting. If it isn’t, search ads carry the paid side.
Ads cover the cities SEO hasn’t reached yet, and they stop the day the budget does.
A roofer often ranks well near the yard and poorly across the county. A company based in Santee might hold the map pack for leak repair in East County and be invisible in Chula Vista. Ads can cover Chula Vista in rain weeks while the roofing SEO work continues, and the rank grid shows when a city no longer needs them.
Every engagement starts and ends with the same measurement.
Sample layout. Not a real client.
It depends on the campaign. Leak repair ads do most of their work in rain weeks, and most of the county's rain falls in the cooler months, so they can be paused or cut back in long dry stretches and raised when storms are forecast. Replacement ads make sense in the dry months, when homeowners plan the work and crews can schedule it. I set separate budgets for the two so one doesn't drain the other.
They can be, and I won't quote a figure because it varies by search, city and week. Clicks tend to cost more in rain weeks, when many roofers raise their bids at once. Judge them by the cost per booked job. I report cost per call by campaign, and cost per job wherever you can tell me which calls turned into signed work.
Searches that mention tile, underlayment or another roof type can go in their own ad group, with an ad and a landing page that speak to that job. There are fewer of them than general roofing searches, but the searcher has told you what they have. A page with tile job photos from nearby cities fits that click better than a general page.
Not as a promise. An ad implying insurance will pay sets an expectation you don't control, and reads like a door-to-door pitch. Saying you inspect and document storm damage is fine. Coverage is between the homeowner and their insurer.
Before any ad spend, I measure where you already rank for repair and replacement in the cities you give me, so ads go only where they are needed.
Prefer to talk? Call (619) 675-7678, 9am to 6pm.