{"_meta":{"site":"ES Studios","site_url":"https://localseo.ericscottstudios.com","generated_at":"2026-05-05T10:48:21.067Z","api_index":"https://localseo.ericscottstudios.com/api/blog"},"slug":"facebook-marketing-for-roofers","title":"Facebook Marketing for Roofers: 7 Steps That Get Real Leads","excerpt":"Facebook marketing for roofers works when you get the targeting right. Covers audience setup, creative specs, A/B testing, and 3 mistakes that waste ad spend.","date":"2026-05-05","category":"Strategy","read_time":"10 min read","word_count":3071,"url":"https://localseo.ericscottstudios.com/blog/facebook-marketing-for-roofers","canonical_url":"https://localseo.ericscottstudios.com/blog/facebook-marketing-for-roofers","author":{"name":"ES Studios","url":"https://localseo.ericscottstudios.com","email":"editorial@ericscottstudios.com"},"keywords":["facebook marketing for roofers","facebook ads for roofing companies","roofing facebook ad targeting","facebook advertising for contractors","facebook lead generation for roofers","roofing social media advertising"],"hero_image":{"url":"https://images.pexels.com/photos/1181396/pexels-photo-1181396.jpeg?auto=compress&cs=tinysrgb&h=650&w=940","alt":"roofing contractor reviewing facebook ad campaign on a laptop","credit":"fauxels via Pexels"},"schema":{"@context":"https://schema.org","@type":"Article","@id":"https://localseo.ericscottstudios.com/blog/facebook-marketing-for-roofers#article","headline":"Facebook Marketing for Roofers: 7 Steps That Get Real Leads","description":"Facebook marketing for roofers works when you get the targeting right. Covers audience setup, creative specs, A/B testing, and 3 mistakes that waste ad spend.","datePublished":"2026-05-05","dateModified":"2026-05-05","url":"https://localseo.ericscottstudios.com/blog/facebook-marketing-for-roofers","wordCount":3071,"inLanguage":"en-US","author":{"@type":"Organization","name":"ES Studios","url":"https://localseo.ericscottstudios.com"},"publisher":{"@type":"Organization","name":"ES Studios","url":"https://localseo.ericscottstudios.com"},"keywords":"facebook marketing for roofers, facebook ads for roofing companies, roofing facebook ad targeting, facebook advertising for contractors, facebook lead generation for roofers, roofing social media advertising"},"content_html":"\n<p>Facebook marketing for roofers comes down to seven decisions. Get them right and the cost per lead holds up against your average job value. Get them wrong and you are paying Facebook to show your ad to renters in the wrong zip code.</p>\n\n<p>This guide covers the full setup: how to target homeowners after Facebook removed direct homeowner targeting, how to build a retargeting stack that converts, what creative specs to follow, how to A/B test before scaling, what ROAS actually means for a roofing company, and the three mistakes that quietly drain most Facebook budgets before anyone notices.</p>\n\n<nav>\n<h2>In this guide</h2>\n<ul>\n  <li><a href=\"#why-facebook-works-differently\">Why Facebook ads work differently for roofers</a></li>\n  <li><a href=\"#step-1-audience\">Step 1: Set up your audience the right way</a></li>\n  <li><a href=\"#step-2-retargeting\">Step 2: Layer in retargeting</a></li>\n  <li><a href=\"#step-3-budget\">Step 3: Set a realistic budget</a></li>\n  <li><a href=\"#step-4-creative\">Step 4: Get the creative right</a></li>\n  <li><a href=\"#step-5-ab-testing\">Step 5: A/B test before you scale</a></li>\n  <li><a href=\"#step-6-metrics\">Step 6: Know what to measure</a></li>\n  <li><a href=\"#step-7-timing\">Step 7: Time ads to seasonal and storm triggers</a></li>\n  <li><a href=\"#mistakes\">The 3 most common mistakes roofers make with Facebook ads</a></li>\n  <li><a href=\"#when-not-to-use\">When Facebook ads are not the right starting point</a></li>\n  <li><a href=\"#faq\">Frequently asked questions</a></li>\n</ul>\n</nav>\n\n<h2 id=\"why-facebook-works-differently\">Why Facebook Ads Work Differently for Roofers</h2>\n\n<p>Most contractors who tried Facebook ads and gave up ran a boosted post for six weeks, saw nothing come back, and concluded the channel does not work. That is a reasonable conclusion from a poorly configured campaign. Facebook can work for roofing - but the setup is less obvious than it looks.</p>\n\n<p>Three things make roofing different from most industries on Facebook:</p>\n\n<ul>\n  <li><strong>Jobs are high-value and infrequent.</strong> A homeowner replaces their roof every 15-20 years. The window between \"I have a problem\" and \"I need someone now\" is short and usually triggered by an event - a storm, an inspection, visible damage. Facebook ads need to catch that moment, not build vague brand familiarity over years.</li>\n  <li><strong>You cannot directly target homeowners anymore.</strong> Facebook removed homeowner as a direct targeting option in 2019 following a fair housing settlement. Roofers who have not updated their setup are now targeting nobody in particular and paying full price for the privilege.</li>\n  <li><strong>Intent is lower than Google.</strong> Someone clicking a Facebook ad was not searching for a roofer. They were scrolling through photos of their neighbor's vacation and your ad appeared. That lower-intent touchpoint changes the conversion timeline and the creative approach entirely.</li>\n</ul>\n\n<p>None of this makes Facebook a poor channel. It makes it a channel that rewards specific setup - not boosted posts and a \"let's see what happens\" attitude.</p>\n\n<h2 id=\"step-1-audience\">Step 1: Set Up Your Audience the Right Way</h2>\n\n<p>Since direct homeowner targeting is gone, building a proxy audience by layering signals is how you approximate the right people. The combination that consistently produces reasonable lead quality:</p>\n\n<ul>\n  <li><strong>Age 30-65.</strong> The core property-owning demographic. Below 30, you are largely reaching renters.</li>\n  <li><strong>Specific radius, not a metro label.</strong> A 15-mile radius from your base covers the properties you actually work on. \"Los Angeles\" as a targeting area covers 13 million people. That is not targeting.</li>\n  <li><strong>Layered interest signals:</strong> Home improvement, home repair, home insurance, HGTV, home renovation. None of these individually signal homeownership with certainty, but three or four layered together filter toward people actively thinking about property maintenance.</li>\n  <li><strong>Mid-to-upper income brackets.</strong> A roof replacement is not a small purchase. Targeting lower income brackets inflates your audience count and your CPL simultaneously.</li>\n  <li><strong>Likely to move.</strong> Counterintuitive, but people preparing a property for sale often need to address deferred maintenance first - including the roof. This behavior signal is worth layering in.</li>\n</ul>\n\n<p>The standard Facebook ad agency playbook for contractors goes roughly like this: set up an ad targeting \"anyone interested in home improvement within 25 miles,\" boost a post, collect the retainer, send a report about impressions. The leads, somehow, end up elsewhere. Layering your audience signals is what separates a campaign that generates calls from one that generates a weekly PDF about reach.</p>\n\n<h2 id=\"step-2-retargeting\">Step 2: Layer in Retargeting</h2>\n\n<figure>\n  <img src=\"https://images.pexels.com/photos/590022/pexels-photo-590022.jpeg?auto=compress&cs=tinysrgb&w=900\" alt=\"contractor reviewing facebook ad campaign analytics on a laptop\" loading=\"lazy\" />\n  <figcaption><em>Photo: Lukas via Pexels</em></figcaption>\n</figure>\n\n<p>The highest-converting Facebook audiences are not cold audiences. They are people who have already had contact with your business - visited your website, watched more than half of a video you posted, interacted with your Facebook page. Setting up custom audiences from these groups and running specific ads to them costs less per lead and converts more reliably than cold targeting alone.</p>\n\n<p>Three retargeting audiences worth building immediately:</p>\n\n<p><strong>Website visitors (last 30 days).</strong> Anyone who landed on your site already knows you exist. An ad with a customer testimonial or a before/after job photo nudges them toward calling. This audience is often small - that is fine, because it is also cheap to reach.</p>\n\n<p><strong>Video viewers (50%+ completion).</strong> If you are posting job footage on Facebook, people who watched past the halfway point have shown real interest. These are warmer than almost any cold audience you can build. Run a direct response ad to this group with a specific offer: free inspection, free estimate, seasonal check-up.</p>\n\n<p><strong>Lookalike audience from your customer list.</strong> Upload your existing customer email list to Facebook Ads Manager. Facebook builds a lookalike audience - people who share the demographic profile of your existing customers. This is one of the higher-quality cold options available because you are telling the algorithm to find more people like the ones who already hired you.</p>\n\n<p>For how Facebook fits into a broader marketing picture alongside SEO and other channels, see our guide to <a href=\"/blog/digital-marketing-for-contractors\">digital marketing for contractors</a>.</p>\n\n<h2 id=\"step-3-budget\">Step 3: Set a Realistic Budget</h2>\n\n<p>Facebook ads run on an auction model. You are bidding against every other advertiser targeting the same audience in your service area - national restoration companies, lead-gen aggregators, and other local roofers. In competitive California markets, that pushes costs up.</p>\n\n<p>A reasonable starting range is $500-$1,500/month. Below $500, the algorithm does not accumulate enough conversion data to learn from before the budget runs out. Above $1,500 without tested creative and targeting, you are spending more to generate more impressions from the wrong audience.</p>\n\n<p>One detail that kills performance consistently: raising the budget too fast. Facebook's algorithm needs a \"learning phase\" - roughly 50 conversion events per ad set - before it optimizes delivery. If you increase your daily budget by more than 20-30% at once, the learning phase resets. Scale up by 15-20% at a time once you have data, not in jumps.</p>\n\n<blockquote>\n  <p>Industry data puts typical paid digital cost per lead for home services at $150-$400 in competitive markets. At a $10,000-$15,000 average roofing job value, the math can still hold up - but only when the targeting is correct.</p>\n</blockquote>\n\n<p>For a direct comparison with paid search, our breakdown of <a href=\"/blog/google-ads-for-plumbers\">how Google Ads work for home service businesses</a> covers the cost structure side by side.</p>\n\n<h2 id=\"step-4-creative\">Step 4: Get the Creative Right</h2>\n\n<p>Two creative formats consistently move click-through rates for roofing Facebook campaigns:</p>\n\n<p><strong>Before-and-after photos of real jobs.</strong> Your crew in the frame, visible transformation, real materials. Not a stock photo of a smiling family standing on a lawn in front of a house. (The internet has seen that specific stock photo approximately 40,000 times. It carries about the same persuasive weight as a furniture assembly diagram.) A photo taken on an iPhone of your team completing an actual job will outperform any stock image in an A/B test. Meta's own data supports this, and every roofer who has tested it finds the same result.</p>\n\n<p><strong>Short video walkthroughs (30-60 seconds).</strong> A crew member walking through a completed job - showing the condition before, the work, and the finished result - outperforms static images for most roofing campaigns. Video content also creates the video viewer retargeting audience from Step 2, which compounds value over time as the audience grows.</p>\n\n<p>Technical specs for Facebook feed ads:</p>\n\n<table>\n  <thead>\n    <tr>\n      <th>Element</th>\n      <th>Recommended spec</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <td>Image format (square, preferred)</td>\n      <td>1080x1080 px</td>\n    </tr>\n    <tr>\n      <td>Image format (landscape link ads)</td>\n      <td>1200x628 px</td>\n    </tr>\n    <tr>\n      <td>Primary text (visible before \"see more\")</td>\n      <td>125 characters</td>\n    </tr>\n    <tr>\n      <td>Headline</td>\n      <td>40 characters</td>\n    </tr>\n    <tr>\n      <td>Text over image</td>\n      <td>Under 20% of image area</td>\n    </tr>\n    <tr>\n      <td>Call-to-action button</td>\n      <td>\"Get Quote,\" \"Learn More,\" or \"Contact Us\"</td>\n    </tr>\n  </tbody>\n</table>\n\n<p>One rule Meta enforces algorithmically: if text covers more than 20% of your image, Facebook reduces ad delivery. Keep the image clean and put the copy in the text fields. Full technical spec reference is in <a href=\"https://www.facebook.com/business/help/469767027114079\" target=\"_blank\" rel=\"noopener nofollow\">Meta's official ad image requirements guide</a>.</p>\n\n<figure>\n  <img src=\"https://images.pexels.com/photos/6419128/pexels-photo-6419128.jpeg?auto=compress&cs=tinysrgb&w=900\" alt=\"roofing contractor completing a real job - the type of before-and-after photo that outperforms stock images in facebook ads\" loading=\"lazy\" />\n  <figcaption><em>Photo: Anıl Karakaya via Pexels</em></figcaption>\n</figure>\n\n<h2 id=\"step-5-ab-testing\">Step 5: A/B Test Before You Scale</h2>\n\n<p>Before increasing budget, run controlled tests with two versions of the same ad - same targeting, one variable changed. Change one thing at a time or the results tell you nothing useful.</p>\n\n<p>Useful tests for roofing campaigns:</p>\n\n<ul>\n  <li>Before/after photo vs. video walkthrough - which format drives lower CPL in your specific market</li>\n  <li>\"Free roof inspection\" headline vs. \"Trusted by [N] homeowners in [City]\" - direct offer vs. social proof framing</li>\n  <li>Cold interest-based audience vs. website retargeting audience - compare cost-per-lead directly</li>\n  <li>Ad going to homepage vs. ad going to a dedicated landing page - this one almost always has an obvious result</li>\n</ul>\n\n<p>Run each test for at least seven days and at least 1,000 impressions before drawing conclusions. Smaller samples produce variance that looks like meaningful data until you scale and discover it was not.</p>\n\n<h2 id=\"step-6-metrics\">Step 6: Know What to Measure</h2>\n\n<p>Two numbers matter for roofing Facebook campaigns:</p>\n\n<p><strong>Cost-per-lead (CPL).</strong> Total spend divided by total leads generated in the period. Track it weekly. If CPL is climbing with no change in targeting or creative, it usually means audience fatigue - people in your retargeting pool have seen your ad enough times that the response rate is falling. Refresh the creative.</p>\n\n<p><strong>ROAS (Return on Ad Spend).</strong> Total revenue from jobs attributed to Facebook ads divided by total ad spend in the period. A $1,500/month Facebook campaign that produces two booked roof replacements at $11,000 each generates $22,000 in revenue - roughly a 14x ROAS. For roofing, where job values are high, a ROAS floor of 5-10x is a reasonable baseline to aim for before scaling spend.</p>\n\n<p>Both numbers live in Facebook Ads Manager. Track them there, not just through \"how did you hear about us\" in a call log. Self-reported attribution undercounts Facebook consistently.</p>\n\n<p><strong>One metric to stop checking: impressions.</strong> Impressions tell you how many times Facebook served your ad. They say nothing about whether anyone called.</p>\n\n<h2 id=\"step-7-timing\">Step 7: Time Ads to Seasonal and Storm Triggers</h2>\n\n<p>Roofing demand is not flat across the year, and Facebook spend should not be either. The pattern that works:</p>\n\n<ul>\n  <li><strong>Spring and early summer:</strong> Pre-season campaigns for inspections and planned replacements. This is the highest-volume window for booked work.</li>\n  <li><strong>Post-storm (within 24-48 hours):</strong> When a hailstorm or significant wind event hits your service area, activating a storm-specific campaign immediately is one of the highest-ROI moments in roofing marketing. These campaigns need to be pre-built in draft, not created from scratch after the storm has passed and every other roofer in a 60-mile radius is already running ads.</li>\n  <li><strong>Fall:</strong> Inspection-focused campaigns before winter, emphasizing catching problems before they become emergency repairs in February.</li>\n</ul>\n\n<p>The most effective structure: a low base spend year-round ($300-$500/month to maintain warm retargeting audiences), then spike during seasonal peaks and storm events. Running nothing between peaks and then doubling budget for one frantic month consistently underperforms steady presence with variable intensity.</p>\n\n<h2 id=\"mistakes\">The 3 Most Common Mistakes Roofers Make with Facebook Ads</h2>\n\n<p><strong>1. Targeting too broadly and calling it awareness.</strong> Setting a 30-mile radius, selecting \"home improvement interest,\" and sending the ad to whoever Facebook decides fits that description is not a targeting strategy. It is an expensive way to generate an impressive-looking reach number that produces no calls. Layer your signals as covered in Step 1. Broad targeting is a donation to Meta's quarterly earnings, not a marketing campaign.</p>\n\n<p><strong>2. Sending ad clicks to the homepage.</strong> A Facebook ad that drives to your homepage - rather than to a page built for one specific action - loses a significant share of potential leads between click and contact. The landing page your ad points to should have: one headline, your phone number, one short form, and evidence that other homeowners trusted you. A navigation menu with eight options is not what people who clicked a Facebook ad need to see.</p>\n\n<p><strong>3. Stopping campaigns during the learning phase.</strong> Facebook's algorithm needs roughly 50 conversion events per ad set before it optimizes delivery. For most roofing campaigns, that takes 4-6 weeks. Contractors who tried Facebook for two weeks, saw nothing, and stopped did not give the campaign enough time to move past guesswork into learned behavior. Budget for at least six continuous weeks before making a performance judgment.</p>\n\n<h2 id=\"when-not-to-use\">When Facebook Ads Are Not the Right Starting Point</h2>\n\n<p>We are an SEO agency. The fact that we just wrote a guide to Facebook ads probably seems like a strange combination - and the honest answer is that we wrote it because contractors who understand where Facebook fits in the overall picture waste less money on both channels. Facebook and organic search compete for the same monthly budget, and we would rather have that conversation directly than pretend the overlap does not exist.</p>\n\n<p>With that said: Facebook ads are probably not the right first move if:</p>\n\n<ul>\n  <li><strong>Your total marketing budget is under $800/month.</strong> At that level, Google Business Profile optimization and citation cleanup will produce better return. The organic foundation costs nothing to run once built. Facebook ads stop the day you stop paying.</li>\n  <li><strong>You do not have photos of your own work.</strong> Real job photography is the creative foundation for effective roofing Facebook ads. Stock images perform poorly. If that material does not exist yet, the creative quality will not hold up.</li>\n  <li><strong>You need leads in the next two weeks.</strong> Facebook campaigns take 4-6 weeks to learn. If you genuinely need the phone ringing this month, Local Services Ads are a faster lever. For the organic side of roofing lead generation, our <a href=\"/blog/residential-roofing-seo\">residential roofing SEO guide</a> covers the foundation that makes every paid channel work better.</li>\n  <li><strong>Your Google Business Profile is not optimized.</strong> Facebook ads will push some people to search your business name. If your GBP is incomplete, that traffic underperforms. Fix the free asset before paying for the paid one.</li>\n</ul>\n\n<p>Nine times out of ten, the contractors who get the most out of Facebook ads are the ones who already have a functioning organic presence and are using paid to supplement seasonal peaks and storm-event response. After 18-24 months of consistent local SEO work, the cost per call from organic search is typically 70-90% lower than anything paid. Facebook ads work well as a layer on top of that position. They are rarely a substitute for earning it.</p>\n\n<p>If you want to understand where your organic presence stands before adding paid spend on top, a <a href=\"/services/local-seo-audit\">local SEO audit</a> gives you the full picture - GBP setup, citation consistency, website signals, and a prioritized action list.</p>\n\n<h2 id=\"faq\">Frequently Asked Questions</h2>\n\n<h3>How much should a roofing company spend on Facebook ads each month?</h3>\n<p>$500-$1,500/month is a reasonable starting range for testing and learning. Below $500, the algorithm doesn't accumulate enough conversion data before the budget runs out. Scale by 15-20% at a time once performance data supports it. Run a low base budget year-round and spike during storm events and seasonal peaks.</p>\n\n<h3>Can roofers target homeowners directly on Facebook?</h3>\n<p>Not directly. Facebook removed homeowner as a targetable attribute in 2019 following a fair housing settlement. The workaround is layering demographic signals: age 30-65, home improvement and home insurance interest categories, mid-to-upper income brackets, and a specific location radius. The combination approximates a homeowner audience reasonably well when all signals are applied together.</p>\n\n<h3>What type of Facebook ads work best for roofing companies?</h3>\n<p>Before-and-after photos of real jobs and short video walkthroughs (30-60 seconds) consistently outperform stock images. The highest-converting audiences are retargeting audiences - website visitors and video viewers - rather than cold interest-based audiences. Real job photography is not optional for roofing Facebook ads. It is the difference between a campaign that works and one that doesn't.</p>\n\n<h3>What does ROAS mean for a roofing Facebook campaign?</h3>\n<p>ROAS is return on ad spend: total revenue from jobs attributed to your ads divided by total spend. Because roofing jobs carry high average values, a ROAS of 5-10x is a reasonable floor to aim for. A $1,500/month campaign that produces two booked replacements at $11,000 each generates a roughly 14x ROAS - a workable number if the pipeline stays consistent.</p>\n\n<h3>How long does it take for roofing Facebook ads to start working?</h3>\n<p>4-6 weeks before the algorithm has enough data to optimize. Most campaigns that \"didn't work\" were stopped during this learning phase. Budget for at least six weeks of uninterrupted spend before drawing a performance conclusion. Early CTR data will tell you whether the creative is landing before leads start arriving.</p>\n\n<h3>Should I run Facebook ads or Google ads for my roofing company?</h3>\n<p>Different tools for different moments. Google Ads reach people actively searching for a roofer right now - high intent, higher cost per click. Facebook ads reach people who fit your audience profile but are not actively searching - useful for storm-event response, seasonal awareness, and retargeting. Running both at different budget levels typically outperforms choosing one and ignoring the other entirely.</p>\n\n<h3>What image size should I use for a roofing Facebook ad?</h3>\n<p>1080x1080 pixels (square) is the current primary recommendation for feed ads. 1200x628 pixels works for landscape link ads. Keep text overlay under 20% of the image area - ads with more text receive reduced delivery from the algorithm. Primary text visible before the \"see more\" truncation: 125 characters. Write everything important within those 125 characters.</p>\n\n<h3>What is the most common mistake roofers make with Facebook ads?</h3>\n<p>Targeting too broadly. Selecting a 25-mile radius and a single interest category leaves the audience definition almost entirely to Facebook's algorithm, which has no incentive to show your ad specifically to homeowners who need a roof. Layer signals - age, specific interests, income, location radius - and build retargeting audiences from the website visitors and video viewers those cold ads produce over time.</p>\n\n<div class=\"not-prose mt-10 p-6 bg-orange-50 border border-orange-100 rounded-2xl\">\n  <h2 class=\"text-xl font-bold text-gray-900 mb-2\">Not sure if the issue is your ads or your overall setup?</h2>\n  <p class=\"text-gray-700 mb-4\">If your Facebook campaigns are running but cost-per-lead is not holding up against your average job value, the problem is usually targeting or creative - not the channel itself. A free audit looks at your full digital presence and tells you where the fix is. No cost, no pitch about what you should be spending more on.</p>\n  <div class=\"flex flex-col sm:flex-row gap-3 mt-4\">\n    <a href=\"https://audit.llp.rankoneseo.io\" class=\"inline-block bg-orange-500 hover:bg-orange-600 text-white font-semibold px-6 py-3 rounded-xl text-center\">Get a Free SEO Audit</a>\n    <a href=\"/blog/residential-roofing-seo\" class=\"inline-block bg-white border border-orange-300 hover:bg-orange-50 text-orange-600 font-semibold px-6 py-3 rounded-xl text-center\">Read the Roofing SEO Guide</a>\n  </div>\n</div>\n    ","content_text":"Facebook marketing for roofers comes down to seven decisions. Get them right and the cost per lead holds up against your average job value. Get them wrong and you are paying Facebook to show your ad to renters in the wrong zip code.\n\nThis guide covers the full setup: how to target homeowners after Facebook removed direct homeowner targeting, how to build a retargeting stack that converts, what creative specs to follow, how to A/B test before scaling, what ROAS actually means for a roofing company, and the three mistakes that quietly drain most Facebook budgets before anyone notices.\n\nIn this guide\n\n  Why Facebook ads work differently for roofers\n\n  Step 1: Set up your audience the right way\n\n  Step 2: Layer in retargeting\n\n  Step 3: Set a realistic budget\n\n  Step 4: Get the creative right\n\n  Step 5: A/B test before you scale\n\n  Step 6: Know what to measure\n\n  Step 7: Time ads to seasonal and storm triggers\n\n  The 3 most common mistakes roofers make with Facebook ads\n\n  When Facebook ads are not the right starting point\n\n  Frequently asked questions\n\nWhy Facebook Ads Work Differently for Roofers\n\nMost contractors who tried Facebook ads and gave up ran a boosted post for six weeks, saw nothing come back, and concluded the channel does not work. That is a reasonable conclusion from a poorly configured campaign. Facebook can work for roofing - but the setup is less obvious than it looks.\n\nThree things make roofing different from most industries on Facebook:\n\n  Jobs are high-value and infrequent. A homeowner replaces their roof every 15-20 years. The window between \"I have a problem\" and \"I need someone now\" is short and usually triggered by an event - a storm, an inspection, visible damage. Facebook ads need to catch that moment, not build vague brand familiarity over years.\n\n  You cannot directly target homeowners anymore. Facebook removed homeowner as a direct targeting option in 2019 following a fair housing settlement. Roofers who have not updated their setup are now targeting nobody in particular and paying full price for the privilege.\n\n  Intent is lower than Google. Someone clicking a Facebook ad was not searching for a roofer. They were scrolling through photos of their neighbor's vacation and your ad appeared. That lower-intent touchpoint changes the conversion timeline and the creative approach entirely.\n\nNone of this makes Facebook a poor channel. It makes it a channel that rewards specific setup - not boosted posts and a \"let's see what happens\" attitude.\n\nStep 1: Set Up Your Audience the Right Way\n\nSince direct homeowner targeting is gone, building a proxy audience by layering signals is how you approximate the right people. The combination that consistently produces reasonable lead quality:\n\n  Age 30-65. The core property-owning demographic. Below 30, you are largely reaching renters.\n\n  Specific radius, not a metro label. A 15-mile radius from your base covers the properties you actually work on. \"Los Angeles\" as a targeting area covers 13 million people. That is not targeting.\n\n  Layered interest signals: Home improvement, home repair, home insurance, HGTV, home renovation. None of these individually signal homeownership with certainty, but three or four layered together filter toward people actively thinking about property maintenance.\n\n  Mid-to-upper income brackets. A roof replacement is not a small purchase. Targeting lower income brackets inflates your audience count and your CPL simultaneously.\n\n  Likely to move. Counterintuitive, but people preparing a property for sale often need to address deferred maintenance first - including the roof. This behavior signal is worth layering in.\n\nThe standard Facebook ad agency playbook for contractors goes roughly like this: set up an ad targeting \"anyone interested in home improvement within 25 miles,\" boost a post, collect the retainer, send a report about impressions. The leads, somehow, end up elsewhere. Layering your audience signals is what separates a campaign that generates calls from one that generates a weekly PDF about reach.\n\nStep 2: Layer in Retargeting\n\n  \n  Photo: Lukas via Pexels\n\nThe highest-converting Facebook audiences are not cold audiences. They are people who have already had contact with your business - visited your website, watched more than half of a video you posted, interacted with your Facebook page. Setting up custom audiences from these groups and running specific ads to them costs less per lead and converts more reliably than cold targeting alone.\n\nThree retargeting audiences worth building immediately:\n\nWebsite visitors (last 30 days). Anyone who landed on your site already knows you exist. An ad with a customer testimonial or a before/after job photo nudges them toward calling. This audience is often small - that is fine, because it is also cheap to reach.\n\nVideo viewers (50%+ completion). If you are posting job footage on Facebook, people who watched past the halfway point have shown real interest. These are warmer than almost any cold audience you can build. Run a direct response ad to this group with a specific offer: free inspection, free estimate, seasonal check-up.\n\nLookalike audience from your customer list. Upload your existing customer email list to Facebook Ads Manager. Facebook builds a lookalike audience - people who share the demographic profile of your existing customers. This is one of the higher-quality cold options available because you are telling the algorithm to find more people like the ones who already hired you.\n\nFor how Facebook fits into a broader marketing picture alongside SEO and other channels, see our guide to digital marketing for contractors.\n\nStep 3: Set a Realistic Budget\n\nFacebook ads run on an auction model. You are bidding against every other advertiser targeting the same audience in your service area - national restoration companies, lead-gen aggregators, and other local roofers. In competitive California markets, that pushes costs up.\n\nA reasonable starting range is $500-$1,500/month. Below $500, the algorithm does not accumulate enough conversion data to learn from before the budget runs out. Above $1,500 without tested creative and targeting, you are spending more to generate more impressions from the wrong audience.\n\nOne detail that kills performance consistently: raising the budget too fast. Facebook's algorithm needs a \"learning phase\" - roughly 50 conversion events per ad set - before it optimizes delivery. If you increase your daily budget by more than 20-30% at once, the learning phase resets. Scale up by 15-20% at a time once you have data, not in jumps.\n\n  Industry data puts typical paid digital cost per lead for home services at $150-$400 in competitive markets. At a $10,000-$15,000 average roofing job value, the math can still hold up - but only when the targeting is correct.\n\nFor a direct comparison with paid search, our breakdown of how Google Ads work for home service businesses covers the cost structure side by side.\n\nStep 4: Get the Creative Right\n\nTwo creative formats consistently move click-through rates for roofing Facebook campaigns:\n\nBefore-and-after photos of real jobs. Your crew in the frame, visible transformation, real materials. Not a stock photo of a smiling family standing on a lawn in front of a house. (The internet has seen that specific stock photo approximately 40,000 times. It carries about the same persuasive weight as a furniture assembly diagram.) A photo taken on an iPhone of your team completing an actual job will outperform any stock image in an A/B test. Meta's own data supports this, and every roofer who has tested it finds the same result.\n\nShort video walkthroughs (30-60 seconds). A crew member walking through a completed job - showing the condition before, the work, and the finished result - outperforms static images for most roofing campaigns. Video content also creates the video viewer retargeting audience from Step 2, which compounds value over time as the audience grows.\n\nTechnical specs for Facebook feed ads:\n\n  \n    \n      Element\n      Recommended spec\n    \n  \n  \n    \n      Image format (square, preferred)\n      1080x1080 px\n    \n    \n      Image format (landscape link ads)\n      1200x628 px\n    \n    \n      Primary text (visible before \"see more\")\n      125 characters\n    \n    \n      Headline\n      40 characters\n    \n    \n      Text over image\n      Under 20% of image area\n    \n    \n      Call-to-action button\n      \"Get Quote,\" \"Learn More,\" or \"Contact Us\"\n    \n  \n\nOne rule Meta enforces algorithmically: if text covers more than 20% of your image, Facebook reduces ad delivery. Keep the image clean and put the copy in the text fields. Full technical spec reference is in Meta's official ad image requirements guide.\n\n  \n  Photo: Anıl Karakaya via Pexels\n\nStep 5: A/B Test Before You Scale\n\nBefore increasing budget, run controlled tests with two versions of the same ad - same targeting, one variable changed. Change one thing at a time or the results tell you nothing useful.\n\nUseful tests for roofing campaigns:\n\n  Before/after photo vs. video walkthrough - which format drives lower CPL in your specific market\n\n  \"Free roof inspection\" headline vs. \"Trusted by [N] homeowners in [City]\" - direct offer vs. social proof framing\n\n  Cold interest-based audience vs. website retargeting audience - compare cost-per-lead directly\n\n  Ad going to homepage vs. ad going to a dedicated landing page - this one almost always has an obvious result\n\nRun each test for at least seven days and at least 1,000 impressions before drawing conclusions. Smaller samples produce variance that looks like meaningful data until you scale and discover it was not.\n\nStep 6: Know What to Measure\n\nTwo numbers matter for roofing Facebook campaigns:\n\nCost-per-lead (CPL). Total spend divided by total leads generated in the period. Track it weekly. If CPL is climbing with no change in targeting or creative, it usually means audience fatigue - people in your retargeting pool have seen your ad enough times that the response rate is falling. Refresh the creative.\n\nROAS (Return on Ad Spend). Total revenue from jobs attributed to Facebook ads divided by total ad spend in the period. A $1,500/month Facebook campaign that produces two booked roof replacements at $11,000 each generates $22,000 in revenue - roughly a 14x ROAS. For roofing, where job values are high, a ROAS floor of 5-10x is a reasonable baseline to aim for before scaling spend.\n\nBoth numbers live in Facebook Ads Manager. Track them there, not just through \"how did you hear about us\" in a call log. Self-reported attribution undercounts Facebook consistently.\n\nOne metric to stop checking: impressions. Impressions tell you how many times Facebook served your ad. They say nothing about whether anyone called.\n\nStep 7: Time Ads to Seasonal and Storm Triggers\n\nRoofing demand is not flat across the year, and Facebook spend should not be either. The pattern that works:\n\n  Spring and early summer: Pre-season campaigns for inspections and planned replacements. This is the highest-volume window for booked work.\n\n  Post-storm (within 24-48 hours): When a hailstorm or significant wind event hits your service area, activating a storm-specific campaign immediately is one of the highest-ROI moments in roofing marketing. These campaigns need to be pre-built in draft, not created from scratch after the storm has passed and every other roofer in a 60-mile radius is already running ads.\n\n  Fall: Inspection-focused campaigns before winter, emphasizing catching problems before they become emergency repairs in February.\n\nThe most effective structure: a low base spend year-round ($300-$500/month to maintain warm retargeting audiences), then spike during seasonal peaks and storm events. Running nothing between peaks and then doubling budget for one frantic month consistently underperforms steady presence with variable intensity.\n\nThe 3 Most Common Mistakes Roofers Make with Facebook Ads\n\n1. Targeting too broadly and calling it awareness. Setting a 30-mile radius, selecting \"home improvement interest,\" and sending the ad to whoever Facebook decides fits that description is not a targeting strategy. It is an expensive way to generate an impressive-looking reach number that produces no calls. Layer your signals as covered in Step 1. Broad targeting is a donation to Meta's quarterly earnings, not a marketing campaign.\n\n2. Sending ad clicks to the homepage. A Facebook ad that drives to your homepage - rather than to a page built for one specific action - loses a significant share of potential leads between click and contact. The landing page your ad points to should have: one headline, your phone number, one short form, and evidence that other homeowners trusted you. A navigation menu with eight options is not what people who clicked a Facebook ad need to see.\n\n3. Stopping campaigns during the learning phase. Facebook's algorithm needs roughly 50 conversion events per ad set before it optimizes delivery. For most roofing campaigns, that takes 4-6 weeks. Contractors who tried Facebook for two weeks, saw nothing, and stopped did not give the campaign enough time to move past guesswork into learned behavior. Budget for at least six continuous weeks before making a performance judgment.\n\nWhen Facebook Ads Are Not the Right Starting Point\n\nWe are an SEO agency. The fact that we just wrote a guide to Facebook ads probably seems like a strange combination - and the honest answer is that we wrote it because contractors who understand where Facebook fits in the overall picture waste less money on both channels. Facebook and organic search compete for the same monthly budget, and we would rather have that conversation directly than pretend the overlap does not exist.\n\nWith that said: Facebook ads are probably not the right first move if:\n\n  Your total marketing budget is under $800/month. At that level, Google Business Profile optimization and citation cleanup will produce better return. The organic foundation costs nothing to run once built. Facebook ads stop the day you stop paying.\n\n  You do not have photos of your own work. Real job photography is the creative foundation for effective roofing Facebook ads. Stock images perform poorly. If that material does not exist yet, the creative quality will not hold up.\n\n  You need leads in the next two weeks. Facebook campaigns take 4-6 weeks to learn. If you genuinely need the phone ringing this month, Local Services Ads are a faster lever. For the organic side of roofing lead generation, our residential roofing SEO guide covers the foundation that makes every paid channel work better.\n\n  Your Google Business Profile is not optimized. Facebook ads will push some people to search your business name. If your GBP is incomplete, that traffic underperforms. Fix the free asset before paying for the paid one.\n\nNine times out of ten, the contractors who get the most out of Facebook ads are the ones who already have a functioning organic presence and are using paid to supplement seasonal peaks and storm-event response. After 18-24 months of consistent local SEO work, the cost per call from organic search is typically 70-90% lower than anything paid. Facebook ads work well as a layer on top of that position. They are rarely a substitute for earning it.\n\nIf you want to understand where your organic presence stands before adding paid spend on top, a local SEO audit gives you the full picture - GBP setup, citation consistency, website signals, and a prioritized action list.\n\nFrequently Asked Questions\n\nHow much should a roofing company spend on Facebook ads each month?\n\n$500-$1,500/month is a reasonable starting range for testing and learning. Below $500, the algorithm doesn't accumulate enough conversion data before the budget runs out. Scale by 15-20% at a time once performance data supports it. Run a low base budget year-round and spike during storm events and seasonal peaks.\n\nCan roofers target homeowners directly on Facebook?\n\nNot directly. Facebook removed homeowner as a targetable attribute in 2019 following a fair housing settlement. The workaround is layering demographic signals: age 30-65, home improvement and home insurance interest categories, mid-to-upper income brackets, and a specific location radius. The combination approximates a homeowner audience reasonably well when all signals are applied together.\n\nWhat type of Facebook ads work best for roofing companies?\n\nBefore-and-after photos of real jobs and short video walkthroughs (30-60 seconds) consistently outperform stock images. The highest-converting audiences are retargeting audiences - website visitors and video viewers - rather than cold interest-based audiences. Real job photography is not optional for roofing Facebook ads. It is the difference between a campaign that works and one that doesn't.\n\nWhat does ROAS mean for a roofing Facebook campaign?\n\nROAS is return on ad spend: total revenue from jobs attributed to your ads divided by total spend. Because roofing jobs carry high average values, a ROAS of 5-10x is a reasonable floor to aim for. A $1,500/month campaign that produces two booked replacements at $11,000 each generates a roughly 14x ROAS - a workable number if the pipeline stays consistent.\n\nHow long does it take for roofing Facebook ads to start working?\n\n4-6 weeks before the algorithm has enough data to optimize. Most campaigns that \"didn't work\" were stopped during this learning phase. Budget for at least six weeks of uninterrupted spend before drawing a performance conclusion. Early CTR data will tell you whether the creative is landing before leads start arriving.\n\nShould I run Facebook ads or Google ads for my roofing company?\n\nDifferent tools for different moments. Google Ads reach people actively searching for a roofer right now - high intent, higher cost per click. Facebook ads reach people who fit your audience profile but are not actively searching - useful for storm-event response, seasonal awareness, and retargeting. Running both at different budget levels typically outperforms choosing one and ignoring the other entirely.\n\nWhat image size should I use for a roofing Facebook ad?\n\n1080x1080 pixels (square) is the current primary recommendation for feed ads. 1200x628 pixels works for landscape link ads. Keep text overlay under 20% of the image area - ads with more text receive reduced delivery from the algorithm. Primary text visible before the \"see more\" truncation: 125 characters. Write everything important within those 125 characters.\n\nWhat is the most common mistake roofers make with Facebook ads?\n\nTargeting too broadly. Selecting a 25-mile radius and a single interest category leaves the audience definition almost entirely to Facebook's algorithm, which has no incentive to show your ad specifically to homeowners who need a roof. Layer signals - age, specific interests, income, location radius - and build retargeting audiences from the website visitors and video viewers those cold ads produce over time.\n\n  Not sure if the issue is your ads or your overall setup?\n\n  If your Facebook campaigns are running but cost-per-lead is not holding up against your average job value, the problem is usually targeting or creative - not the channel itself. A free audit looks at your full digital presence and tells you where the fix is. No cost, no pitch about what you should be spending more on.\n\n  \n    Get a Free SEO Audit\n    Read the Roofing SEO Guide","related_posts":[{"slug":"residential-roofing-seo","url":"https://localseo.ericscottstudios.com/blog/residential-roofing-seo","api_url":"https://localseo.ericscottstudios.com/api/blog/residential-roofing-seo"},{"slug":"digital-marketing-for-contractors","url":"https://localseo.ericscottstudios.com/blog/digital-marketing-for-contractors","api_url":"https://localseo.ericscottstudios.com/api/blog/digital-marketing-for-contractors"},{"slug":"google-ads-for-plumbers","url":"https://localseo.ericscottstudios.com/blog/google-ads-for-plumbers","api_url":"https://localseo.ericscottstudios.com/api/blog/google-ads-for-plumbers"}],"related_services":[{"slug":"local-seo-audit","url":"https://localseo.ericscottstudios.com/services/local-seo-audit"},{"slug":"gbp-domination","url":"https://localseo.ericscottstudios.com/services/gbp-domination"}]}