Ad Guides · Roofing × Facebook
Facebook ads for roofing companies
The offers, the angles, the two most-run sentences in the trade that are prohibited advertising in several states, and why the financing ad costs a roofer the storm plan — for a roofing company, on Facebook, checked against the statutes themselves.
Every other guide on this site is ultimately about Meta's rules. This one is not, and that is the single most important thing to know before spending anything. The two sentences roofing advertising runs more than any others — some version of "we'll cover your deductible" and some version of "we'll handle your insurance claim" — are prohibited conduct for a contractor in a growing list of states, and the statutes name advertising specifically rather than only the underlying act. Texas makes the first a Class B misdemeanour and separately forbids a contractor to advertise to adjust claims on property they are working on. Minnesota bans both and gives the homeowner and the insurer a right to sue. Meta will approve either without comment, because Meta is not the regulator here. Ad approval tells you nothing about whether the ad is lawful where it ran.
This page is the version with the statutes open. What follows is what a local roofing company should actually buy on Facebook: which of the six objectives, which offers are worth advertising and which argument wins each one, which targeting levers survive and which single offer takes away the one lever storm response depends on, whether a click should become a phone call, a form or a page, and the budget arithmetic that decides whether an account is ever ready for the week it exists for. Every platform claim is footnoted at the bottom and dated, and every legal claim is cited to the section rather than to a vendor blog post.
The mechanical constraint is the same one the HVAC guide found and it costs this trade more. A roof sold on a fixed monthly payment is a credit advertisement, so that campaign must declare Meta's financial products and services special ad category — which removes location exclusion, removes lookalike and saved audiences, fixes age at 18–65+, imposes a 15 mile / 25 kilometre minimum radius, and removes ZIP codes as a location type altogether. For a heating contractor that costs a drive time. For a roofer it costs the plan, because hail falls in a swath a few miles wide and a mile off it there is no damage at all. Naming the postcodes the hail crossed is not a refinement of storm advertising, it is storm advertising, and the financed campaign cannot do it.
The ads shown below are real output rather than mockups drawn for the argument. Seven of them are pulled from the ten on the roofing Facebook examples page, published exactly as they were generated, for contractors that do not exist. Every price is invented — $340 for a same-night tarp, $585 a square for a tear-off, a £118.39 monthly payment — and should be read as a placeholder marking where a real number goes. So should six of the proof figures. One of those ten ads is the reason this page opens the way it does: briefed neutrally, it attacked deductible waiving by name and then walked straight into the statutory prohibition nobody in the trade has heard of, in a description line four words long.
Two things this page is not. It is not legal advice, and this is the one guide in the set where that sentence is doing real work rather than covering a base: state contractor and insurance law is the binding constraint on roofing advertising, it varies by state, it changes, and the correct next step for anything in the insurance section is your own counsel and your state's department of insurance rather than a page on a software company's website. And it is not a benchmark report. There are no cost-per-lead figures here. The arithmetic that matters is in the budget section and you do it with your own numbers.
Generate Facebook ads for your roofing company
Paste your site and best-in-slot reads it the way the invented contractors above were read — services, service area, positioning — then writes the concepts, renders the images and drafts the copy. Free to start, no card.
What you are actually buying by choosing Facebook
Start with who lives under a failing roof, because for this trade that nearly settles the platform on its own — and the deciding row is one no other page in this cluster leans on. An asphalt roof reaches the end of its life at around twenty years, and the household most likely to be living under a twenty-year-old roof is the household that has been in the house twenty years. Pew's November 2025 survey puts Facebook at 74% of 50- to 64-year-olds and 57% of over-65s, against Instagram's 40% and 19%. On the band that actually owns the roofs that fail, Facebook has roughly three times Instagram's reach, and the gap widens the older the roof gets. The 30–49 row still matters — 80% against 62% — but it is the 65+ row that makes this an easy platform decision rather than a close one.
Now the thing this trade has that none of the others do, and it is not a platform feature. Your real competitor is not another advertiser in the auction. It is a person standing on the homeowner's porch seventy-two hours after the hail, with a clipboard, an out-of-state plate and an offer to handle everything. No bid wins against a doorbell, and no amount of budget puts you in the driveway first. So a large part of what Facebook is buying in roofing is memory: being the company the household has already heard of when somebody unfamiliar knocks. That is a genuine Awareness case argued from an adversary rather than from a season, and it is why the letter-from-the-owner ad in the set below is bought as Awareness and judged on whether the calls that arrive later mention the permit.
Third, the surfaces, and the emergency one is worth more here than the reporting suggests. Facebook has nine image placements against Instagram's four — Feed, in-stream video, video feeds, Marketplace, Stories, ads on Reels, search results, Business Explore and the right-hand column. Call ads are mobile-only and deliver on Facebook Feed, Marketplace, Reels and Video feed as well as the two Instagram surfaces, so four of the six places that can ring a dispatch line are Facebook inventory and two have no Instagram equivalent. The reporting separates calls placed from 20-second calls and 60-second calls, and for emergency tarping the 60-second number is the only one that behaves like a job. Note the difference from heating work: an HVAC emergency call comes in during the day from a house that is 96°F, and a roofing one comes in at six in the evening from somebody looking at bare deck with rain forecast overnight. Staff the hours you advertise or do not advertise them.
Fourth, shape, and this batch produced the clearest evidence in the cluster on it. Meta's ads guide recommends 4:5 at 1440 × 1800 for Facebook Feed and that is where most of the budget delivers, but 1.91:1 routes to the right-hand column and search results, which have no Instagram position at all. Buy the wide slot for a drawing rather than a photograph: a diagram has nothing in its top and bottom margins to lose in a wide crop. The batch on the examples page re-framed all ten exports off a square draft, and exactly one came back padded — the founder's letter, a 1.91:1 photograph of a desk, with about sixty-five rows of flat cream top and bottom. That is the fourth occurrence of the defect in this cluster and all four have been photographs. But the same run re-framed a photograph square to 9:16, the most aggressive crop in the corpus, and it came back full-bleed. So the rule is not "photographs crop badly" — it is that when it happens it happens to a photograph, and a drawing has never been the casualty.
Fifth, Meta does have one standard aimed squarely at this category, and it constrains the moment you most want to advertise into. The advertising standard on commercial exploitation of crises and controversial events says ads "must not contain content that exploits crises or controversial events for commercial purposes", defines those as events "that are the subject of significant public attention", names natural disasters as an example, and prohibits both promoting content related to a crisis for commercial benefit and offering crisis-related products for sale. Roofing's entire demand curve is a natural disaster. The policy does not draw the line for you, so draw it yourself: a tarp, a phone number and an arrival window is a service offered to people who have been through a storm; a named hurricane, a news photograph and a countdown is advertising the storm. That distinction runs through the creative and through the ad set — a campaign whose targeting is built on a named disaster is making the argument the policy is about, whatever the picture shows.
Finally, what Facebook is not for in this trade, because it explains why the Instagram case here is a different business rather than the same ads reformatted. Roofing's native visual is the before-and-after, and the honest problem with it is that every finished asphalt roof looks like every other finished asphalt roof — the "after" proves nothing a drone shot of a competitor's work would not also prove. The version that carries real information is the one where the "before" is the bare deck with the rotten sheathing cut out, and that is a documentation argument rather than a beauty one. It reads as craft on a visual platform and as evidence on this one. This page is about the claim, the tear-off, the spec and the financed replacement. The photogenic half of the trade is a different argument.
Which objective to buy
Ads Manager offers six objectives — Awareness, Traffic, Engagement, Leads, App promotion and Sales — and a roofing company has a real use for three. Sales is a no, as it is on the dentist and real-estate pages, but roofing states the case more plainly than either: there is no class pack, no maintenance plan, no shirt, and nothing at all a homeowner buys without somebody climbing a ladder first. The batch on the examples page split five Leads, four Traffic and one Awareness, with no Sales ad in it at all. That was not an oversight in the brief — a split with a Sales line in it would be describing a different business.
Leads is the default and takes most of the budget, because every transaction in the trade starts with an inspection. Traffic is a strong second and unusually strong for a local service, because half of what a roofer sells is a specification the homeowner has never heard of: a nailing pattern, a layover, an ice-and-water membrane, the difference between a manufacturer's system warranty and a contractor's promise. Asking for the appointment before explaining any of that is asking too early, and the click is cheaper than the lead.
Awareness is the interesting one, and the argument for it here is not the one the other local trades make. A heating contractor buys Awareness because demand is event-triggered and being remembered in January is the product; a dental practice buys it because the decision is deferred for years. A roofer buys it because a competitor will physically be at the door within three days of the hail and the only defence is having been heard of first. Same objective, an adversary rather than a delay, and it changes what the creative should be: not an offer, but a reason to distrust the offer somebody else is about to make in person.
- LeadsDefault
Where most of the budget goes — inspections, claim work, tear-off quotes, emergency tarping. The destination choice matters more here than the objective does, and for this trade it is three-way rather than two-way. See the destination section.
- TrafficSometimes
For everything a homeowner cannot name. Nailing patterns, ice-and-water membrane, ventilation, layover against tear-off — four of the ten ads on the examples page are Traffic buys, and all four teach a specification before asking for anything. Put the form at the bottom of that page and retarget the readers.
- AwarenessSometimes
A real recommendation here, and the reason is the door-knocker rather than the season. Spend it on the shop — the permit, the payroll crew, the address that will still exist in five years — and judge it on whether the calls that arrive after a storm mention any of that, not on the week's lead count.
- EngagementRarely
It optimises for the cheapest available reaction, and after a storm the cheapest reaction in a local feed is an argument about somebody's claim, in public, under your ad. Its one honest use is building a video-viewer pool to retarget, and Traffic usually builds a better one.
- SalesNo
No checkout exists in this trade, and roofing states that more absolutely than the other pages that say no to this objective. A dental practice can still sell a whitening kit and an agent can still sell a report; the cheapest thing on this list is a $340 tarp and it still needs a truck, a ladder and a person on the roof. An online deposit is not a sale, it is a lead with a card attached, and pinning Sales teaches delivery to look for people who will pay before anybody has seen the roof.
- App promotionNo
A roof is bought roughly twice in a lifetime. There is no app, and if there is, paying a stranger's install cost to deliver a booking screen for a purchase they make every twenty years is the most expensive lead in this guide.
What to advertise, and the argument that wins it
This is where a roofing account is won or lost, and the losing version is easy to describe because almost everybody runs it: one free-inspection ad, pointed at everybody, all year. That ad is competing with every other roofer's identical ad and with a man on the porch, it says nothing, and it collects the cheapest possible lead — somebody who wanted a free thing. The offers below span a $340 tarp and a five-figure replacement, and the person whose deck is open tonight is not weighing the same question as the person holding three quotes that all say twenty-five years.
Each row pins four decisions: who the offer is actually for, which angle family argues it best — every one is a page in the angle library — which objective buys it, and, where the examples page has one, a finished ad showing the whole thing assembled. Twelve rows is not a campaign plan. Pick two or three that match what your crews are short of this month and let the weather pick the rest.
Two notes on the table before you use it. First, Identity and Emotion is on this page, which it is not on the HVAC guide, and the difference is a rule rather than a preference. The HVAC batch briefed a $249 damper and its emotional angle still rendered "Stop tiptoeing down that hallway to check on her" — second person, telling the reader a fact about their own household, which is what Meta's personal attributes policy prohibits. The roofing batch kept the same family and the same sub-angle and moved one variable: it framed the audience by something they did rather than something they are, people who bought a 1970s house last April. The result has no people in the frame and copy that is emotional without asserting anything — "You bought the house. You didn't buy the anxiety that comes with every weather alert." Define the audience by a decision rather than a demographic and the angle stops reaching for the attribute.
Second, the family that is not represented by an ad on the examples page is the trade's most obvious one, and that is deliberate. Before and after sits under Proof and Trust, and it is what roofing advertising is mostly made of. The honest problem is that every finished asphalt roof looks like every other finished asphalt roof, so a slider between a tired roof and a new one proves nothing that a stock photograph would not also prove. The version with information in it puts the bare deck in the middle — rot cut out, sheathing numbered, photographed before anything went back over it. That is the tear-off row below, and it is a documentation argument wearing a before-and-after's clothes.
Emergency tarping and dry-in
Leads- Who it is for.
- Someone who found shingles in the garden after a gust front, can see bare boards from the pavement, and has a second band of rain due overnight.
- Angle.
- Benefit & Outcome — Speed is the entire product and every competitor claims it, which is exactly why claiming it differentiates nobody. Publish something falsifiable instead: a call time, a covered time, a flat price. The ad on the examples page says called at 6:07, ballast on the roof at 8:47, and burns 20:47 into the corner of the photograph — a timestamp can be wrong and a slogan cannot, which is what makes one of them worth reading. Route this to a phone call, not a form.
Example adCovered in 2 hrs 40 min.See the brief →Post-storm inspection at a flat fee
Traffic- Who it is for.
- Households whose street was hailed on a summer or two ago, who saw no water come through a ceiling and have assumed ever since that they were one of the lucky ones.
- Angle.
- Problem & Pain — Hail bruises a shingle without leaking it — the granules wash off for years and the roof is spent long before a stain appears. Cost of Inaction is the only family that can carry a problem the reader cannot see and does not believe in, and pairing it with a flat-fee inspection makes it the cheapest first transaction in a category whose usual opening ask is five figures. Name the storm date and let the reader do the arithmetic rather than inventing a statistic about it.
Example adThe Damage Kept Going After the StormSee the brief →Replacement through the homeowner's own claim
Leads- Who it is for.
- People sitting on an approved claim they do not understand — a claim number, a first cheque, and three different explanations from three contractors.
- Angle.
- Objection & Risk Reversal — The trade's biggest offer and the one where the wording is a legal question rather than a creative one. Price Objection is right because the objection is genuinely about a number, and the honest answer is that the number is already printed on the reader's declarations page. Read the creative section before writing a word of this one: the compliant description of the service is document, meet, invoice — never negotiate, never interpret — and the ad on the examples page is there because it got that wrong in four words.
Example adYou Owe One Number. We'll Show You.See the brief →Full tear-off against a layover
Traffic- Who it is for.
- Homeowners holding two quotes four thousand dollars apart, being told the cheap one is the same roof for less money.
- Angle.
- Comparison & Positioning — The one decision in this trade where the cheapest option is genuinely the worst, and the disciplined version of the argument is about information rather than quality: a layover cannot inspect what it covers, so the rot stays, undocumented, and the eventual repair strips two layers instead of one. That is much harder to rebut than calling the other quote dishonest, and it does not require you to know anything about the other crew.
Example adA Layover Nails Over the RotSee the brief →Replacement on a fixed monthly payment
Leads- Who it is for.
- Households whose roof is failing from age rather than from a storm, so there is no claim to make — a five-figure quote they did not budget for and an offer of monthly payments with no rate written anywhere on it.
- Angle.
- Offer & Economics — The offer that costs you the storm plan, and the reason the targeting section exists. It is also the one where the compliant ad and the strong ad are the same ad: the category quotes a monthly payment with nothing attached, so printing the rate, the term and the total repayable is simultaneously what Regulation Z asks for and the only real differentiator available. Run it in its own declared campaign.
Example adThe APR Is Printed. Read It.See the brief →Manufacturer system warranty and certified installation
Leads- Who it is for.
- Homeowners with three proposals on the kitchen table that all say twenty-five years, two of them from companies younger than the warranty they are offering.
- Angle.
- Proof & Trust — Third-Party Validation is the strongest family available in a trade where every proposal promises the same term and nothing distinguishes them from the reader's side. The wedge is one question — who signed it — and the answer is structural: a manufacturer-issued system warranty exists because the crew installed the manufacturer's full specified system, and a contractor-issued one is worth whatever the contractor is worth in year six. Only run this if you actually hold the certification; it is the one ad on the page whose whole argument collapses if the claim is aspirational.
Example adWhich Warranty Has a Manufacturer Behind It?See the brief →The nailing pattern and the wind warranty
Traffic- Who it is for.
- People who had the house re-roofed five or six years ago, lost a patch of shingles on an ordinary gusty night, and were told by the original crew that the wind was exceptional.
- Angle.
- Product & Mechanism — Craftsmanship is a family most trades can only use as adjectives. Here it is a specification: six nails per shingle seated in the manufacturer's printed nailing strip rather than driven above it, because the four-nail pattern above the line is what voids the wind warranty. It is checkable by the homeowner, it explains something they have already lived through, and it reframes that loss as an installation failure rather than bad weather — which is usually true and commercially devastating to whoever did the first roof.
Example adSix Nails. Each in the Strip.See the brief →The last warm week of the sealing season
Leads- Who it is for.
- Homeowners who decided months ago that the roof needs doing, have a quote they have not signed, and are drifting toward the new year.
- Angle.
- Scarcity, FOMO & Timing — Seasonal Deadline is usually the most dishonest family in advertising and this is the version where the scarcity is physics. Asphalt shingles seal by solar heat softening the adhesive strip; laid cold they may not bond until spring, and sometimes not at all. So the deadline is a property of the material rather than a promotion ending, which means it survives being checked with any other roofer — and it lets the ad push hard on timing without inventing a discount.
Example ad14 Warm Days. Then It's Spring.See the brief →Ice-and-water membrane at the eaves and valleys
Traffic- Who it is for.
- People who bought an older house last spring, have not seen it through a winter, and have been told three different things about the brown patch on the bedroom ceiling.
- Angle.
- Identity & Emotion — A good test of whether an ad can sell something nobody ever sees, since the membrane lives under the shingles. The answer is to never show the product: show the ice dam and the warm bedroom, and put the material in one line of footer type. This is also the row that proves the identity rule above — frame the audience by a decision they made and the copy stays on what the reader did and owns rather than on what they are.
Example adSleep Through the Storm SeasonSee the brief →Why we are four thousand dollars more than the door-knocker
Awareness- Who it is for.
- Households with a storm-chaser's quote in their hand, thousands cheaper, and no way to tell whether the gap is efficiency or something they find out about later.
- Angle.
- Story & Founder POV — The ad this category most needs and least often runs, because running it requires actually being the expensive contractor. It works by refusing every cheap move: do not call the other quote a scam, itemise what the gap buys — a pulled permit and a county inspection, crews on payroll with workers' compensation, a warranty from a business that will still be at the same address in year four. This is what the Awareness budget is for.
Example adWhat's Not in That Cheap QuoteSee the brief →Ridge and intake ventilation
Traffic- Who it is for.
- Households on their second roof in fifteen years who were never told why the first one did not last.
- Angle.
- Product & Mechanism — The most under-advertised offer in the trade and the one that explains a failure the homeowner has already paid for: a roof cooked from underneath by a sealed attic fails early no matter what was nailed to it. How It Works is the family, and it sells best attached to a replacement quote rather than alone — the ad teaches, the estimate converts. There is no example for this in the batch below yet.
No example ad for this offer on the examples page yet.
Pre-sale roof certification
Leads- Who it is for.
- People listing a house this spring, and the agents who keep meeting the same objection three days before closing.
- Angle.
- Proof & Trust — A different buyer with a different deadline, and almost nobody advertises to them. A written roof certification with a remaining-life estimate turns the roof from a negotiating lever into a settled question, and the audience is reachable in a way the rest of this list is not — people who have just listed, and the agents around them. Keep the copy about the document and the timescale; the moment it drifts into what a buyer's lender will accept you are describing somebody else's underwriting.
No example ad for this offer on the examples page yet.
Targeting: the postcode is the plan, and one offer takes it away
Start from the declaration, because it is compulsory and because getting it wrong is the most expensive mistake available in this account. Since 31 March 2020 every campaign created through Meta's Marketing API must specify a special ad category — including from businesses that offer none of housing, employment or credit, whose answer is simply NONE. Meta accepts four values and roofing is not one of them. So for an inspection, a tarp call-out, a tear-off quote or a certification, a roofing contractor keeps every lever: age, a radius smaller than fifteen miles, ZIP codes, lookalikes, saved audiences, exclusions, the lot. The radius floor in ordinary use is 0.63 miles, or 1 kilometre.
Now the lever this trade lives on, which no other guide in this cluster has had to write about. Hail falls in a swath. It is a few miles wide, it has an edge you can drive across, and a mile off it there is no damage at all — which means the useful targeting object after a storm is not a radius around your depot, it is a list of postcodes the hail actually crossed. Storm reports give you that list within a day. Nothing else in local advertising is this precise or this perishable, and it is the entire reason a roofing account can outperform its budget: you are not advertising to a city, you are advertising to a stripe across it.
Which sets up the sentence this page turns on. The category attaches to what an ad offers, not to what a company sells — Meta's own scope is ads that "offer housing, employment, or credit opportunities" — so a roofing company is not in a category and a roofing advertisement can be. Advertise a replacement on a fixed monthly payment and that campaign is a financial products and services campaign, required for US advertisers since January 2025 (the reference page gives 14 January in its banner and 21 January in its milestones and disagrees with itself; treat it as live). The API value is FINANCIAL_PRODUCTS_SERVICES. CREDIT was replaced on that date and any runbook still naming it has not been touched in over a year.
What the category costs, in full, because the trade press does not print it. Location exclusion is unsupported. ZIP codes, neighbourhoods, sub-city, sub-neighbourhood, metro area, small geographic area and electoral district are all unsupported as location types. The radius floor becomes 15 miles or 25 kilometres in the US and Canada, 15 kilometres in Europe. Age fixes to 18–65+ and gender goes to all. Lookalike and saved audiences are removed, and detailed targeting loses behaviour and demographic targeting, interest exclusion and detailed-targeting exclusion, with surviving interests limited to a previously approved list. Read the second item on that list against the paragraph before it: the financed campaign cannot name the swath. For a housing advertiser that restriction is an inconvenience, for a heating contractor it is a drive time, and for a roofer it deletes the strategy.
Two things survive and both are underused. Custom Audiences survive in full — inclusion, exclusion and expansion — as do Advantage+ Audience and Detailed Targeting Expansion, and a list can be checked for eligibility ahead of a campaign with the is_eligible_for_sac_campaigns flag rather than discovered at launch. That makes your own data the only precision instrument left inside a declared campaign, and in roofing the valuable list is not the customer list. A roof is bought twice in a lifetime, so past customers are mostly an exclusion and a referral audience. The asset worth maintaining is everyone you inspected and did not sign: they have a roof you have personally been on, a written finding, and a decision they have already started making. Most roofing companies have that list in a folder and have never uploaded it.
The practical resolution is the structural sibling of the ones this cluster found elsewhere — real estate qualifies on a property event rather than a person, apparel on the garment rather than the body, HVAC splits the campaign rather than the message. Roofing splits it harder, because the two halves cannot share a targeting strategy at all. Financing runs in its own declared campaign at a wide radius and accepts that it is buying a county. Storm work, inspections, tear-offs and certifications stay in ordinary campaigns where the ZIP list still works. What you must never do is let a finance line drift into the storm campaign — one sentence about monthly payments recategorises the campaign it sits in, and the postcodes go with it.
One more thing before the table, because it fails as a hard error rather than as poor delivery. A business admin has to accept Meta's non-discrimination policy in Business Settings before a housing, employment or financial campaign will deliver at all: the API returns error 2859024, "Certification Required". Its neighbour 2909035 comes back for a custom age range, a saved audience, a lookalike, or a radius under the floor. If a financing campaign will not launch, read those two codes before touching the creative.
- Special ad categoryDepends on the ad
- Not the business — the ad. Roofing is not one of Meta's four categories and most campaigns declare NONE. Any creative promoting a monthly payment, a finance offer or a credit approval is a financial products and services ad and must declare it. The field is required on every campaign either way.
- ZIP / postcode targetingUse it — and it is the whole plan
- The swath is the audience. Storm reports give you the postcodes hail crossed within a day, and a mile outside that stripe there is nothing to sell. This is the most valuable lever in the account and it is the one the financial category removes outright, along with neighbourhood, sub-city, metro area and small geo area. Never run storm creative inside a declared campaign.
- RadiusUse it — until financing
- Think drive time and crew logistics, not miles. The ordinary floor is 0.63 miles or 1 kilometre, far tighter than anyone sets; under the financial category the floor is 15 miles or 25 kilometres in the US and Canada. That gap is the price of the financing offer and the reason it belongs in its own campaign.
- Location exclusionUse it — unsupported when financed
- A roofing service area has holes in it: a county you are not licensed in, a historic district with a permit process you decline, an HOA territory that will not accept the shingle you sell. Subtract those on every ordinary campaign, and accept that a financed campaign cannot subtract anything.
- AgeUse it, then lose it
- Roof age tracks tenure, and tenure tracks age of occupant more reliably in this trade than in any other here — the 50–64 and 65+ bands are where twenty-year-old roofs are. Band to the offer. Under the financial category age fixes to 18–65+ with no say in it. And note age is on the personal attributes list: targeting a band is fine, telling the reader their age in the copy is not.
- Custom Audiences — unsigned quotesUse it — the best list you have
- Not the customer list. Everyone you inspected and did not sign is a household with a roof you have been on, a written finding and a decision in progress. Upload it, run the tear-off and warranty arguments at it, and exclude it from the free-inspection ads. Custom Audiences survive the financial category, which makes this the only precision left inside a financed campaign.
- Lookalikes and saved audiencesCareful
- Available and useful on ordinary campaigns, removed entirely under the financial category. Build a lookalike off the signed-job list rather than off page engagers, and do not assume a saved audience carries into a financed campaign — it does not, and 2909035 is how you find out.
- Detailed targeting (interests and behaviours)Rarely
- Inside a storm swath the geography is already the targeting, and layering interests leaves the audience too thin to leave the learning phase. Homeowner-status segments are the obvious temptation here; check what is actually in the picker today rather than trusting a guide, because Meta has retired options in this area more than once. Under the financial category behaviour and demographic targeting go away entirely.
- ExclusionsUse it
- Exclude anyone whose roof you replaced in the last decade from everything — they are not buying another one and the ad reads as a company that does not know who its customers are. Exclude signed jobs from the storm campaign the day they sign, because an ad about the storm you are currently working on their house for is the worst impression in this account.
- Ad scheduling (dayparting)Lifetime budget only
- Only settable on an ad set with a lifetime budget, and it takes exact hour boundaries at least an hour apart. Worth it for the emergency tarp line, whose demand is evening and overnight. Remember the schedule runs in the audience's local time zone while Ads Manager reports in the account's — advertise into a neighbouring zone and delivery outside your hours is the reporting, not a fault.
Call, form, or page?
Three real answers, and unusually the split is not by price — it is by how much of the offer is a legal question.
Emergency tarping is a phone call and it is not close. Somebody looking at bare deck with rain forecast in four hours does not want a form and a form does not want them. Run call ads: mobile-only, delivering on Facebook Feed, Marketplace, Reels and Video feed as well as the Instagram surfaces, and reported in a way nothing else on this platform is — calls placed, 20-second calls and 60-second calls, separately. Optimise and judge on the 60-second number. And daypart it to the hours somebody actually answers, which needs a lifetime budget, because the demand here is evening and overnight and an emergency ad that reaches voicemail at eight at night is the most expensive thing in this guide.
Inspections, tear-off quotes and certifications suit an Instant Form, and the type matters. Meta gives you two: "More volume" is built to be filled and submitted in one thumb movement from pre-filled profile data, and "Higher intent" adds a review step. The pre-filled version is what makes the first one cheap and what makes it useless in this trade — a free-inspection lead who never looked at what they submitted does not remember you when you ring back, and after a storm you are ringing back into a queue of people who have been called by six companies. Use Higher intent, add two or three qualifying questions — age of roof, own or rent, storm date if there was one — and accept the volume drop. Lead ads can also open a conversation on Messenger or WhatsApp, and the "Instant forms and Messenger" conversion location runs one campaign and lets delivery choose per person, which is worth testing if your office already books by message.
Anything touching an insurance claim gets a landing page, and this is the one place in the cluster where the destination choice is a compliance decision rather than a conversion one. The claim offer needs room to explain a deductible correctly, and — this is the part people miss — a landing page is advertising too. The statutes that make "we'll handle your claim" prohibited do not stop at the ad unit; a page that says it is making the same representation with more words. So the page carries the same four-word discipline as the ad: document, meet, invoice, never negotiate. Financing also gets a page, as an obligation rather than a preference: the ad's whole promise is that the rate, term and total survive the click, and a landing page that reverts to "as low as" language undoes the ad and the disclosure it was carrying. Never the homepage — somebody who tapped an ad about a nailing pattern and lands on a rotating hero of a drone shot has been asked to start over.
The recommendation: Call ads for tarping, dayparted to the hours you answer and judged on 60-second calls; Instant Form on "Higher intent" for inspections, quotes and certifications; a landing page for anything carrying a claim, a rate or a specification — and the claim page is written to the same statutory standard as the ad, because it is advertising too. Never the homepage.
Creative direction
Lead with the two sentences, because they are the reason this section is different from every other one on this site. The first is the deductible. In Texas, Bus. & Com. Code § 27.02(c) makes it an offence — a Class B misdemeanour — for a seller expecting payment from property insurance proceeds to advertise or promise to pay, waive, absorb, rebate or credit the insured's deductible, and § 27.02(b) requires any such contract of $1,000 or more to carry a 12-point boldface notice beginning "Texas law requires a person insured under a property insurance policy to pay any deductible applicable to a claim made under the policy." Minnesota gets there differently: § 325E.66 subd. 1(a)(1) bars a residential contractor from advertising or promising to pay any part of an applicable deductible as an inducement, subd. 1(c) includes residential roofers in the definition, and subd. 2 gives both the insured and the insurer an action for damages. The prohibition is not only on doing it. The verb in both statutes is advertise.
The second sentence is the one almost nobody treats as a legal question, and it appears in more roofing ads than the first. Tex. Ins. Code § 4102.163(a): "A contractor may not act as a public adjuster or advertise to adjust claims for any property for which the contractor is providing or may provide contracting services, regardless of whether the contractor: (1) holds a license under this chapter; or (2) is authorized to act on behalf of the insured under a power of attorney or other agreement." The Texas Department of Insurance puts it plainly for advertisers: offering to negotiate a claim settlement or to file a claim for the policyholder is prohibited conduct for the contractor doing the work. Minnesota's § 325E.66 subd. 1(a)(3) bars that same contractor from interpreting policy provisions, advising on coverages or adjusting a claim without a chapter 72B public adjuster licence. So "we'll deal with your insurance company" — the trade's most-run line — is, where those statutes apply, a description of prohibited conduct rather than a service promise.
The compliant version of the service is four words long and it is the most useful thing on this page: document, meet, invoice. "We photograph the damage, we are on the roof when your adjuster is, and we invoice your carrier directly" describes exactly the same work, asserts nothing about what a policy pays, and claims to act for nobody. Then check the description line, because that is where the violation hides in the fewest words. The claim ad on the examples page is the demonstration: briefed neutrally, it attacked deductible waiving by name — the rendered card says anyone offering to make your deductible disappear "is committing insurance fraud, and it's your name on the claim" — and then promised to "file supplements if anything gets missed", stated flatly that "your carrier covers everything else at replacement-cost value", and signed off "Your deductible. We handle the rest." That is filing with a carrier on the insured's behalf and interpreting a policy provision, in an ad whose author clearly knew the famous rule and had never heard of this one. Meta approved it.
Third, the storm itself, which is a Meta rule and it constrains framing rather than wording. The advertising standard on commercial exploitation of crises prohibits content that exploits crises for commercial purposes, names natural disasters as an example, and covers both promoting crisis-related content for commercial benefit and offering crisis-related products for sale. Advertise the service, not the storm: a tarp, an arrival window and a price is the defensible side; a named event, a news photograph of the damage and a countdown is not. The line runs through the ad set as well as the creative, because a campaign built around a named disaster is making the argument the policy is about even if the picture is only a van.
Fourth, money, and this is the HVAC rule arriving in a trade that also finances. Regulation Z, 12 CFR 1026.24(d), makes four things triggering terms: the amount or percentage of any downpayment, the number of payments or period of repayment, the amount of any payment, and the amount of any finance charge. State one and the advertisement owes the reader the downpayment, the repayment terms over the full term of the loan including any balloon payment, and the annual percentage rate using that phrase. Subsection (c) requires any stated rate of finance charge to be given as an APR using that term, and subsection (a) limits an ad to terms actually available. "New roof from $99/month" states the amount of a payment and nothing else, which is the exact shape the rule was written about. Your finance partner has approved language for this, because this rule is why they have a compliance function.
Fifth, numbers rendered into pictures, where this batch produced the cluster's sharpest finding. The nailing ad — an ad whose entire argument is four nails against six — captions a panel FOUR NAILS, ABOVE THE LINE and draws five, captions the other THE SIX-NAIL STANDARD and draws seven, while getting every part of the mechanism right. Two ads away, the inspection ad promises five reasons and renders exactly five numbered rows. So the rule is not that quantities come out wrong: a count set in type is reliable and a count of drawn objects is not. If the number is the argument, keep it in the headline and the body copy and let the picture carry the mechanism. The same batch computed £118.39 × 120 = £14,206.80 and £198.23 × 60 = £11,893.80 exactly, both implying the same 7.90% nominal rate on the quoted principal, and footed an eleven-line handwritten estimate to exactly $9,260.00 inside a photograph. This pipeline computes well and enumerates badly.
Sixth, and this is what makes the length rules below binding rather than advisory: you cannot see the frame your ad will be shown in. Facebook Feed wants 4:5 at 1440 × 1800, 50–150 characters of primary text and a 27-character headline, and shows no description line at all. Marketplace wants a square at 1080 × 1080, 125 characters, a 40-character headline and a 30-character description. With Advantage+ placements on, one export and one headline fill all nine surfaces. This run wrote fifty headlines: two fit 27 and forty-six fit 40, and of the ten lead headlines exactly one fits Facebook's own recommendation while nine fit Instagram's. None of the fifty primary texts fits 150 — they run 248 to 568 characters. Across all seven Facebook batches now measured, 23 of 350 headlines fit 27 and 329 fit 40, and not one of 350 primary texts fits 150, the shortest ever written being 200 characters. Longer is not forbidden, it is truncated, which means the argument has to survive inside its first sentence.
And it is worth reading the two that fit, because they are both from the same ad and they sharpen a rule this cluster has been building for three batches. "Covered in 2 hrs 40 min." is 24 characters and "Same-Night Tarp. $340 Flat." is 27. The apparel page's version of this finding was that twenty-seven characters is room for a noun, not for a claim. Roofing's version is narrower and more useful: it is room for a number and a noun. Every headline in this batch that tried to carry an argument overran, and the two that fit are both a figure with a thing attached.
- Never advertise paying, waiving, absorbing, rebating or crediting a deductible, in any phrasing. "No out of pocket", "we'll take care of your deductible" and "free roof" are all the same representation, and in Texas advertising it is a Class B misdemeanour.
- Never advertise handling, filing, negotiating or interpreting an insurance claim. Document, meet, invoice — you photograph the damage, you are on the roof when the adjuster is, you invoice the carrier directly. Check the description line last, because that is where it slips back in.
- Do not state what a policy covers. "Your carrier covers everything else at replacement-cost value" is interpreting a policy provision, which is the licensed activity, and it is a sentence nobody notices themselves writing.
- Advertise the service, not the storm. A tarp, an arrival window and a price is a service offered after a disaster. A named event, a news photograph and a countdown is the thing Meta's crisis standard is about — and so is an ad set built around the named event.
- If the ad states a monthly payment, a number of payments, a downpayment or a finance charge, it is a credit advertisement and owes the reader the repayment terms and the annual percentage rate, using that phrase. Use your finance partner's approved language, and declare the campaign.
- Never state a rate as anything but an annual percentage rate. "7.9% financing" is not the disclosure "7.9% APR" is, and only one of them is the phrase the regulation names.
- Render at 4:5, 1440 × 1800 — Meta's recommendation for Facebook Feed, where most of the budget delivers. The floor for that ratio is 600 × 750 and the aspect-ratio tolerance is 3%, so an export a few pixels out is still accepted.
- Write the headline to about 27 characters and check it against 40 as well, because both are live on the same ad. Aim for a number and a noun: the only two headlines in this batch that fit 27 were "Covered in 2 hrs 40 min." and "Same-Night Tarp. $340 Flat.", and every headline that tried to carry an argument overran.
- Buy the 1.91:1 slot for a diagram, not for a photograph. It routes to Facebook's right-hand column and search results, which have no Instagram equivalent, and a drawing has nothing in its margins to lose. One export in this batch came back padded — one of its two wide photographs. The wide diagram was fine, as every wide diagram in this cluster has been.
- Write a description line even though Facebook Feed will not show it. Marketplace does, at 30 characters, and it is free — six of the ten in this batch fit and four are wasted.
- If a count is the argument, put it in type. A numeral in a headline is reliable; a quantity of drawn objects is not. The diagram in this batch whose entire point was four nails against six drew five and seven.
- Read every rendered document across the row before publishing it. Two separately generated documents in this batch put their labels one row above their values — an estimate where Tear Off sat beside the wrong figure and a declarations page where Dwelling Coverage had no limit at all — and both totals were still exactly right, which is what makes it invisible at a glance.
- Write the brief in the register of the market you sell in. One ad in this batch drifted entirely British — pounds, scaffold, skip — because the brief used UK consumer-credit vocabulary, and that moved which regulator the disclosure answers to. A nominal rate is an APR under Regulation Z and an effective rate under UK rules; the same figures are compliant in one and wrong in the other.
- Name your own role, not just the offer. An ad briefed around a membrane with no seller attached came back branded as a materials manufacturer and ended on "ask your roofer" — a roofing company's own click sent to a competitor.
- Do not render a proof statistic you have not counted. This batch invented fewer than any before it because the briefs supplied the proof; the slot takes whatever you give it and fabricates when you give it nothing.
- Photograph your own crews, your own trucks and your own street. A drone shot of a finished roof against a blue sky is the category's default and it is indistinguishable from every competitor's, which is the definition of a wasted impression.
- Do not put the phone number in the image. It is not tappable there, and on a call ad the button is.
Funnel structure
Four stages, and two of them are unusual. The storm stage exists because this trade's demand arrives as an event rather than as a curve, and the financing stage is a separate declared campaign rather than a stage at all — which is what the special ad category forces and what most accounts get wrong by trying to keep everything in one place.
Keep the structure this thin on purpose. A single-depot roofer's budget is small relative to the audience arithmetic Meta's delivery system wants, and every extra ad set divides the same evidence into thinner piles. Variation belongs at the ad level inside one ad set, and the thing that varies is the offer rather than the audience.
The third stage is where this funnel diverges most sharply from the HVAC one, and it is worth being explicit about why. A heating contractor's customer list is the crown jewel because every past customer is a maintenance plan now and a replacement in ten years. A roof is bought roughly twice in a lifetime, so past customers are mostly an exclusion and a source of referrals. The list that behaves like HVAC's customer list is the one nobody uploads: every inspection you did that never became a job. Those households have a roof you have been on, a written finding, and a decision they have already started making — and in this trade the interval between the inspection and the signature is often a year.
Evergreen cold
≈35% of budgetAudience. Drive-time radius around the depot, banded to the age of the housing stock and the offer, out-of-licence areas excluded, signed jobs excluded.
Running. Two or three teaching ads — the nailing spec, the layover comparison, ventilation. Traffic, mostly, with the certification and warranty argument as Leads.
Storm
≈30%, spent in bursts of budgetAudience. The ZIP list the hail actually crossed, from storm reports rather than from a radius. Signed jobs excluded the day they sign.
Running. Inspection and tarping. Raised inside an ad set that already exists rather than launched as a new one — see the budget section for why that distinction is the whole game.
Unsigned quotes and warm
≈25% of budgetAudience. Your inspection list, page engagers, video viewers and site visitors from the last 90–180 days. The inspection list is the valuable half.
Running. The documentation arguments — bare-deck photo sets, the manufacturer warranty, the itemised estimate. Leads, and patient: the gap between an inspection and a signature is often a year.
Financing (declared)
Budget it as its own line of budgetAudience. Its own campaign, declared as financial products and services: 15 mile / 25 km floor, no ZIP targeting, no exclusions, no lookalikes, age 18–65+. Custom Audiences survive and are the only precision left.
Running. The replacement-on-a-payment ad and nothing else. Never storm creative — the postcodes are gone in this campaign, which is exactly what storm advertising needs.
Budget, and the week the account exists for
Do the arithmetic before you copy anybody's number. Meta's delivery system needs roughly 50 optimisation events per ad set per week to leave the learning phase; below that the ad set sits in "learning limited", which is not a penalty but is an admission that the system cannot optimise with what you are giving it. Take your own cost per lead, whatever it actually is, and multiply by 50. That is the weekly spend at which one ad set delivers with full information. Divide what you can genuinely spend by that figure and you have an honest measure of how much of Meta's optimisation you are buying — for most single-crew roofers the answer is a fraction of it, which is the reason the funnel above has four lines and not nine.
Now the thing that makes roofing different from every other trade in this cluster, and it is a collision between two facts that are each unremarkable on their own. The learning phase is measured over about a week. A hailstorm's advertising window is a few days, and the door-knockers are on the street within seventy-two hours. So the moment you most want to advertise is shorter than the time it takes an ad set to become good at advertising — and switching on a campaign the morning after the hail means spending the entire window paying for the system to learn, while somebody is ringing doorbells. HVAC's seasonality is a curve you can plan into. Roofing's is an event you cannot learn into. The account has to already be running before the weather that justifies it.
Which leaves a genuinely awkward trade-off rather than a clean answer, and it is more honest to say so. Adding the storm's ZIP list to an ad set changes its audience, and an audience change is a significant edit that restarts learning — so the tidy advice from the HVAC page, keep the ad set and swap the creative, does not fully transfer, because in this trade the targeting is itself the change. The workable version is to keep a standing storm ad set alive at a low budget across your whole territory through the quiet months, so that when hail falls you are raising a budget and swapping creative on something that has already learned rather than starting from nothing. Accept that a large enough budget increase can itself be significant, and accept the reset when the swath is worth it. What is not defensible is the common pattern: no spend at all until the storm, then everything at once, into an ad set with no history, three days after your competitor knocked on the door.
Seasonality on top of the events, and this trade has four moments rather than two. Spring is hail season across most of the country and it is when the storm budget gets used. Late summer into autumn is the sealing deadline — asphalt bonds by solar heat, so the last warm weeks are a real deadline you did not invent and the highest-intent booking window of the year. Winter is ice dams and the membrane argument, which is a teaching sell rather than an urgent one. And the whole year carries the aging-roof baseline, which is the only demand in this business that is not weather, and the only spend that reliably produces the pipeline the storm weeks convert.
- Test the offer, not the headline. Swapping five words is a significant edit that restarts learning for a change too small to detect.
- One change at a time, and give it seven days — the learning phase is measured over a week, so anything shorter is reading noise.
- Keep the storm ad set alive through the quiet months at a low budget. An ad set that has already learned is the only asset that pays out during the three days that matter.
- Judge the storm burst on booked inspections in that postcode range, not on cost per lead. A storm swath produces cheap leads by construction, and cheap leads after hail are mostly people collecting free inspections.
- For the tarp campaign count 60-second calls. Calls placed includes the hang-ups, the wrong numbers and everyone who found out you cannot get there tonight.
- Judge the financed campaign against itself and never against the local ones. It is buying a fifteen-mile audience it did not choose, and comparing its cost per lead to a targeted swath will make you switch off the wrong thing.
- Track how long an unsigned inspection takes to convert before deciding the retargeting does not work. In this trade the answer is frequently months, and an account judged on a 30-day window will turn off the campaign that was working.
- Before you blame the creative, check whether the ad set ever left learning. Half the "Facebook does not work for roofers" verdicts are an ad set that never got the evidence to try.
Seven of these ads, in full
Every ad below was generated by best-in-slot for a roofing company that does not exist, with its audience, angle and objective pinned before the run — and published exactly as it came back. They are seven of the Facebook examples for a roofing company; the rest, with the full brief and the alternate headlines behind each one, are on that page.

