Ad Examples · Roofing × Facebook · 10 ads

Roofing Facebook ad examples

Ten finished ads for roofing contractors — hail inspections, emergency tarping, tear-offs, claims and financing — with the brief behind each, because we generated them rather than collected them.

Roofing advertising online is three pictures on a loop: a drone shot of a finished roof against a blue sky, a split-screen before-and-after with a dragged slider, and a truck with a phone number on the door. All three are collected images, and a collected image cannot tell you the only things that transfer — who the ad was written for, what it argued, and what it was supposed to make happen.

So these were not collected. Every ad below was generated with the audience, the angle and the objective pinned before the run, which means the brief printed beside each one is the brief that produced it rather than a caption written afterwards about somebody else's work. The contractors are invented — ten of them, a night-dispatch tarping crew, a tear-off-only shop that will not quote an overlay, an inspection service that sells no repairs — so no competitor's creative is borrowed and no crew's faces are used.

What makes this trade unusual on Facebook is not a Meta rule. It is that Meta is not the binding regulator. Roofing's two most-run sentences — we'll cover your deductible, and we'll handle your insurance claim — are prohibited conduct for a contractor in a growing list of states, and both will pass ad review without a murmur. Texas makes advertising a deductible waiver a Class B misdemeanour and separately forbids a contractor to advertise to adjust claims on property they are working on; Minnesota bans the same two things and gives both the homeowner and the insurer a right to sue. Nothing in Ads Manager knows any of this. The guide alongside this page works the whole rule out.

All ten angle families appear once each, and the objective split is five Leads, four Traffic and one Awareness, with no Sales at all. That is not an oversight, and it is not unique either — the dentist, gym and real-estate batches have no Sales ad in them either, for the same reason: nobody buys a crown or a house in a checkout. What is unique to roofing is how far the rule reaches. A practice can still sell a whitening kit and an agent can still sell a report, so a Sales ad is at least imaginable for them. Roofing has nothing at all a homeowner buys without somebody physically going there first — the cheapest transaction in this batch is a $340 tarp, and it still needs a truck, a ladder and a person on the roof.

Nine of the ten came back in one pass. One failed outright when the model returned truncated JSON at the image-prompt stage and was regenerated from the identical brief, unchanged — the ordinary crash class this pipeline throws every few batches. Nothing here was re-rolled because somebody disliked the result, which is the distinction that keeps the rest of this page honest.

Every price is invented. $340 for a same-night tarp, $585 a square for a tear-off, $95 a sheet for decking, a $2,500 wind and hail deductible, £118.39 a month on a roof — all of it belongs to contractors that do not exist. Read them as placeholders marking where a real number goes. The proof figures are invented too, and there are fewer of them than in any previous Facebook batch: six of the ten carry an invented statistic somewhere in the copy, but only one renders one into the image. Each note below says which, and what to put there instead.

What changes because it is Facebook

Start with who owns the building, because in this trade that nearly settles the platform on its own. Pew's November 2025 survey puts Facebook at 80% of 30- to 49-year-olds, 74% of 50- to 64-year-olds and 57% of over-65s, against Instagram's 62%, 40% and 19%. The 65+ row does more work here than on any other page in this cluster: 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. On the age band that actually owns the failing roofs, Facebook has three times Instagram's reach.

Then the thing that makes this page different from every other Facebook page in this set. Every other cluster here inverts on a Meta rule. Roofing's binding constraints are mostly not Meta's at all, and the platform will approve the ads that break them. The two sentences the trade puts in more ads than any others — some version of we'll cover your deductible, and some version of we handle the whole insurance claim for you — are unlawful for a contractor in a growing list of states. The planning-table row is: roofing on Facebook, where the review that matters happens after the ad is approved.

Take the deductible first, because it is the more famous of the two and the statutes are explicit that advertising is the violation. In Texas, Business and Commerce Code § 27.02(c) makes it an offence — a Class B misdemeanour — for a seller who expects to be paid 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 notice in 12-point boldface 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 reaches the same result differently: Minn. Stat. § 325E.66 subd. 1(a)(1) says a residential contractor shall not, as an inducement to the sale of goods or services to an insured, "advertise or promise to pay, directly or indirectly, all or part of any applicable insurance deductible"; subd. 1(c) defines residential contractor to include residential roofers; and subd. 2 gives both the insured and the insurer an action for damages. Two different mechanisms, one shared feature — the verb in the statute is advertise.

The second sentence is the one almost nobody in the trade thinks of as a legal question, and it appears in more roofing ads than the first. Texas Insurance Code § 4102.163(a) reads: "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 the consequence for advertisers plainly on its own consumer page: 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 public adjuster licence. So "we'll deal with your insurance company" is the trade's most-run line and, where those statutes apply, a description of prohibited conduct rather than a service promise. There is an ad below that was briefed to avoid this and did not quite manage it, which is the most useful thing on the page.

Meta does have one rule pointed straight at this category, and it is a rule about weather. 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 promoting content related to a crisis for commercial benefit or offering crisis-related products for sale. Roofing's entire demand curve is a natural disaster. The line the policy does not draw for you is between advertising a service to people who have been through a storm and advertising the storm itself — a tarp, a phone number and an arrival window is the first; a named hurricane, a news photograph and a countdown is the second. One of the ads below is literally a tarp going over an exposed deck at dusk, and it is the ad to read that standard against before running.

