Roofing PPC Campaign Structure Explained
A complete breakdown of how to structure Google Ads campaigns for roofing companies, including campaign types, ad group organization, keyword strategy, and budget allocation by service line.
Roofing PPC Campaign Structure Explained
Most roofing companies running Google Ads have the same problem: everything lives in one campaign. Residential replacement keywords, emergency repair terms, commercial queries, and storm damage searches all crammed into a single campaign with a handful of ad groups. The budget gets eaten by whatever Google decides to prioritize that day, and there is no way to control which services get how much spend.
We manage PPC for roofing companies across the country, and campaign structure is the single most impactful change we make when onboarding a new account. A roofing company spending $6,000 a month in one bloated campaign will almost always outperform their previous results by simply reorganizing that same $6,000 into a proper multi-campaign structure. No new keywords, no new landing pages, just better organization.
This guide covers how to build a campaign structure that gives you control over every dollar, every service line, and every market you target.
Why Campaign Structure Matters More Than You Think
Google Ads is an auction system. Your campaign structure determines how you enter that auction. When everything sits in one campaign, you are telling Google to treat a $300 roof repair lead and a $15,000 roof replacement lead with the same bidding logic, the same daily budget, and the same performance targets. That makes zero business sense.
Here is what bad structure costs you:
| Problem | Impact |
|---|---|
| Single campaign for all services | Budget gets consumed by cheapest clicks, not best leads |
| Mixed match types in one ad group | Quality Score drops, CPCs increase 20-40% |
| No service-line segmentation | Cannot allocate budget to highest-margin work |
| Geographic targeting too broad | Clicks from outside service area waste 15-25% of spend |
| No separation of branded vs. non-branded | Branded clicks inflate conversion metrics, hiding true performance |
Proper structure solves every one of these problems. It gives you levers to pull. When you need more replacement leads, you increase that campaign's budget. When storm season hits, you activate a pre-built campaign in minutes. When a service line is underperforming, you pause or adjust without affecting everything else.
Recommended Campaign Types for Roofing Companies
Not every campaign type works the same way for roofers. Here is how we prioritize them.
Search Campaigns (Primary Spend: 50-60% of Budget)
Search campaigns are the backbone of any roofing PPC account. These target people actively typing roofing queries into Google. They have intent. They need a roofer. Your job is to show up with the right message.
We build separate Search campaigns for each major service line. More on that below.
Local Service Ads (15-20% of Budget)
LSAs operate on a pay-per-lead model rather than pay-per-click. For roofing companies with strong Google Business Profiles and solid reviews, LSAs deliver some of the cheapest leads in the account. They show above standard search ads, which means premium visibility.
The catch: you have less control. You cannot choose exact keywords or write custom ad copy. Google matches you based on your service categories and location. Still, the cost-per-lead often runs 30-50% lower than standard search campaigns, so they earn their budget allocation.
Display and Retargeting (10-15% of Budget)
Display prospecting is generally not worth running for roofers. Showing banner ads to random people browsing the internet hoping they need a roof is a terrible use of money. But retargeting, showing ads to people who already visited your site, is a different story.
A homeowner researching roof replacement visits 3-5 contractor websites before deciding. Retargeting keeps your name in front of them during that comparison phase. We run retargeting with a 30-day audience window and frequency cap of 3-5 impressions per day. The budget is small, but the influence on final decision-making is significant.
Performance Max (10-15% of Budget, With Caution)
Performance Max campaigns let Google show your ads across Search, Display, YouTube, Gmail, and Maps using automated targeting. For roofing, we use PMax cautiously and with strict guardrails. The main value is capturing additional Search inventory that standard campaigns miss, plus YouTube and Discovery placements.
The risk with PMax is that Google will happily spend your money on low-quality Display placements if you let it. We always run PMax alongside well-structured Search campaigns, not instead of them. Monitor your PMax placement reports weekly and exclude anything that looks like junk traffic.
Ad Group Organization by Service Line
This is where the real structure lives. Each service-line campaign gets broken into tightly themed ad groups.
Campaign 1: Residential Roof Replacement
This is usually your highest-value campaign. Average job values of $8,000-$25,000 justify aggressive CPCs.
Campaign: Residential Roof Replacement
├── Ad Group: Roof Replacement [City]
├── Ad Group: Roofing Contractor Near Me
├── Ad Group: New Roof Cost / Estimate
├── Ad Group: Shingle Roof Replacement
├── Ad Group: Metal Roof Installation
├── Ad Group: Tile Roof Replacement
└── Ad Group: Re-Roof [City]
Each ad group gets its own tailored ad copy and dedicated landing page (or at minimum, a landing page section specific to that material type). The "Metal Roof Installation" ad group should not send traffic to a generic roofing page. It should land on a page that talks about metal roofing specifically.
Campaign 2: Roof Repairs
Lower job values ($500-$3,000) but higher volume and lower CPCs. This campaign needs its own budget so it does not steal from replacement spend.
Campaign: Roof Repairs
├── Ad Group: Roof Repair Near Me
├── Ad Group: Roof Leak Repair
├── Ad Group: Shingle Repair / Missing Shingles
├── Ad Group: Roof Patch / Emergency Repair
├── Ad Group: Flashing Repair
└── Ad Group: Gutter Repair [if offered]
Campaign 3: Commercial Roofing
Only include this if you actively do commercial work. If not, "commercial" belongs on your negative keyword list.
Campaign: Commercial Roofing
├── Ad Group: Commercial Roof Repair
├── Ad Group: Commercial Roof Replacement
├── Ad Group: Flat Roof Contractor
├── Ad Group: TPO / EPDM Roofing
└── Ad Group: Commercial Roof Inspection
Commercial roofing keywords are expensive ($25-$55 CPC) but job values are $20,000-$100,000+. The math works if your close rate supports it.
Campaign 4: Storm Damage (Paused Until Needed)
Pre-built and paused. Activate within hours of a storm event.
Campaign: Storm Damage
├── Ad Group: Hail Damage Roof Repair
├── Ad Group: Wind Damage Roof
├── Ad Group: Storm Damage Inspection
├── Ad Group: Insurance Roof Claim
└── Ad Group: Emergency Roof Tarp
Campaign 5: Roof Inspections
Low-cost entry point. These leads require more nurturing but can fill your pipeline during slow periods.
Campaign: Roof Inspections
├── Ad Group: Free Roof Inspection
├── Ad Group: Roof Inspection Near Me
├── Ad Group: Pre-Sale Roof Inspection
└── Ad Group: Annual Roof Checkup
Not sure how to structure your roofing campaigns? We build and manage campaign structures like this every day. Get a free account audit and structure recommendation.
Keyword Match Type Strategy
Match types determine how broadly Google interprets your keywords. Getting this wrong is one of the fastest ways to burn budget.
Exact Match for High-Value, Proven Keywords
Use exact match ([roof replacement dallas]) for your top-performing, highest-CPC keywords. This gives you maximum control over when your ad shows. Every keyword that costs $25+ per click should start in exact match until you have conversion data proving it works.
Phrase Match for Discovery
Use phrase match ("roof repair near me") for mid-tier keywords where you want some reach but still need relevance control. Phrase match lets Google show your ad for close variations and related queries, which helps you discover new converting search terms without going wide open.
Broad Match: Only With Smart Bidding and Strong Negatives
Broad match has gotten better with Google's AI matching, but it still requires guardrails. We only run broad match keywords in campaigns using Target CPA or Target ROAS bidding, and only after the campaign has at least 30 conversions of historical data for the algorithm to learn from. Without that data, broad match will find creative ways to spend your money on irrelevant searches.
Match Type Budget Allocation
| Match Type | Budget Share | Purpose |
|---|---|---|
| Exact Match | 50-60% | Core converting terms, maximum control |
| Phrase Match | 25-35% | Controlled discovery, moderate reach |
| Broad Match | 10-20% | AI-driven expansion (only with smart bidding) |
Negative Keyword Lists
Negative keywords are just as important as the keywords you bid on. For roofing accounts, we build shared negative keyword lists applied across all campaigns.
Essential Roofing Negatives
DIY and Informational:
- how to, DIY, tutorial, guide, video, instructions, yourself, own, self
Employment:
- jobs, hiring, salary, apprentice, career, training, certification, license requirements
Materials Only (if you are a contractor, not a supplier):
- buy shingles, shingle prices, roofing materials store, wholesale, supplier
Wrong Service Type:
- commercial (if residential only), residential (if commercial only), mobile home, RV, car roof, sunroof
Irrelevant Modifiers:
- free (unless running free inspection campaigns), cheap, cheapest, discount, coupon, low cost, affordable
We typically start a new roofing account with 80-120 negative keywords on day one, then add 10-20 more per week during the first month based on search term report reviews.
Budget Allocation Across Campaigns
How you split your budget matters as much as total spend. Here is our recommended allocation for a roofing company spending $8,000 per month:
| Campaign | Budget Allocation | Monthly Spend | Rationale |
|---|---|---|---|
| Residential Replacement (Search) | 35% | $2,800 | Highest job value, best ROI |
| Roof Repairs (Search) | 20% | $1,600 | Volume driver, consistent leads |
| Local Service Ads | 15% | $1,200 | Low CPL, high visibility |
| Commercial Roofing (Search) | 10% | $800 | High value if you do commercial |
| Retargeting (Display) | 10% | $800 | Supports all other campaigns |
| Performance Max | 10% | $800 | Incremental reach |
| Storm Reserve | Held back | Variable | Released during weather events |
Adjust these percentages based on your business mix. A company that does 80% replacement work should weight that campaign heavier. A company in a storm-prone market should hold a larger storm reserve. The point is that every campaign has its own budget and its own performance target.
Geo-Targeting Setup
Roofing is hyper-local. Your geo-targeting should reflect your actual service area, not an aspirational one.
Radius targeting works best for most roofers. Set a 15-25 mile radius from your shop or office. If you have multiple locations, create location-specific campaigns or ad groups for each service area to keep ad copy relevant.
Zip code targeting is more precise for markets where your service area is not a clean circle. Maybe you serve the north side of a metro but not the south. Zip code lists let you include and exclude with precision.
Critical setting: In your campaign location options, select "Presence: People in or regularly in your targeted locations." The default setting, "Presence or interest," will show your ads to people searching about your city from anywhere in the country. A homeowner in Miami googling "roofing contractors in Denver" because they own rental property is probably not your ideal lead.
Bidding Strategy by Campaign Type
Every campaign type warrants a different bidding approach.
| Campaign Type | Recommended Bidding | When to Use |
|---|---|---|
| Search (New Campaign) | Manual CPC or Maximize Clicks with cap | First 30 days to gather data |
| Search (Established) | Target CPA or Maximize Conversions | After 30+ conversions per month |
| Local Service Ads | Maximize Leads (default, no choice) | Always |
| Retargeting | Manual CPC | Keep costs controlled, low daily spend |
| Performance Max | Maximize Conversions with Target CPA | Only after baseline data exists |
| Storm Damage | Manual CPC with aggressive bids | During activation windows |
The biggest mistake we see is launching a new campaign on Target CPA before it has any conversion history. Google needs data to optimize. Give it 2-4 weeks of manual bidding to establish a cost-per-conversion baseline, then switch to automated bidding with that number as your target.
Common Structural Mistakes
Running Everything in One Campaign
We have covered this, but it bears repeating because it is the most common problem we see. One campaign means one budget, one bidding strategy, and no ability to prioritize high-value services. Split your campaigns by service line. Period.
Too Many Keywords Per Ad Group
If an ad group has 30 keywords, your ad copy cannot possibly be relevant to all of them. Keep ad groups tight: 5-15 closely related keywords per group. The tighter the theme, the better your Quality Score, which directly reduces your CPC.
Ignoring Search Term Reports
Every week, review what people actually searched before clicking your ad. The search terms report reveals irrelevant queries you need to add as negatives and new keyword opportunities you should add as positives. We find 10-15 new negatives per week in the first month of any roofing account.
No Conversion Tracking
This is not a structural mistake per se, but it makes structure irrelevant. If you are not tracking phone calls, form submissions, and booked appointments as conversions, you have no data to optimize against. Every campaign, every ad group, every keyword should be measured by leads generated, not clicks received.
Setting and Forgetting
Campaign structure is not a one-time setup. Markets shift, competitors enter and leave, seasonality changes search behavior. Review your structure monthly. Are campaigns hitting their budget caps too early? Is one ad group consuming an entire campaign's budget? Are new keyword themes emerging that deserve their own ad group? Structure should evolve as your data grows.
Putting It All Together
A properly structured roofing PPC account looks like a well-organized toolbox. Every tool has its place, every dollar has a job, and you can find exactly what you need without digging through a mess.
Start with the five core campaigns: residential replacement, repairs, commercial (if applicable), storm damage (paused), and inspections. Layer in LSAs, retargeting, and Performance Max as supporting campaigns. Build tight ad groups within each campaign. Set match types deliberately. Load your negative keyword lists before you spend a dollar. Assign budgets based on business priorities, not Google's recommendations.
The difference between a $150 cost-per-lead account and a $50 cost-per-lead account usually is not better keywords or better ad copy. It is better structure.
Ready to rebuild your roofing campaign structure? We will audit your current Google Ads account, identify every structural issue costing you money, and build a campaign framework designed for your specific service mix and market. Request your free roofing PPC audit today.
Book a Strategy Session
Avg. CPA Cut
Speed-to-Lead
Retention
Clients