Hail season turns the auction into a stampede for everyone at once
Your competition for a click is not steady, it arrives in waves that you can see coming on radar.
After a significant event, national storm restoration companies open accounts targeting the affected counties within a day. They bid without much regard for margin because they are buying volume for a crew that will move on. Costs go up for everyone.
You cannot outspend that and you should not try. What you can do is decide in advance what you will do when it happens. Some roofers pull back to brand and repair terms and let the flood pass. Others push hard on the first day and stop by the end of the week. Both are defensible. Drifting into it without a plan is not.
Build the storm response as a separate campaign that lives paused. Its own budget, its own ad copy, its own geography drawn to the affected counties. Turning it on takes a minute when you already know what it says.
The advantage a local company has here is permanence, so say so in the ad. A physical yard, a phone number that will still work in three years, and a warranty from a company that is not leaving. That is a real differentiator and it costs nothing to state.
Split the budget by county before you split it by keyword
A radius drawn around your office spends money in places your crews will not profitably reach.
Dallas and Fort Worth are separate markets with an hour of freeway between them, sitting inside a metro that spans Dallas, Tarrant, Collin, Denton, Rockwall and Ellis counties. A single campaign covering all of it hands budget allocation to the algorithm, which does not know your drive times.
Use city and county targeting rather than a mileage radius. A radius crosses boundaries that matter to your dispatcher and ignores the ones that matter to your margin.
Give each real service area its own campaign or at least its own budget line. A lead in Grapevine and a lead in Oak Cliff cost different amounts to serve, and blending them hides which one is actually paying.
Set location targeting to people in your targeted locations rather than people interested in them. Otherwise you will pay for someone in Houston reading about Dallas roofers, which happens more than you would expect.
Insurance language belongs nowhere near your keyword list or your ad copy
Texas regulates what a roofing contractor may say to a homeowner about a claim, which makes some of the most tempting keywords the ones to exclude.
Queries about adjusters, claim denials, public adjusters and how to get insurance to pay look attractive because the intent seems high. They are the wrong traffic. The searcher wants help with a claim, and helping with a claim is generally not something a roofing contractor should be offering.
Add them as negatives and keep the ad copy focused on inspection, repair and replacement of the roof itself. Where a homeowner has a claim in progress, the right answer in every channel is that they should speak with their own insurer.
The rest of the negative list is more ordinary and just as important. Careers, jobs, hiring, salary, DIY, how to, free, cheap, courses, and the entire adjacent trades vocabulary of gutters, siding and solar unless you actually sell those.
Run the search terms report weekly during any storm period and monthly otherwise. Broad match behaves worst exactly when spend is highest. Anything touching claims language is worth a legal review before it goes live.
Free inspection is the most common offer in North Texas and the least believed
Every roofer in the Metroplex offers a free inspection, so the offer carries no information.
After a storm, a homeowner has already had three people knock on the door offering the same thing. Repeating it in an ad puts you in the same category as the knockers.
Better offers are specific and slightly inconvenient to fake. A written report with photographs, emailed the same day, whether or not you recommend work. A named person who will do the inspection. A statement that you will tell them if the roof has years left in it.
Split the campaigns by job type because the offer has to change. A repair searcher wants a date and a rough number. A replacement searcher wants credentials, financing and a sense of what the process is. A commercial or property management searcher wants to know you have done a building like theirs.
Local Services Ads occupy the space above search results in most of these markets, so decide deliberately whether you are in that auction. If you are, it changes what your search ads are worth.
Spend should follow the storm cell, and the storm cell ignores your monthly budget
Flat monthly pacing is the wrong shape for a business whose demand arrives in bursts.
A roofing account that spends the same amount every day is underspending during the two weeks that matter and overspending during the ten that do not.
Agree in advance on a reserve. Some portion of the annual budget sits unspent, waiting. When an event hits your counties, it goes to work within hours. Without that agreement you will be having a budget conversation while the auction is already running.
Pace against crew capacity too. Buying replacement demand you cannot schedule for six weeks produces cancellations and a worse close rate, and it feeds your competitor because the homeowner keeps calling people while they wait.
Dayparting matters less than most guides claim, with one exception. If nobody answers the phone at seven in the evening, either stop bidding then or fix the answering. Paying for a call that rings out is the most expensive thing in the account.
Trace every signed roof back to the search term that bought it
Cost per lead will make a bad account look good, because roofing leads vary in value by an order of magnitude.
A form fill from someone wanting a shingle replaced and a form fill from someone wanting a repair quote are not the same asset, and neither is comparable to a small commercial inquiry. Averaging them produces a number that cannot guide a single decision.
Push offline conversions back into the ad platform. When a job is signed, the contract value and the source should return to the campaign that produced it. Doing that changes what the bidding optimizes for, which is the whole point.
Track calls at the keyword level and listen to a sample. Roofing accounts here often turn out to be buying a lot of price shoppers on one term and every good job on another, and the report showing cost per lead will make them look similar.
Report by county as well as by campaign. It is common for one county to carry the whole account while another quietly consumes budget, and the metro is big enough that the difference is worth thousands.
Questions we actually get
- What should a Dallas roofing company expect to spend on paid search?
- It depends entirely on how many counties you target and whether you are bidding during storm periods, and any agency quoting you a number before seeing your service map is making it up. The more useful framing is capacity based. Decide how many replacement jobs a month you want paid search to contribute, then work backward from your close rate and average job value.
- Should I run ads during hail season or stay out of it?
- Both are legitimate strategies and the right one depends on your crew capacity and your appetite for a crowded auction. What does not work is having no decision. Build a storm campaign that sits paused with its own budget and geography so that turning it on is a choice you make in minutes rather than a scramble.
- Are Local Services Ads worth it for roofing here?
- They sit above the standard search results, so they change the value of everything below them whether you participate or not. Worth testing separately from search with its own budget, and worth watching closely, because the lead quality and the dispute process differ meaningfully from a normal search campaign.
- Why not just target a fifty mile radius around the office?
- Because it will cross into markets you do not serve well. Fort Worth is roughly an hour from Dallas and is a separate market with its own competitors. City and county targeting matched to where your crews actually go costs the same to set up and stops you buying inquiries you will decline.
- What negative keywords matter most for roofing in this market?
- Anything touching insurance claims, adjusters or claim payouts, for compliance reasons as much as performance ones. Then the usual set of jobs, careers, salary, DIY and training terms, plus adjacent trades you do not sell. Review the search terms report weekly while spend is high, since that is when broad matching wanders furthest.