Financing brings the one purely mechanical constraint, and roofing pays more for it than HVAC did. A roof sold on a fixed monthly payment is a credit advertisement: Regulation Z, 12 CFR 1026.24(d)(1), makes the amount of a payment a triggering term, which obliges the ad to state the repayment terms and the annual percentage rate using that phrase, and 1026.24(c) requires any stated rate of finance charge to be given as an APR. Separately the campaign must declare Meta's FINANCIAL_PRODUCTS_SERVICES special ad category, which removes location exclusion; removes ZIP codes, neighbourhoods, sub-city, metro area and small geo areas as location types; removes lookalike and saved audiences; fixes age at 18–65+; and imposes a minimum radius of 15 miles or 25 kilometres. For an HVAC contractor that costs a drive time. For a roofer it costs the strategy, because storm response is the one kind of local advertising where a ZIP list is the entire plan — hail falls in a swath a few miles wide and a mile off it there is no damage at all. Splitting the campaign is not a refinement here: financing goes in its own declared campaign with the wide radius, and the storm work stays in an ordinary campaign where you can still name the ZIP codes the hail actually crossed.

Finally the shape and the copy budget, which are the same on this app for every trade and are measured here again. Meta's ads guide recommends 4:5 at 1440 × 1800 for Facebook Feed with primary text of 50–150 characters and a headline of 27, and no description line at all; Marketplace, one of the eight other image surfaces Facebook has, recommends a square at 1080 × 1080 with 125 characters, a 40-character headline and a 30-character description. Leave Advantage+ placements on and one export fills all nine. 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. Six of the ten descriptions fit Marketplace's 30, in a field the feed will not show.