Benefit & Outcome · 9:16 · Leads
Covered in 2 hrs 40 min.
Written for: People with an open roof and rain in the forecast.
The full brief and why it works →

Objection & Risk Reversal · 4:5 · Leads
You Owe One Number. We'll Show You.
Written for: Homeowners sitting on an approved claim they do not understand.
The full brief and why it works →

Problem & Pain · 4:5 · Traffic
The Damage Kept Going After the Storm
Written for: Homeowners whose street was hailed on two summers ago.
The full brief and why it works →

Comparison & Positioning · 4:5 · Traffic
A Layover Nails Over the Rot
Written for: Homeowners weighing a quote four thousand dollars cheaper.
The full brief and why it works →

Offer & Economics · 1:1 · Leads
The APR Is Printed. Read It.
Written for: Households replacing a roof they had not budgeted for.
The full brief and why it works →

Proof & Trust · 1:1 · Leads
Which Warranty Has a Manufacturer Behind It?
Written for: Homeowners holding three quotes and three warranties.
The full brief and why it works →

Story & Founder POV · 1.91:1 · Awareness
What's Not in That Cheap Quote
Written for: Homeowners with a door-knocker's quote in their hand.
The full brief and why it works →
Mistakes specific to this trade
The first three are the ones that are not about advertising performance at all, and they are the reason this section leads where it does. The rest are ordinary, expensive and common.
Treating Meta's approval as a legal signal
This is the page's whole thesis compressed into one error. Ad review checks the ad against Meta's policies and knows nothing about Texas Insurance Code § 4102.163 or Minnesota Statutes § 325E.66. Both of the sentences below were approved by Meta in a real generated ad. An approved ad is an ad Meta will run — that is the entire claim it makes, and in this trade it is the least important review the creative goes through.
Advertising that you will cover the deductible
The most-run promise in storm roofing and an offence to advertise in Texas: Bus. & Com. Code § 27.02(c) covers advertising or promising to pay, waive, absorb, rebate or credit an insured's deductible where payment is expected from insurance proceeds, and § 27.02(d) makes it a Class B misdemeanour. Minnesota § 325E.66 subd. 1(a)(1) bars the same thing as an inducement, includes roofers by name, and gives both the homeowner and the insurer a right to sue. Every phrasing is the same representation — "no out of pocket", "we'll work with your deductible", "free roof". There is no clever wording of this one.
Advertising that you will handle the insurance claim
The one almost nobody in the trade thinks of as a legal question, and it is in more roofing ads than the deductible line. Tex. Ins. Code § 4102.163(a) says a contractor may not act as a public adjuster or advertise to adjust claims for property they are providing or may provide contracting services for — regardless of a licence or a power of attorney. Minnesota § 325E.66 subd. 1(a)(3) bars interpreting policy provisions, advising on coverages or adjusting claims without a public adjuster licence. Say what you actually do instead: photograph the damage, be on the roof when the adjuster is, invoice the carrier directly.
Telling the reader what their policy pays
The subtlest version of the one above, and the generated ad on the examples page walked into it while attacking the deductible scam in the same breath. "Your carrier covers everything else at replacement-cost value" is interpreting a policy provision. So is "we'll file supplements if anything gets missed". So is a four-word description line reading "Your deductible. We handle the rest." Read your description lines last and read them as a regulator would, because that field is where this slips back in after the body copy has been cleaned up.
Building the campaign around the named storm
Meta's standard on commercial exploitation of crises prohibits content that exploits crises for commercial purposes and names natural disasters as an example. Offering emergency tarping to people whose roofs are open is a service and sits on the defensible side of that line. A named hurricane in the headline, a news photograph of the wreckage, or an ad set whose entire premise is the disaster does not. Advertise the service and the arrival window; the swath can be in the targeting without the storm being in the creative.
Putting a finance line in the storm campaign
The most expensive structural error available in this account, and it is invisible until delivery goes strange. A creative promoting a monthly payment recategorises the campaign it sits in, and a financial products and services campaign cannot target by ZIP code at all — so a single sentence about payments deletes the postcode list that was the entire reason the campaign worked. Financing gets its own declared campaign. The swath stays in an ordinary one.
Declaring the category on every campaign to be safe
The mirror-image error and it is worse in slow motion. Tick it on the inspection campaign and you have handed back ZIP targeting, location exclusion, lookalikes, saved audiences and any radius under fifteen miles in exchange for nothing. The category attaches to the ad. Declare the truth about each campaign and split them.
Advertising a monthly payment with nothing attached
"New roof from $99/month" states the amount of a payment, which is a triggering term under 12 CFR 1026.24(d)(1), and stating it obliges the ad to give the downpayment, the repayment terms over the full term and the annual percentage rate using that phrase. Your finance partner has approved copy for exactly this reason. Use theirs — and treat the requirement as an advantage, because printing the rate is a genuine differentiator in a category that hides it.
Starting the campaign the morning after the storm
The single most common budgeting mistake in the trade, and it is a timing problem rather than a money one. The learning phase runs about a week; the storm window is a few days; the door-knockers are on the street inside seventy-two hours. A brand-new ad set spends the entire window learning while somebody else is at the door. Keep a storm ad set alive at a low budget through the quiet months so that when it matters you are raising a budget rather than starting one.
Copying the storm chaser's advertising
The out-of-town crew's pitch works in a driveway because a person is standing in it. Transplanted into a feed it is just another free-inspection ad with urgency in it, and it puts you in the same category as the operator the homeowner has been warned about — often by their own insurer. Your structural advantages are the ones an itinerant crew cannot claim: a permit pulled in this county, employees on payroll, an address that will still be there in year five. Advertise those.
Promising fast, reliable, 24/7 emergency service
Every competitor in the category makes this promise, which is precisely why it differentiates nobody. Replace it with something that could be proved wrong: a call time and a covered time, a flat call-out price, the hours somebody actually picks up. The two headlines in this batch that fit Facebook's 27-character recommendation were both from the falsifiable version of this ad, and both were a number with a noun attached.
Letting the picture carry the count
The diagram in this batch whose entire argument was four nails against six drew five under one caption and seven under the other, while getting the mechanism — nails above the line, shingle lifting under a wind arrow, nails seated in the printed strip — completely right. Nobody counts a diagram they have already understood. If the number is the argument, put it in type and let the picture explain the mechanism.
Asserting what somebody else's warranty does
"A layover voids the warranty" is a claim about a manufacturer's document, and it varies by manufacturer, by system and by installation. So does "twenty-five years". Say what is true of the specific shingle you sell and link the manufacturer's own page rather than restating it. The same goes for a rebate or a utility programme: it belongs to somebody else and their page should state the number.
Running tarp ads outside the hours you answer
The best-optimised campaign in this guide dies at a voicemail greeting, and this trade's emergency demand is evening and overnight — the reader is looking at bare deck with rain forecast in four hours and will call the next result before your message finishes. Daypart the emergency ad set to the hours somebody answers, which needs a lifetime budget, or staff the hours the ad runs. Do not raise the budget until one of those two is true.
Questions
- Do Facebook ads work for roofing companies?
- They reach the right household more reliably than any other channel you can buy by the day, and that matters more here than in most trades: Pew puts Facebook at 74% of 50- to 64-year-olds and 57% of over-65s against Instagram's 40% and 19%, and the home living under a twenty-year-old roof is usually the home somebody has lived in for twenty years. The harder question is not whether the platform works. It is whether the ad is lawful where you run it, because the two most common sentences in roofing advertising are prohibited conduct for contractors in several states and Meta approves both.
- Can I advertise that I will cover the homeowner's deductible?
- In several states, no — and the statutes name advertising specifically rather than only the underlying conduct. Texas Business and Commerce Code § 27.02(c) makes it an offence, a Class B misdemeanour under § 27.02(d), for a seller expecting payment from property insurance proceeds to advertise or promise to pay, waive, absorb, rebate or credit the insured's deductible; § 27.02(b) also requires a 12-point boldface notice on such contracts of $1,000 or more. Minnesota Statutes § 325E.66 subd. 1(a)(1) bars a residential contractor from advertising or promising to pay any part of a deductible as an inducement, defines residential contractor to include roofers, and lets both the homeowner and the insurer sue. Every phrasing is the same representation. Check your own state, and note that Meta's approval tells you nothing about this.
- Can I say I will handle the insurance claim?
- This is the one almost nobody asks about and it appears in more roofing ads than the deductible line. Texas Insurance Code § 4102.163(a) says a contractor may not act as a public adjuster or advertise to adjust claims for any property they are providing or may provide contracting services for, regardless of a licence or a power of attorney. The Texas Department of Insurance spells out that offering to negotiate a settlement or file a claim for the policyholder is prohibited for the contractor doing the work, and Minnesota § 325E.66 subd. 1(a)(3) bars interpreting policy provisions, advising on coverages or adjusting claims without a public adjuster licence. The workable version describes what you do without claiming to act for the insured: photograph the damage, be on the roof when the adjuster is, invoice the carrier directly. One of the ads on the examples page failed exactly this test and its note explains the edit.
- Does advertising roof financing change my targeting?
- Yes, and it costs a roofer more than it costs any other trade in this set. A roof sold on a monthly payment promotes a credit opportunity, so the campaign must declare Meta's financial products and services special ad category — which removes location exclusion, removes ZIP codes, neighbourhoods, sub-city, metro-area and small-geo-area targeting, removes lookalike and saved audiences, fixes age at 18–65+ and sets a minimum radius of 15 miles or 25 kilometres. Storm response is the one kind of local advertising where the ZIP list is the whole strategy, because hail falls in a swath a few miles wide. Run financing in its own declared campaign and keep the storm work in an ordinary one. Custom Audiences survive the category, so your inspection list is the only precision you keep inside it.
- Can I run ads after a named storm?
- Carefully, and the line runs through the targeting as well as the creative. Meta's advertising standards prohibit content that exploits crises or controversial events for commercial purposes, name natural disasters as an example, and cover offering or promoting crisis-related products. Offering emergency tarping to people whose roofs are open is a service and is the defensible side of that line. Building the ad around the named event, a news photograph of the damage or a countdown is not, and neither is an ad set whose entire premise is the disaster. Advertise the service and the arrival window. The postcodes the hail crossed can be in the targeting without the storm being in the ad.
- When should a roofing company be advertising?
- Before the weather, which is the opposite of what most accounts do. The learning phase runs about a week, a storm's advertising window is a few days, and the door-knockers are on the street within seventy-two hours — so an ad set switched on the morning after the hail spends the entire window learning while somebody else is ringing doorbells. Keep a standing storm ad set alive at a low budget through the quiet months so the storm week is a budget increase and a creative swap rather than a cold start. Beyond that there are four moments: hail season in spring, the sealing deadline in late summer and autumn when asphalt still bonds, ice dams in winter, and the aging-roof baseline all year, which is the only demand here that is not weather.
- Lead form, phone call or landing page?
- Three answers, split by how much of the offer is a legal question rather than by price. Emergency tarping is a phone call — run call ads, daypart them to the hours somebody answers, and judge them on 60-second calls rather than calls placed. Inspections, tear-off quotes and certifications suit an Instant Form on the "Higher intent" type, whose review step lowers the count and raises the share who remember filling it in, which matters when you are ringing back into a queue of six other roofers. Anything touching a claim or a rate gets a landing page — and write that page to the same statutory standard as the ad, because a landing page is advertising too. Never the homepage.
Sources
Every platform claim on this page was read against these on . Meta’s policies move; if one of these disagrees with this page, it is right and we are stale.
- Texas Department of Insurance — Roofing and insurance: know the law (illegal to offer to waive, rebate or absorb a deductible; a roofer doing the work may not act as a public adjuster or offer to negotiate settlements or file a claim). Read 8 September 2026
- Tex. Bus. & Com. Code § 27.02 — (b) the 12-point boldface contract notice for contracts of $1,000 or more; (c) advertising or promising to pay, waive, absorb, rebate or credit a deductible; (d) Class B misdemeanour. Amended by Acts 2019, 86th Leg., H.B. 2102
- Tex. Ins. Code § 4102.163 — a contractor may not act as a public adjuster or advertise to adjust claims for property it is providing or may provide contracting services for. Added 2013, amended by Acts 2019, 86th Leg., H.B. 2103
- Minn. Stat. § 325E.66 — subd. 1(a)(1) advertising or promising to pay a deductible; subd. 1(a)(3) interpreting policy provisions, advising on coverages or adjusting claims without a ch. 72B licence; subd. 1(c) residential roofers included; subd. 2 private action by the insured or the insurer
- Meta Advertising Standards — commercial exploitation of crises and controversial events (ads must not exploit crises for commercial purposes; natural disasters named as an example)
- Meta Marketing API — Special Ad Categories (page dated Updated: May 21, 2026; FINANCIAL_PRODUCTS_SERVICES replaced CREDIT on 14 January 2025; unsupported location types including zips, neighborhood, subcity and metro_area; 15 mile / 25 km minimum radius; lookalike and saved audiences removed; age fixed 18–65+; is_eligible_for_sac_campaigns; error codes 2859024 and 2909035)
- 12 CFR 1026.24 (Regulation Z) — advertising: (a) actually available terms, (c) rate stated as an annual percentage rate, (d)(1) triggering terms and (d)(2) the additional terms they require. Read against the eCFR API, 7 September 2026
- Meta Marketing API — basic targeting (custom_locations radius 0.63–50 miles, or 1–80 km)
- Meta Business Help Centre — about the learning phase
- Meta Business Help Centre — significant edits and the learning phase
- Meta Business Help Centre — about Instant Form types
- Meta for Business — lead generation (lead ads can open a conversation on Messenger, Instagram or WhatsApp; the "Instant forms and Messenger" conversion location)
- Meta Business Help Centre — supported objectives and placements for call ads
- Meta Business Help Centre — call ad metrics in Ads Manager (calls placed, 20-second and 60-second calls)
- Meta for Developers — ad scheduling (dayparting requires a lifetime budget; exact hour boundaries at least an hour apart; audience-local time zone against account-time reporting)
- Meta ads guide — image ad specifications, Facebook Feed (4:5 at 1440 × 1800; primary text 50–150, headline 27, no description line; minimum 600 × 750; 3% aspect-ratio tolerance)
- Meta ads guide — image ad specifications, Facebook Marketplace (1:1 at 1080 × 1080; primary text 125, headline 40, description 30)
- Meta Advertising Standards — privacy violations and personal attributes
- Pew Research Center — Americans' social media use, November 2025
That is the playbook. Now make the ads.
Paste your site. It reads your services, your storm and insurance page, your certifications and your service area, then writes the concepts, renders the images and drafts the copy — for the one trade in this set whose binding rules are not Meta's but your state's.
No credit card · 50 free credits (about 5 ads or Instagram posts)
Every angle recommended above is documented in the best-in-slot ad angle library, and the ads are from roofing facebook ad examples. More industries are at all ad guides.