Source: Texas Department of Insurance — Roofing and insurance: know the law (page dated 3/24/2025; 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 — deductible required; (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 — certain contractor business prohibited: 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 — residential contractors and insurance claims: 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 (FINANCIAL_PRODUCTS_SERVICES; unsupported location types including zips, neighborhood, subcity, metro_area and small_geo_area; 15 mile / 25 km minimum radius; no location exclusion; lookalike and saved audiences unavailable; age fixed 18–65+) · 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 · Meta ads guide — image ad specifications, Facebook Feed (4:5 at 1440 × 1800; primary text 50–150, headline 27, no description line; 3% aspect-ratio tolerance) · Meta ads guide — image ad specifications, Facebook Marketplace (1:1 at 1080 × 1080; primary text 125, headline 40, description 30) · Pew Research Center — Americans' social media use, November 2025

Want the campaign, not just the creative? Facebook ads for roofing companies is the playbook these ads came out of: which objective to buy, the offers worth running, the targeting levers this trade keeps, and the policy that decides what the copy may say.

Generate Facebook ads for your own roofing company

Paste your site and best-in-slot reads it the way these invented contractors were read — services, service area, positioning — then writes the concepts, renders the images and drafts the copy. Free to start, no card.

The Damage Didn't Stop

Traffic

The hail stopped two summers ago. The damage didn't.

Audience
Homeowners whose street was hailed on two summers ago — Watched the storm pass, saw no water come through a ceiling, and have assumed ever since that their roof was one of the lucky ones on the street.
Angle
Cost of Inaction (Problem & Pain) Shows what happens if the buyer does nothing and the current situation continues.
Facebook feed4:5 · 1080 × 1350

The hail stopped two summers ago. The damage didn't. Every sunny day since, bruised shingles have been shedding the granules that stand between your asphalt and UV. No leak means no problem — until it does, and by then the roof's serviceable life is already gone. A certified inspector chalks test squares on every slope, photographs each strike, and has written findings in your hands within 48 hours. Flat fee. No repair crew. No pressure to find more than is there.

5 reasons why, portrait 4:5. Unsealed bruises shed granules, and every sunny day since has been quietly spending shingle life you'll pay to replace.

The Damage Kept Going After the Storm

Written findings in 48 hours.

Learn more
Generated by best-in-slot on from one line: a roof inspection after a hailstorm that maps the bruised asphalt shingles a homeowner cannot see from the ground, chalked out in test squares on the slope and photographed for the file, because hail knocks the granules loose years before the roof actually leaks. The company is invented; the image, headline and body text are exactly as produced.

Cost of Inaction is the right family for the thing this trade cannot get homeowners to believe: hail bruises a shingle without leaking it, the granules wash off for years afterwards, and the roof is quietly spent long before a ceiling stain appears. The audience brief is the sharp part — people whose street was hit two summers ago and who saw no water — because it selects for the exact population that thinks it has already dodged this, and it opens with a flat-fee inspection rather than a replacement, which is the cheapest first transaction available in a category whose usual first ask is five figures.

The count check passes here, and it is worth reading against the nailing diagram elsewhere in this batch. The headline promises five reasons and the graphic renders exactly five numbered rows, 1 through 5, each with its own proof line. That is the same pipeline that, two ads away, labelled a panel FOUR NAILS and drew five of them. The difference is what kind of thing the count is: a numeral set in type is reliable, a quantity of drawn objects is not. If you need a number to survive into the image, put it in the copy deck rather than in the picture.

The figure to replace is "~700 sunny days of UV since that storm", which is rendered into the graphic and repeated as a headline. Two summers is roughly 730 days in total, so 700 of them being sunny is not a count of anything — it is a plausible-looking number in a slot that asked for proof. An inspection company has a much better line available and it costs nothing: name the storm date and let the reader do the arithmetic. "Hailed 14 May 2024. Still unchecked?" is checkable, local, and worth more than a statistic nobody can source.

Other headlines from the same run

  • 700 Sunny Days of Granule Loss
  • Your Dry Ceiling Isn't the Whole Story
  • What a Chalk Square Finds That You Can't
  • Know What's on Your Roof. Flat Fee.

Call to action

Learn moreBook nowContact us

A Traffic buy, correctly — the reader does not yet accept there is a problem, so the click has to explain what a bruise is before it can sell a look at one. Book now becomes the right button only if the landing page opens on the inspection itself with the flat fee on it, rather than on a general contact form.

The 2:40 Timestamp

Leads

Called at 6:07. Ballast on the roof at 8:47.

Audience
People with an open roof and rain in the forecast — Found asphalt shingles in the garden after a gust front, can see bare boards from the pavement, and have a second front due overnight.
Angle
Speed (Benefit & Outcome) Emphasizes achieving the desired result faster.
Facebook Stories & Reels9:16 · 1080 × 1920
Raw phone pic, portrait 9:16. The median call-to-covered time is 2 hours 40 minutes — faster than most roofers even answer the phone.

Called at 6:07. Ballast on the roof at 8:47. That timestamp in the corner is not a graphic — it is the job clock. Median call-to-covered: 2 hours 40 minutes. One call-out, $340, tarp and storm file included. The next band does not wait for morning.

Covered in 2 hrs 40 min.

Call now. Crews are staged tonight.

Contact us
Generated by best-in-slot on from one line: emergency tarping of a roof that lost shingles in a windstorm — a weighted tarp fitted over the exposed deck the same evening, photographed and dated before the next band of rain arrives. The company is invented; the image, headline and body text are exactly as produced.

Speed is the entire product in storm response, and this ad works because it refuses to claim speed in the abstract. Everyone in the category says 24/7 emergency service. This one says called at 6:07, ballast on the roof at 8:47, and burns 20:47 into the corner of the photograph. A timestamp is falsifiable and a slogan is not, which is the only durable way to differentiate in a trade where every competitor makes the identical unfalsifiable promise.

It is also the batch's best technical execution and the cleanest cross-artifact agreement in it. The photograph reads as a real phone frame at night — headlamps, one raking work light, sandbag ballast along the eave and ridge, battens clamped at the gutter line, exposed deck, a single hi-vis stripe as the only saturated colour — and the burned-in 20:47 agrees exactly with the 8:47 in the copy. Two separately generated artefacts telling the same time is rare. Worth noting too that this is a 9:16 export re-framed off a square draft, the most aggressive crop in the batch and on a photograph, and it came back full-bleed with no padding; the one ad in this batch that did suffer the padding defect is the founder's letter further down.

Two things before it runs. "Median call-to-covered: 2 hours 40 minutes" and "1,900 roofs since 2016" are both invented, and the first is the load-bearing claim of the whole ad — a contractor with real dispatch data should put the true median there and gains the strongest line in the category, while one without it has to describe the practice instead, because this is a number a customer will hold you to on the phone at nine at night. And read this one against Meta's crisis standard before it goes live: the ad itself is a service offered to people after a storm, which is the defensible side of that line, but the ad set around it should not be targeting a named disaster.

Other headlines from the same run

  • Deck Sealed Before the Next Band
  • Same-Night Tarp. $340 Flat.
  • 2:40 Median. No Nails. No Wait.
  • The Crew That Works Storm Hours

Call to action

Contact usBook nowLearn more

Emergency work converts on a phone call, and call ads are mobile-only, delivering on Facebook Feed, Marketplace, Reels and Video feed as well as Instagram Feed and Stories — two of those surfaces are Facebook-only. Judge this on 60-second calls rather than clicks; a 20-second call is usually somebody finding out you cannot reach them tonight.

The Six-Nail Standard

Traffic

The wind wasn't exceptional. Four nails was.

Audience
Homeowners who lost shingles off a roof that was almost new — 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
Craftsmanship (Product & Mechanism) Shows how the product is designed, built, sourced, or made.
Facebook right column & search1.91:1 · 1200 × 628

The wind wasn't exceptional. Four nails was. If you replaced your roof five years ago and still lost shingles in an ordinary storm, the crew probably nailed above the strip. That one placement error voids the wind warranty — and most homeowners never find out until the tabs are in the yard. Six nails, each seated in the manufacturer's printed nailing line, is the only way the warranty printed on the bundle still holds when the next storm arrives.

Diagram / explainer, landscape 1.91:1. Four nails above the strip voids the wind warranty; six seated in the manufacturer's printed line is what holds.

Six Nails. Each in the Strip.

Get a line-item quote.

Learn more
Generated by best-in-slot on from one line: a shingle re-roof fastened with six nails per shingle placed in the manufacturer's nailing strip, over a sealed starter course at the eaves and under a ridge cap on a vented ridge, because a four-nail pattern driven above the strip is what voids the wind warranty. The company is invented; the image, headline and body text are exactly as produced.

Craftsmanship is a family most trades cannot use honestly, because most craftsmanship claims are adjectives. This one is a spec: six nails per shingle, each 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 a thing they have already experienced — losing tabs off a five-year-old roof in an ordinary gust — and it reframes that loss as an installation failure rather than bad weather, which is both usually true and commercially devastating to whoever did the first roof.

And this is the ad that fails the count check, in the most pointed way this corpus has produced. The left panel is captioned FOUR NAILS, ABOVE THE LINE and draws five nails with five X marks. The right panel is captioned THE SIX-NAIL STANDARD and draws seven nails with seven ticks. Everything else in the diagram is correct — the nails on the left sit above the dashed line and the shingle lifts under a wind arrow, the nails on the right are seated in a lighter printed strip with tick marks, the deck and rafters are drawn properly — so the picture gets the mechanism right and the one quantity the entire ad exists to communicate wrong, twice.

The fix is a rule rather than a retouch, and it generalises past roofing: this pipeline renders a count accurately when the count is typography and inaccurately when the count is a number of drawn objects. Compare the five-row list at the top of this page, which is exactly right. So if the number is the argument, put it in the headline and the body copy where it is set in type, and let the picture carry the mechanism. Never ship a diagram whose objects you have not counted yourself — and note that this one is otherwise good enough that most reviewers would not have counted.

Other headlines from the same run

  • Four Nails Above the Line Voids It
  • The Nail Placement Most Crews Skip
  • Why Your Last Roof Didn't Hold
  • The Spec Your Warranty Requires

Call to action

Learn moreContact usBook now

Traffic is right for an ad that has just taught a specification most readers have never heard of. Send it to a page that shows the manufacturer's own nailing diagram beside the crew's course-by-course photographs, because the ad's promise is documentation and a bare contact form contradicts it.

The Signature Line Test

Leads

Three warranties on the table — read the signature line.

Audience
Homeowners holding three quotes and three warranties — Have three proposals on the kitchen table that all say twenty-five years, cannot tell which of them is backed by anyone other than the person who wrote it, and know that two of the three companies are younger than the warranty they are offering.
Angle
Third-Party Validation (Proof & Trust) Uses awards, certifications, media coverage, independent testing, or industry recognition.
Facebook feed1:1 · 1080 × 1080

Three quotes. Three warranties. Only one of them is signed by the manufacturer — not the roofer who wants the job. That embossed seal and signature block aren't decoration. They mean the company that made the shingles is legally on record backing the system. The other two are a contractor's promise, and a contractor's promise is only as good as the contractor's next five years in business.

Stat-hero graphic, square 1:1. The strongest paper on the table is signed by the shingle manufacturer, not the roofer who wrote the quote.

Which Warranty Has a Manufacturer Behind It?

Get a free on-roof inspection.

Contact us
Generated by best-in-slot on from one line: a roofing contractor certified by the shingle manufacturer to install its system, which is what lets the finished roof carry the manufacturer's own system warranty rather than the contractor's promise, plus a written workmanship warranty that transfers once to the next owner of the house. The company is invented; the image, headline and body text are exactly as produced.

Third-Party Validation is the strongest available family in a trade where every proposal says twenty-five years and the reader has no way to tell which of them is backed by anybody. The ad's wedge is a single question — who signed it — and the answer is structural rather than promotional: 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. The audience brief does the work, because "two of the three companies quoting you are younger than the warranty they are offering" is arithmetic, not an insult.

This ad was the batch's pre-registered experiment on fabricated proof, and it is why this page has almost none. The finding from HVAC Facebook was that where a visual direction offers a slot for a statistic, the pipeline fills it — five of ten images there carried an invented figure, one of them citing county inspection records as its source. So this brief pointed the most slot-shaped direction available, a stat-hero graphic, at a credential with no number in it. The frame still fills with an enormous number, because that is what the direction is, but the number is "1 of 3" — the brief's own premise restated — and the certificate beneath it is deliberately illegible, with an abstract signature, an unmarked seal and no brand name anywhere.

So the rule is sharper than it was: the proof slot is not a fabrication engine, it is an empty field, and it takes whatever the brief supplies. Give it a countable claim you can source and it renders that; give it nothing and it invents. The practical version for anyone briefing this tool is to write the proof into the brief rather than hoping the model declines to. What to check before running: the transferable-once workmanship warranty and the certified-installer status are both real, checkable things, so the only work left is making sure you actually hold them — this is the one ad on the page where the entire argument collapses if the claim is aspirational.

Other headlines from the same run

  • The Seal Means Someone Else Signed It
  • Read the Signature Line Before You Decide
  • Manufacturer-Backed. Registered. In Writing.
  • One of Three Warranties Actually Holds Up

Call to action

Contact usLearn moreBook now

The offer is a replacement quote, so the click is a conversation. Send it to a page that shows a redacted sample certificate with its registration number, because an ad whose whole premise is documentation should be able to produce a document on the next screen.

Nailed Over Rot

Traffic

A layover nails over the rot instead of finding it.

Audience
Homeowners weighing a quote four thousand dollars cheaper — Have one quote for a tear-off and one for a layover, cannot see what either crew would be nailing into, and are being told the cheap one is the same roof for less money.
Angle
Hidden Cost of Cheap (Comparison & Positioning) Shows the downstream costs, replacements, waste, or frustration created by cheaper alternatives.
Facebook feed4:5 · 1080 × 1350

That $4,000 savings disappears the first time moisture finds what's already under there. A layover doesn't fix the deck — it buries it. When the leak arrives, you're paying to strip two layers instead of one, on top of whatever the rot has had time to do. We show you the deck before anything goes back over it. Photographed, numbered, documented.

Us-vs-them comparison chart, portrait 4:5. Moisture never pauses under a second layer — when the leak arrives, the repair means stripping two layers, not one.

A Layover Nails Over the Rot

From $585/sq. No deposits.

Learn more
Generated by best-in-slot on from one line: a full tear-off down to the roof deck, with the rotten sheathing cut out and replaced and the bare deck photographed before anything is laid back over it, priced against the cheaper option of nailing a second layer of shingles over the old roof without ever seeing what is underneath. The company is invented; the image, headline and body text are exactly as produced.

Hidden Cost of Cheap is the correct family for the one decision where this trade's cheapest option is genuinely the worst, and the ad is disciplined about why. It does not argue that a layover is always wrong. It argues that a layover cannot inspect what it covers — the rot stays, undocumented, and the eventual repair means stripping two layers instead of one. That is an argument about information rather than about quality, which is much harder to rebut and does not require calling the other quote dishonest.

The comparison chart is the most complete rendering in the batch and every row lands: five paired cells with correct X and tick marks, a forensic inset photograph showing blackened sagging sheathing beside bright new OSB chalked S7 and S8, and a callout reading S7 SOFT – REPLACED. The type is clean at every size, the footer carries the price, and there is no fabricated statistic anywhere in the frame — the only numbers are prices and a warranty term. After a batch of HVAC comparison charts that quietly invented a footer statistic, this one simply does not.

Two things before it runs. "Warranty: voided over the old roof" is a claim about somebody else's warranty and it varies by manufacturer and by system, so it needs to be true of the specific shingle you sell rather than asserted in general. And one phrase in the body copy — sheathing "that's been soft since the last administration" — is a political time reference that has no business in a roofing ad; it is the kind of line that reads as wit in a draft and as an affiliation in a feed. Cut it.

Other headlines from the same run

  • See the Deck Before We Cover It
  • Two Layers to Strip When It Leaks
  • What the $4K Savings Doesn't Show
  • The Rot Doesn't Wait Under There

Call to action

Learn moreContact usBook now

A Traffic buy while the reader is still comparing two documents. The click should land on the bare-deck photo set and the sample report, because the ad's promise is that you will see the deck — a page that opens on a quote form has changed the subject.

One Number, Honest

Leads

You pay your deductible. The carrier pays the rest. That's the whole deal.

Audience
Homeowners sitting on an approved claim they do not understand — Have a claim number and a first check from the insurer, cannot work out from the paperwork what the insurer has agreed to pay and what is left for them, and have been given three different explanations by three contractors.
Angle
Price Objection (Objection & Risk Reversal) Explains why the product’s price is justified.
Facebook feed4:5 · 1080 × 1350

You pay your deductible. The carrier pays the rest. That's the whole deal — and any contractor who tells you different is committing fraud with your name on the paperwork. We bill your insurer directly at their own replacement-cost figures. The one number you owe is already printed on your declarations page.

FAQ / objection-handling card, portrait 4:5. Explains that the only honest price in roofing is the exact deductible on your declarations page, and why "free roof" offers are claim fraud with a lawn sign.

You Owe One Number. We'll Show You.

Your deductible. We handle the rest.

Learn more
Generated by best-in-slot on from one line: a hail damage roof replacement paid for through the homeowner's own insurance claim, where the contractor documents the damage, meets the adjuster on the roof and bills the insurer directly, and the homeowner pays the policy deductible written on their own declarations page. The company is invented; the image, headline and body text are exactly as produced.

This is the ad the whole page is about, and it is the most instructive thing in the batch because it got the famous rule right and the statutory one wrong. It was briefed neutrally — document the damage, meet the adjuster on the roof, bill the insurer, the homeowner pays the deductible printed on their own declarations page — with no mention of deductible waiving at all, to see whether the model would reach for the trade's illegal house style unprompted. It did the reverse, and forcefully: all five primary texts attack the practice by name, and the rendered card says that anyone offering to make your deductible disappear "is committing insurance fraud, and it's your name on the claim." That is the correct position, argued better than most contractors argue it.

And then the same ad walks into the prohibition nobody in the trade has heard of. It promises to "file supplements if anything gets missed", tells the reader flatly that "your carrier covers everything else at replacement-cost value", and signs off with the description line "Your deductible. We handle the rest." Filing supplements with a carrier on the insured's behalf is adjusting a claim; stating what a policy pays is interpreting a policy provision. In Texas, § 4102.163(a) forbids a contractor to act as a public adjuster or advertise to adjust claims on property they are working on; in Minnesota, § 325E.66 subd. 1(a)(3) forbids that same contractor from interpreting policy provisions or advising on coverages without a public adjuster licence. Meta approved the ad, because Meta is not the regulator here.

The fix is narrow and keeps the ad, which is the useful part. Document, meet, invoice — never negotiate, never interpret. "We photograph the damage, we are on the roof when your adjuster is, and we invoice your carrier directly" is the same service, describes the same work, and asserts nothing about what your policy pays or about acting on your behalf. Then delete "we handle the rest" from the description line, because that is the sentence doing the prohibited work in the smallest number of words. The rendered declarations page also has two problems to catch by eye: it dates the policy 05/01/2024 to 05/01/2025, the year-anchor drift this pipeline shows on every rendered document, and its coverage labels sit one row off their limits — Dwelling Coverage has no figure beside it and a $5,000 dangles unlabelled at the bottom.

Other headlines from the same run

  • Your Deductible. Nothing More.
  • Free Roof Offers Are Fraud. Full Stop.
  • The Honest Price Is Already Written.
  • One Line on Your Declarations Page

Call to action

Learn moreContact usBook now

Pinned to Leads, and the landing page carries a legal burden the ad cannot discharge on its own — it is where the deductible explanation has to be exactly right. Contact us is the safer button than any wording that implies you will handle the claim, for the reason above.

The Blank APR

Leads

A monthly payment with no APR is a guess, not a quote.

Audience
Households replacing a roof they had not budgeted for — Have a roof failing from age rather than a storm so there is no claim to make, a five-figure quote, and an offer of monthly payments with no rate written anywhere on it.
Angle
Financing / Installments (Offer & Economics) Focuses on affordability through payment structure rather than absolute price.
Facebook feed1:1 · 1080 × 1080

A monthly payment with no APR printed next to it is not a quote. It is a guess. Every finance offer we put in front of you shows the rate, the term, and the total amount repayable — at the same size as the monthly figure. £118.39 a month means 120 months at 7.9% APR representative, total repayable £14,206.80. That is the whole sentence. No deposit. No arrangement fees. Fixed price valid 12 months. Drone survey within five working days.

Offer-stack graphic, square 1:1. Rate, term and total decide what a payment costs, so they are printed at the same size as the monthly.

The APR Is Printed. Read It.

Credit subject to status. 18+ homeowners.

Learn more
Generated by best-in-slot on from one line: a roof replacement offered on a fixed monthly payment with the annual percentage rate, the number of months and the total amount repayable printed on the advert itself. The company is invented; the image, headline and body text are exactly as produced.

Financing / Installments is the trade's second most-run offer, and this execution attacks the standard practice head-on: the category quotes a monthly payment with no rate attached, so this ad prints the rate, the term, the monthly and the total repayable at the same size as each other. "A monthly payment with no APR is a guess, not a quote" is a strong hook precisely because the reader has probably just been handed one. Under Regulation Z that shape is also the compliant one — the amount of a payment is a triggering term under 1026.24(d)(1), which obliges exactly the disclosures this ad volunteers.

The arithmetic is the best this cluster has recorded, and it is genuinely computed rather than copied. £118.39 × 120 = £14,206.80 exactly, and the second line, £198.23 × 60 = £11,893.80, is also exact — and both independently imply a 7.90% nominal rate on the £9,800 principal the sheet quotes. That is two separate amortisation schedules, at two different terms, agreeing with each other and with a stated rate. Set beside the nailing diagram in this same batch, which could not count to six, it gives the clearest statement of the standing rule the corpus has: this pipeline computes well and enumerates badly.

And it drifted to the United Kingdom, which is the finding to carry rather than the error to laugh at. The ad is in pounds, quotes a scaffold and a skip, offers tile warranties, and closes "Credit subject to status. Homeowners 18+." Nothing in the audience brief was British. The brief's own vocabulary was — it asked for figures "printed on the advert" and named "the total amount repayable", both UK consumer-credit register — and the pipeline followed the register into the jurisdiction. That matters more here than it would anywhere else, because it changed which regulator the ad is written for: 7.9% is the nominal annualised rate, which is how Regulation Z computes an APR, but it is labelled "APR representative", and a UK representative APR is the effective rate, which on these figures is 8.19%. Right for the regulator the brief did not invoke, wrong for the one it did. Write the brief in the register of the market you sell in.

Other headlines from the same run

  • £118.39/mo. Full Terms, No Blanks.
  • Every Number. Same Size. No Asterisk.
  • One Price. One Rate. Nothing Hidden.
  • We Print the Total Before the Pitch.

Call to action

Learn moreContact usBook now

A five-figure job does not convert from an ad, so this is a lead however it is labelled — and it is the one ad on the page that must run in its own campaign with the financial products and services category declared, which costs you ZIP targeting and the sub-15-mile radius. Send the click to a page carrying the same four figures; a landing page that reverts to "as low as" undoes both the ad and the disclosure.

Warm Days Counter

Leads

Only 14 sealable shingle days left this season. Your quote expires with them.

Audience
Homeowners who have decided to replace but not to book — Agreed months ago that the roof needs doing, have a quote they have not signed, and are drifting toward doing it in the new year without knowing the sealant will not activate.
Angle
Seasonal Deadline (Scarcity, FOMO & Timing) Uses a holiday, season, event, or calendar moment as a natural deadline.
Facebook feed4:5 · 1080 × 1350

You decided months ago the roof needed doing. The calendar is now deciding for you. Asphalt shingles only bond when the sun warms them — lay them cold and they may not seal until spring. We've counted the forecast: about 14 reliably warm tear-off days left this season. After that, the spring list opens and your quote closes.

iPhone Notes screenshot, portrait 4:5. The roof isn't booked yet, but the calendar is — cold weather ends bonding season, and January can't seal what November lays.

14 Warm Days. Then It's Spring.

Check warm days remaining →

Book now
Generated by best-in-slot on from one line: the last tear-off dates left on the calendar before the cold sets in, written up by the roofing company's own scheduler, because asphalt shingles seal by warming in the sun and a roof laid in the cold may not bond until spring. The company is invented; the image, headline and body text are exactly as produced.

Seasonal Deadline is usually the most dishonest family in advertising and this is the version where the scarcity is real 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 not a promotion ending, it is a property of the material — which lets the ad push hard on timing without inventing a discount, and gives the reader a reason to move that survives being checked with any other roofer.

This ad was the batch's second experiment and it confirms a fix. HVAC Instagram found that an author-implying direction with no author in the brief will invent one: an iPhone Notes screenshot there produced a fabricated customer testimonial written as a private diary entry, with two primary texts in the same invented first person. So this brief named the speaker — the roofing company's own scheduler — and the note comes back signed "your scheduler (not a call center)", speaking as the business throughout. Same direction, one variable changed, no invented person and no testimonial. Name the speaker as well as the thing.

The execution has one real defect and one number to replace. The direction was specified in detail as an iOS Notes screenshot — status bar, battery at 41%, a 4:52 PM clock, the app header — and none of that rendered; what came back is the note's text set large on white, with the "Today 4:51 PM" timestamp orphaned where the interface should be. It is a clean, legible image and a failed execution of the format, and it is worth knowing that this direction can silently degrade into a typographic poster. The upside is that no third party's interface got drawn, which is the usual hazard with screenshot directions. And "about 14 reliably warm tear-off days" is invented — but unlike most invented figures it is one a real scheduler can actually produce from a forecast on the morning the ad goes live, which makes it the right kind of number to keep and the wrong kind to leave at 14.

Other headlines from the same run

  • Your Quote Expires With the Sun
  • Cold Roofs Don't Seal. Book Now.
  • The Window Is Down to 14 Days
  • Don't Let Winter Decide For You

Call to action

Book nowContact usLearn more

The one ad in the batch where the click should land on a calendar with real dates on it. The argument is that the remaining slots are finite and countable, so a contact form that replies next week contradicts the ad — if live booking is not possible, say when you will call back.

Sleep Through the Storm

Traffic

Snow all night. You sleep anyway.

Audience
People who bought an older house last spring — Bought a nineteen-seventies house in April, have not seen it through a winter yet, and have been told by three different people that the brown patch on the bedroom ceiling is just the ice.
Angle
Relief / Peace of Mind (Identity & Emotion) Sells the removal of stress, uncertainty, worry, or mental load.
Facebook right column & search1.91:1 · 1200 × 628

Snow all night. You sleep anyway. That brown patch on the bedroom ceiling is a warning — your first winter in this house is still writing its ending. Three feet of self-sealing ice-and-water membrane under the eaves is the difference between waking up dry and waking up to a claim. Ask your roofer about the ice barrier before the next storm shows up.

Side-by-side scene, landscape 1.91:1. Three feet of self-sealing membrane under the eaves, and the only 2 a.m. sound is the furnace.

Sleep Through the Storm Season

Ask your roofer to spec it.

Learn more
Generated by best-in-slot on from one line: a self-adhering ice and water membrane run up the first three feet of the roof deck at the eaves and through the valleys, so that when an ice dam backs meltwater up under the shingles it meets a sealed surface instead of felt paper. The company is invented; the image, headline and body text are exactly as produced.

The offer is genuinely under-advertised and it is a good test of whether an ad can sell something invisible: three feet of self-adhering ice-and-water membrane at the eaves and through the valleys, which nobody ever sees because it lives under the shingles. The ad solves that by never showing the product. It shows the ice dam on the left and a warm bedroom on the right, and puts the membrane in one line of footer type. Selling the consequence rather than the component is the right move for every buried building product.

This ad was the batch's third experiment, and it resolves a rule this cluster has been circling for three batches. HVAC Facebook found that briefing the offer as a thing is not enough protection, because the angle can put the person back: a $249 damper rendered "Stop tiptoeing down that hallway to check on her", which asserts a household member who needs looking after. HVAC Instagram found the safe form by moving the subject to the house. This brief kept the same family and the same sub-angle — Identity & Emotion, Relief and Peace of Mind — and moved one variable, framing the audience by something they did rather than something they are: people who bought a 1970s house last April and have not seen a winter in it.

It holds. The image prompt specifies no people and the frame has none. The copy is second person and unashamedly emotional — "You bought the house. You didn't buy the anxiety that comes with every weather alert" — and every one of those sentences is about an action the reader took or a thing the reader owns, never an attribute of the reader. So the rule now has three data points and a usable form: an identity ad is dangerous when it tells the reader what they are and workable when it tells them what they did, and the cheapest way to get there is to define the audience by a decision rather than a demographic. Two things to fix before running: "40,000+ re-roofs" and the 12-year material warranty are invented, and this is the one brand in the batch that came back as a materials manufacturer rather than a roofing contractor — the brief named a product with no seller attached, so the pipeline invented the seller, and the ad ends on "ask your roofer" rather than on a booking. Name the advertiser's role, not just the thing being advertised.

Other headlines from the same run

  • Fix the Eave Before It Leaks
  • Your Roof's Last Line of Defense
  • 3 Feet That Stop Ice Dam Claims
  • Ask Your Roofer About the Barrier

Call to action

Learn moreContact usBook now

Traffic is right for a component most readers have never heard of, and the landing page has to explain an ice dam before it can sell a membrane. If you are the roofer rather than the manufacturer, rewrite the ending — "ask your roofer" sends your own click to a competitor.

The Owner's Letter

Awareness

That cheap quote? Here's what's missing from it.

Audience
Homeowners with a door-knocker's quote in their hand — Had someone at the door within days of the storm offering to handle everything, have a quote thousands cheaper than the local company's, and no way to tell whether that gap is efficiency or something they will find out about later.
Angle
Why We’re More Expensive (Story & Founder POV) Founder explains the quality, sourcing, labor, service, or economics behind a premium price.
Facebook right column & search1.91:1 · 1200 × 628

You've got a quote in your hand that's thousands cheaper than mine. Before you sign it, I'd like to explain exactly what's in each number — and what isn't. My estimate includes a pulled permit, inspected by the county. Payroll employees with workers' comp, not day labor out of a van. Manufacturer-spec materials you can verify by name. And a workmanship warranty backed by a shop that's been at the same address for twenty-two years. I'll put it all in writing, line by line. You compare.

Founder's letter, landscape 1.91:1. A first-person letter walks line by line through what the door-knocker's number quietly leaves out — permits, payroll, insurance, warranty.

What's Not in That Cheap Quote

Free written estimate. No pressure.

Learn more
Generated by best-in-slot on from one line: a letter from the named owner of a four-truck roofing company that has worked the same county for twenty-two years, explaining why their quote is four thousand dollars above the out-of-town crew that knocked on the door the week after the hailstorm — the pulled permit, the crew on their own payroll, and a warranty from a company that will still be at the same address in five years. The company is invented; the image, headline and body text are exactly as produced.

This is the ad the category most needs and least often runs, because running it requires actually being the expensive contractor. Why We're More Expensive is the honest answer to the storm chaser who knocked on the door three days after the hail, and the letter refuses every cheap move available to it: it does not call the other quote a scam, it itemises what the gap buys — a pulled permit and a county inspection, crews on payroll with workers' comp rather than day labour, a warranty from a business that will still be at the same address in year four. "I'll write it all down, line by line. You compare" is a stronger close than any attack would have been.

The speaker experiment holds here too, on a second author-implying direction. The brief named the writer as the company's owner, and the letter signs "— The Owner" rather than inventing a name, a face or a biography. The rendered scene is convincing — cream stationery on a scarred desk, a chipped mug, a rolled blueprint, a hand with a ballpoint mid-sentence — and the entire handwritten body is legible and matches the concept. Best of all, the itemised estimate lying beside it foots: eleven handwritten line items from Tear Off to Dumpster summing to exactly the $9,260.00 printed at the bottom, which is a real piece of arithmetic done in handwriting inside a photograph.

Two defects, and the second is the one this batch discovered. First, this is the single ad in the batch where the re-frame padding defect recurred: the 1.91:1 export carries about sixty-five rows of flat cream at the top and bottom of a photograph of a wooden desk. Fourth occurrence in this cluster and all four have been photographs, which is the pattern — a drawing has nothing in its margins to lose. Second, the estimate's labels sit one row above their values, so Tear Off reads against $875, Dumpster has no figure at all, and the first number has no label. The declarations page on this same page has the identical one-row offset, in a separately generated image. So: rendered tabular documents in this pipeline misregister their label and value columns, the totals can still be perfectly correct, and the error is invisible unless you read across the table rather than glancing at it.

Other headlines from the same run

  • 22 Years. One County. Same Number.
  • The Permit Line They Left Out
  • I'll Show You Every Line. Free.
  • Cheaper Isn't Always Cheaper

Call to action

Learn moreContact usBook now

The one Awareness buy, and it is the right objective for it: this ad's job is to be remembered by the household three days after a hailstorm when somebody unfamiliar is at the door. Do not judge it on the week's leads — judge it on whether the calls that arrive later mention the permit.

Questions

Do Facebook ads work for roofing companies?
They reach the right person, which matters more in this trade than most: Pew puts Facebook at 74% of 50- to 64-year-olds and 57% of over-65s against Instagram's 40% and 19%, and the household living under a twenty-year-old roof is usually the household that has been there twenty years. The harder question is not whether the platform works but whether the ad is lawful where you run it — the two most common sentences in roofing advertising are prohibited for contractors in several states, and Meta will approve both. See below.
Can I advertise that I'll 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, 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 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. Check your own state before assuming otherwise, and note that ad approval by Meta tells you nothing about this.
Can I say I'll handle the insurance claim?
This is the one almost nobody asks about, and it is 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. Minnesota § 325E.66 subd. 1(a)(3) similarly 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, and invoice the carrier directly. One of the ads on this page failed exactly this test and the note explains the edit.
Does advertising roof financing change my targeting?
Yes, and it costs a roofer more than it costs most trades. 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 and metro-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 a 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. Separately, Regulation Z makes the amount of a monthly payment a triggering term, so an ad stating one must also state the repayment terms and the annual percentage rate using that phrase.
Can I run ads after a named storm?
Carefully. Meta's advertising standards prohibit content that exploits crises or controversial events for commercial purposes and name natural disasters as an example, including offering or promoting crisis-related products. Offering emergency tarping to people whose roofs are open is a service, not exploitation, and that is the defensible side of the line — but building the creative around the named event, a news photograph of the damage or a countdown moves it. Advertise the service and the arrival window; do not advertise the storm.
What size should a roofing Facebook ad be?
Render 4:5 at 1440 × 1800 — that is Meta's recommendation for Facebook Feed, which is where most of the budget delivers. But Facebook has nine image surfaces to Instagram's four and their guidance disagrees: Marketplace wants a square at 1080 × 1080 with a 40-character headline and a 30-character description, where the feed wants 27 characters and shows no description at all. With Advantage+ placements on, one export fills all nine. Compose the portrait so it survives a square crop, and reserve 1.91:1 for diagrams rather than photographs — the wide crop costs a picture more than it costs a drawing, and the one padded export on this page is a photograph.
Were any of these ads regenerated or edited?
One was re-run, from an identical brief, after the model returned truncated JSON at the image-prompt stage — the ordinary crash class this pipeline throws every few batches. Nothing was regenerated because we disliked the result, and nothing was retouched. That is why this page can tell you that the nailing diagram draws five nails under a caption saying four, that the founder's letter arrived with cream bars top and bottom, and that the insurance ad wrote a sentence its own contractor should not run. A page of examples that quietly fixed those would be a worse page and a dishonest advert for the tool that made them.

Seen enough? Make your own.

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 used above is documented in the best-in-slot ad angle library. More industries and placements are at all ad examples.