Skip to main content

Is It Worth Paying a Roofing Marketing Agency? A Contractor's Honest Math

Michael Torres, Storm Damage Specialist··30 min readRoofing Sales & Growth
On this page

Every roofing owner I have ever talked to asks the agency question the same way: "Is it actually worth paying these people?" And almost every one of them is asking the wrong version of it. The question is never whether marketing is worth paying for. Of course it is — phones do not ring on their own. The real question is narrower and more uncomfortable: is this agency, charging this fee, producing jobs at a cost you can defend on a spreadsheet, better than what you could do with the same money some other way?

That is a math question dressed up as a vibe question. Most contractors answer it on vibes — the agency seems busy, the dashboard has green arrows, the rep is friendly, leads are coming in somewhere — and they keep paying a retainer for two years without ever knowing their cost per won job. Then a slow month hits, they cancel in a panic, and they have no idea whether they just killed their best channel or finally stopped a leak.

Let me give you the actual framework. I have sat on both sides of this — watching contractors get great work from agencies and watching them get fleeced by retainers that bought nothing but a monthly PDF. By the end of this you will know what a roofing marketing agency really costs, what they genuinely do better than you, where they quietly waste your money, how to read a contract so you do not get trapped, and the four numbers that settle the worth-it question for good.

The honest answer up front

A roofing marketing agency is worth paying when the fully-loaded cost of a job they produce is lower than your gross margin on that job, and lower than what the next-best use of that money would produce. That is the whole thing. Everything else in here is about how to measure those two clauses honestly, because the agency will never measure them for you — measuring it correctly is the fastest way for them to lose the account.

Notice what that answer is not. It is not "agencies are a scam." It is not "always go in-house." It is not "spend more on marketing." Plenty of roofing companies should be paying an agency and are not. Plenty are paying one and should fire them tomorrow. The difference is never the agency's reputation or the size of their client logos. It is whether your specific numbers work.

So before you decide, you have to be able to see your numbers. And the brutal truth of this whole industry is that most roofing companies cannot, because the lead source dies the moment it touches their CRM. We will fix that.

What you are actually buying when you pay an agency

"Marketing agency" is a label stretched across at least five very different businesses. You cannot judge whether it is worth it until you know which one you are dealing with, because they fail for completely different reasons.

The five things sold as "a roofing marketing agency"

1. The lead seller (lead marketplace / aggregator). They do not market you. They run their own roofing-shaped websites and ad campaigns, capture homeowner inquiries, and sell each inquiry to three or four contractors at once. You pay per lead, often $45 to $120 for a residential roofing lead, sometimes far more for storm work. You are not buying marketing. You are buying a shared contact, in a race against the other three buyers' speed-to-lead.

2. The PPC / paid-ads shop. They run Google Search, Local Services Ads (the "Google Guaranteed" badge ones), Meta, and sometimes display, pointed at landing pages they control or one they built for you. You pay a management fee plus the ad spend, which goes straight to Google or Meta. Their skill is bid management, negative keywords, and landing-page conversion. Their failure mode is spending your ad budget to generate cheap clicks that never become jobs.

3. The SEO / content shop. They build and rank your website, your Google Business Profile, your service-area pages, and your reviews. This is the slowest channel and the one with the longest tail — six to twelve months before it pays, and then it compounds. Their failure mode is selling you "10 blog posts a month" that rank for nothing a buying homeowner ever searches.

4. The full-service / brand agency. Logo, website, ads, social, email, the works, usually on a fat monthly retainer of $3,000 to $15,000+. Sometimes excellent. Often a generalist agency with two roofing clients, applying restaurant tactics to a storm-restoration business and wondering why it does not click.

5. The canvassing / storm-chasing marketing company. Boots on the ground, door-knock crews, sometimes on commission, sometimes a hybrid. A different animal entirely — closer to a sales subcontractor than a marketing vendor — and it lives or dies on territory selection and rep quality.

Most contractors blur these together and then compare a $60 shared lead to a $4,000 retainer as if they are the same purchase. They are not. The lead seller is a transaction. The retainer is an ongoing bet on a relationship. Judge them on completely different terms.

A quick decoder table

What they sell How you pay Time to first job Main failure mode Who it fits
Shared leads Per lead ($45-$120+) Days You are 1 of 4 buyers; margins crushed Hungry closers with fast speed-to-lead
PPC / paid ads Mgmt fee + ad spend 1-4 weeks Cheap clicks, expensive jobs Companies with budget and a real sales process
SEO / content Retainer 6-12 months Ranks for words homeowners never type Established brands playing a 2-year game
Full-service retainer Flat monthly Varies wildly Generalist with no roofing depth Larger companies wanting one throat to choke
Canvassing / storm Commission or hybrid Days (post-storm) Bad territory, bad reps, compliance risk Restoration shops in hail/wind markets

When someone asks me "is a roofing marketing agency worth it," my first question back is always: which of these five did you actually hire? Half the time the owner is not sure. That uncertainty is the first sign the relationship is being run on vibes.

The numbers that decide it (and how to actually compute them)

Here is the part nobody hands you. Four numbers settle the worth-it question. If you can produce all four with confidence, you already know your answer. If you cannot produce them, that is your real problem — not the agency.

Number 1: Cost per qualified lead (CPL), not cost per "lead"

Agencies love raw lead count because it is the kindest number to them. A "lead" in an agency dashboard might be a form fill from someone pricing a gutter clean, a wrong number, or the same homeowner who filled out three forms. None of that is a qualified lead.

A qualified lead is a contactable homeowner, in your service area, with a roof problem you actually sell against, who has not already signed with someone else. Compute it like this:

Cost per qualified lead = total channel spend / count of qualified leads

Where total channel spend includes the agency fee AND the ad spend AND any per-lead cost. If you are paying a $2,500/mo PPC fee and $4,000/mo in Google ad spend, your channel spend is $6,500, not $2,500. Contractors constantly leave the ad spend out and think their leads are cheaper than they are.

Worked example: $6,500 total spend, the dashboard shows 90 "leads," but when your front desk tags them honestly, only 38 were real, contactable, in-area roof prospects. Your true CPL is $6,500 / 38 = $171, not the $72 the agency's slide claims. That gap — $72 vs $171 — is the single most common lie in roofing marketing, and it is not usually malicious. It is just that nobody is tagging the leads honestly.

Number 2: Lead-to-appointment and appointment-to-sold rates

A cheap lead that never closes is expensive. An expensive lead that closes at 40% is cheap. You cannot judge a channel on CPL alone — you have to walk it down the funnel.

Leads -> set appointments -> inspections completed -> signed jobs

Track the conversion rate at each step, by source. This is where the truth lives. A shared lead marketplace might give you a $60 CPL but a 6% close rate because three other roofers are calling the same homeowner. Your own branded Google Search leads might cost $190 but close at 35% because the homeowner searched for you and called you first. The marketplace lead looks cheaper and is actually three times more expensive per job.

Number 3: Cost per won job (the only number that pays your bills)

Cost per won job = total channel spend / signed jobs from that channel

This is the number that should be tattooed on every roofing owner's forearm. Take the $6,500 spend and 38 qualified leads from above. Say 30% set an appointment (11), 80% of those get inspected (9), and you close 45% (4 jobs). Cost per won job = $6,500 / 4 = $1,625 per signed job.

Now the worth-it test becomes simple. If your average roofing job carries $4,500 of gross margin (after materials and labor, before overhead), then $1,625 to acquire it is a fine trade — you are buying a dollar of margin for about 36 cents. If your average margin is $1,800 and acquisition is $1,625, you are working for free and the agency is the only one getting paid.

Number 4: Marketing-cost-to-revenue ratio (your spend ceiling)

Zoom out from the single channel to the whole company. Total marketing spend divided by revenue it produced. Healthy residential roofing companies generally run marketing in the 8% to 15% of revenue range, varying by market and how much is retail vs. storm/insurance work. Storm-restoration shops with heavy canvassing or lead-buying often run higher; established brands with strong organic search and referrals run lower.

This ratio is your sanity ceiling. If an agency relationship is pushing your blended marketing-to-revenue past ~18-20% with no path back down, either the channel is broken or you are scaling spend faster than your sales team can convert it. Both are fixable, but only if you are watching the ratio.

The four-number scorecard

Number Formula Worth-it signal
Cost per qualified lead Total spend / real qualified leads Stable or falling, honestly tagged
Funnel conversion by source Rate at each step, per channel Close rate holds as you scale spend
Cost per won job Total spend / signed jobs Well under your gross margin per job
Marketing-to-revenue Total mktg spend / revenue produced Inside 8-15%, not drifting up

If an agency cannot or will not help you build this scorecard — if every conversation is about "impressions" and "leads" and never about cost per won job — that tells you most of what you need to know. They are optimizing the number that flatters them, not the number that pays you.

Agency vs. in-house vs. the hybrid: a real comparison

The "should I just hire someone in-house" instinct is healthy, but the comparison people run is usually rigged. They compare a $4,000 agency retainer to a $4,000 employee and conclude the employee is free leads. It does not work that way.

What in-house actually costs

A competent roofing marketing coordinator runs $50,000-$75,000 in salary depending on market, call it $60,000, which is roughly $5,000/month before you add payroll taxes, benefits, software, and the ad spend they manage. Loaded, that one person is $6,500-$8,000/month all-in before a single ad dollar. And one mid-level coordinator usually cannot do everything a multi-discipline agency does — they are strong at maybe two of: ads, SEO, content, design, analytics, CRM. You will still be buying tools and probably a contractor or two to fill gaps.

What the agency premium buys

You are not paying the agency for the labor hours. You are paying for the bench — the ads specialist, the SEO, the designer, the analyst, and ideally the roofing-specific pattern library they have built across many similar clients. A good roofing agency has already learned which Local Services Ads categories convert, which storm-season cadences work, what a converting roofing landing page looks like, and how to not get a Google Business Profile suspended. That accumulated pattern-matching is the real product. A first in-house hire is starting that learning curve from zero, on your dime.

The honest decision matrix

Your situation Lean agency Lean in-house Lean hybrid
Under ~$2M revenue, no marketing person ✔ Agency for the bench
$2M-$8M, one channel dominates ✔ In-house owner + agency for the deep channel
$8M+, multi-market, multi-channel ✔ In-house team, agencies as specialists
Storm/restoration, seasonal spikes ✔ Agency flexes with the season
You cannot measure cost per won job today ✔ Buy measurement first, expansion later

The pattern: small and unsystematized -> agency, because you need the bench more than you need to own it. Big and systematized -> in-house core with agencies as scalpels for specific channels. The expensive mistake is a mid-size company paying a full-service retainer for work a $60k coordinator plus one specialist agency could do better and cheaper — or a tiny company hiring a junior marketer and waiting a year for them to learn what an agency already knows.

The hybrid is where most growing roofing companies should land: one internal owner of marketing who lives in the numbers, controls the CRM, and owns the brand, plus an agency or two for the channels that need real specialist depth (almost always paid ads, sometimes SEO). The internal person's first job is not to do marketing. It is to measure it, so the agency can never again hand you a dashboard you cannot verify.

Where agencies genuinely earn their fee

I am not here to bash agencies. The good ones are worth every dollar, and it is worth naming exactly where they create value you cannot easily replicate.

Paid-ads execution at scale. Google's auction is unforgiving. Bid management, negative-keyword hygiene, Local Services Ads category and dispute handling, conversion tracking that does not double-count — this is a craft, and a specialist who runs it across twenty roofing accounts will beat your part-time coordinator nearly every time. If you are spending real money on Google, a competent PPC shop usually pays for itself just by killing wasted spend.

Conversion-rate work on landing pages. A good agency tests headlines, forms, and call-tracking and lifts your form-fill rate from 3% to 6%, which doubles your leads at the same spend. Most contractors never test anything. This is invisible, unglamorous, and extremely valuable.

Google Business Profile and reviews systems. Your map ranking and review velocity drive more residential roofing leads than almost anything else, and the rules are fiddly and change often. Agencies that live in this get you ranked and keep you from getting suspended.

Speed and seasonality. When a hail event hits your market, the window is days, not weeks. An agency with the campaigns pre-built and budget ready can flip on storm-response ads and landing pages while your in-house person is still figuring out the audience. That responsiveness, in a storm market, is genuinely hard to staff internally.

If an agency is doing these four things well and your cost-per-won-job math clears your margin, the answer to the worth-it question is simply yes. Keep paying them and be grateful.

Where the money quietly leaks

Now the other side. Here is where roofing marketing dollars die, usually without anyone noticing for months.

Leak 1: The retainer that buys activity, not outcomes

The most expensive words in roofing marketing are "we posted 12 times to social this month." Activity is not outcome. A retainer should be tied to leads and, ideally, to cost per won job — not to a checklist of deliverables that would impress nobody if they had to defend it in front of your foreman. When the monthly report is a list of things done with no line for jobs produced, you are paying for motion.

Leak 2: Shared leads sold as exclusive

Read the contract. Many lead products are non-exclusive by default and sold to three or four contractors. If you are not the first to call within five minutes, you usually lose. Buying shared leads is a legitimate strategy if you have a closer who pounces and your math works at a 6-10% close rate. Buying them while believing they are exclusive is how you bleed margin and blame your sales team.

Leak 3: The attribution black hole (the big one)

This is the deepest leak, and it is mostly your fault, not the agency's. The lead comes in, your office staff (or the agency, or a web form, or a call) drops it into your CRM — and the source gets overwritten, mistyped, or lost. Three weeks later when the job closes, nobody can say which channel produced it. So you cannot compute cost per won job by source. So you cannot tell the $1,600/job channel from the $6,000/job channel. So you keep funding both, and the bad one is silently eating the good one's profit.

The technical name for the fix is immutable first-touch attribution: the moment a lead enters, you stamp the original source and never let it be overwritten by a later touch or a salesperson's guess. Then every funnel stage carries that stamp to the close. Without it, the entire four-number scorecard above is fiction, and the worth-it question is genuinely unanswerable. This single gap is why most contractors run marketing on vibes — not because they are lazy, but because their data physically cannot answer the question.

Leak 4: Vanity channels with no path to a roof

Branded swag, a beautiful Instagram grid, a podcast — fine if you have proven your acquisition channels and have profit to spend on brand. A disaster if your cost per won job is still a mystery and someone is billing you $2,000/month for content that has never been traced to a single signed contract.

Leak 5: Long contracts with no off-ramp

Twelve-month agency contracts with a cancellation penalty and no performance clause are a trap when paired with no measurement. You are locked into a bet you cannot evaluate. We will deal with the contract terms next, because this is where you protect yourself before you ever sign.

How to read a roofing agency contract without getting trapped

Before you sign anything, run the document through this checklist. Every item is a place contractors get hurt.

  1. Who owns the assets? Your website, your Google Business Profile, your ad accounts, your call-tracking numbers, your domain, your content. If the agency owns them, leaving means starting from scratch and you are hostage. Demand that all accounts are created under your logins with you as primary owner, and that you keep everything if you part ways. This is non-negotiable.
  2. Is the ad spend separate and transparent? You should see the raw Google/Meta spend, not a blended number that hides their margin on your media. Ask for direct billing or full account access. If they refuse to show you the ad platform itself, walk.
  3. What is the real term and off-ramp? Look for a 30-day out, or at most a short initial commitment (90 days is defensible for SEO ramp-up; 12 months with a penalty and no performance clause is not).
  4. Are leads exclusive or shared? Get it in writing. If shared, the price must reflect it.
  5. What exactly is reported, and how often? Insist the report includes leads and a path to cost per won job, with source-level data you can reconcile against your own CRM. "Impressions and clicks" is not a report; it is a smokescreen.
  6. Who controls the CRM and the data? This is the one most contractors miss. If the agency's funnel data lives only in the agency's dashboard and never lands, source-stamped, in a system you own, you can never independently verify them. Your lead data must flow into your CRM with the source attached.
  7. Is there a performance floor or any skin in the game? Not every good agency does pay-for-performance, and pure pay-per-lead has its own problems, but a willingness to tie some of the fee to outcomes is a strong honesty signal.
  8. What is the onboarding and ramp expectation? Get realistic timelines in writing. SEO is 6-12 months. Paid ads is 2-6 weeks to stabilize. Anyone promising floods of jobs in week one is selling shared leads or lying.

If an agency bristles at items 1, 2, and 6 — asset ownership, spend transparency, and your control of the data — that is the whole answer. The good ones expect these questions and have clean answers ready. The ones who get defensive are protecting the parts of the relationship that benefit them at your expense.

The thing that breaks every worth-it analysis: you cannot see your own numbers

Let me restate the core problem, because it is the hinge of the entire decision. You cannot answer "is this agency worth it" without cost per won job by source. You cannot get cost per won job by source without immutable first-touch attribution running from the very first contact all the way to the signed contract. And almost no roofing company has that, because leads enter through five different doors — web form, phone, door knock, mailer QR scan, referral — and the source gets mangled or lost at the threshold.

This is exactly the gap RoofPredict is built to close. The lead pipeline runs the homeowner from new -> contacting -> appointment -> inspected -> won/lost, and it stamps an immutable first-touch source the instant the lead is created, so the channel that produced a signed job can never be overwritten by a later touch or a salesperson's best guess. That one design choice is what turns the four-number scorecard from a wish into a report you can actually pull.

On top of that, RoofPredict has two-way sync with 13 CRMs — including HubSpot, ServiceTitan, JobNimbus, AccuLynx, Jobber, Housecall Pro, Salesforce, Pipedrive, Leap, Roofr, SalesRabbit, and CompanyCam, plus Zapier and CSV — so the source-stamped lead lands in the system your office already runs on instead of forcing you to rip anything out. If your team lives in JobNimbus or AccuLynx, the attribution travels with the lead into that CRM rather than dying at the door.

Then the results funnel does the part the agency will never volunteer: it lays out delivered -> views -> form -> calls -> leads -> wins, with cost-per-lead and cost-per-win, and it shows actual vs. estimate vs. an industry benchmark so you can see whether a channel is beating, meeting, or missing what it promised — and run A/B variants to find out why. That is the difference between sitting in a quarterly review nodding at an agency's slide and walking in with your own cost-per-won-job by source and asking the only question that matters: which of these channels actually pays?

The honest limit, so you hear it from me: this is measurement and pipeline infrastructure, not a magic lead faucet. It does not make a bad agency good. What it does is end the era of running marketing on vibes, so that when you finally do answer the worth-it question, you are answering it with numbers instead of feelings — and so a great agency gets the credit it has earned while a leaking one gets cut before it drains another quarter.

If you decide to skip the agency: what you can run yourself

Sometimes the answer is no, or not yet. Maybe your margins are too thin to support an acquisition cost, or you are too small to feed a retainer, or you just need to prove a channel before you pay someone to scale it. Here is the part agencies will not tell you: a meaningful slice of roofing customer acquisition is something a disciplined contractor can run in-house, especially the targeting-and-outreach side, and especially in a storm market.

The core insight is that you do not need to buy leads if you can identify the homes most likely to need a roof and reach them directly. Roof replacement demand is not random. It clusters around two things you can actually estimate: roof age and storm exposure. A roof in the 18-25 year band in an asphalt-shingle market is in or near its replacement window. A neighborhood that took a verified hail or high-wind event is suddenly full of homes with a reason to call. Overlay those two and you have a target list far better than a shared lead marketplace, because you are the first and only contractor reaching that homeowner instead of the fourth.

This is the other half of what RoofPredict does, and it is the half that lets some contractors skip the agency for the targeting function entirely. It scores every home in a service area by roof-age band — recent, mid-life, due, overdue — plus per-roof storm exposure and an opportunity score, then generates a ranked, house-by-house target audience with a "why this home" evidence chain. You draw your territory on a hex map or import addresses by CSV, filter to storm-hit areas, and you have a due-roof list you own outright.

From there the outreach is self-serve and tracked end to end:

  • Direct mail turns the due-roof list into a tracked campaign — personalized mail proofs with brand, copy, and address checks, vendor release, per-piece delivery and return tracking, and a cost quote up front, so you know your spend before the first piece ships.
  • Microsites, reports, and QR codes give every targeted home a personalized roof report (roof profile, storm history, risk and cost-of-waiting) as a PDF and a public microsite with a lead-capture form, plus per-home and lookup QR codes for the mail pieces and door hangers — and when that homeowner scans and fills the form, the lead enters the pipeline already source-stamped.
  • Canvassing and the field app let you build door-knock routes from the same ranked list, assign canvassers, and run a mobile app with next-stop routing, outcome forms, voice notes, leave-behind QR codes, and live route progress.

A roofer running this is doing the agency's targeting and outreach work themselves, with full ownership of the data and a real cost-per-piece and cost-per-win on every campaign. Be honest about the limits, though: the scoring is a roof-age-plus-storm-exposure heuristic, not certainty. Roof age is a range, not an exact install date. A storm forecast or exposure flag is odds that a home was affected, not proof of damage. You still have to inspect, document, and earn the job. What the targeting buys you is a far better-than-random list and a measurable, owned alternative to renting leads — which, for many contractors, changes the worth-it math entirely.

A note for storm and restoration shops: stay on the right side of the line

If your marketing leans on storms, hail, and insurance claims — and most roofing marketing in hail country does — the worth-it question comes with a compliance question stapled to it, and getting this wrong is far more expensive than any agency fee. A roofing contractor occupies a specific, legal lane, and a lot of agency-written ad copy steps right out of it.

Here is the line, plainly. A roofer may inspect a roof, document storm damage thoroughly, and prepare an accurate, Xactimate-aligned estimate to repair their own work, and state the facts about their scope to the carrier. A roofer may not, for a fee, negotiate or "handle" or adjust the homeowner's claim, interpret what the policy covers, promise a specific payout or that the claim will be approved, promise the deductible will be waived or absorbed or made to disappear, advertise a "free roof," or represent the homeowner against their insurer. That last cluster is unlicensed public adjusting in most states, and it is a fast way to a fine or worse.

The safe frame for every storm marketing message: document thoroughly, write an accurate repair estimate, and hand it to the homeowner. The homeowner files the claim. The insurer decides coverage. Your job is the roof and the documentation, not the claim.

This matters to the agency decision in two ways. First, vet the agency's compliance instincts. If their sample storm ads say "we get your roof covered" or "we waive your deductible" or "free roof with your claim," they are writing copy that can put your license and your bank account at risk. A roofing-literate agency knows the do-not-say list cold. A generalist running restaurant tactics does not, and you will be the one holding the liability.

Second, the documentation side is a place where the right platform does real work without ever crossing the line. RoofPredict's RoofClaim module is built entirely on the contractor-documentation side of that wall, on locked, compliance-gated templates that keep you in your lane. It handles claim intake linked to the specific home; it lets you upload, auto-classify, and OCR claim documents — carrier and contractor estimates, photos, denial letters, invoices. Its opportunity detection maps the estimate's line items against a roofing knowledge base and flags missing scope, code-required items, and missed supplements with evidence anchors and pricing — so you can document, accurately and thoroughly, what the repair actually requires. It runs a recoverable-depreciation autopilot (completion-evidence plus final-invoice checklist), deductible tracking, supplement aging with a follow-up cadence and packet-completeness scoring, and email triage for the claim inbox. The outputs are supplement packets, depreciation-release letters, deductible invoices, missing-docs letters, and audit reports.

Every one of those is a documentation artifact — an accurate, well-evidenced account of what the roof needs, handed to the homeowner to file. None of it negotiates the claim, interprets coverage, or promises an outcome, because doing any of that would be the line you must not cross. For a restoration shop, the worth-it calculation is more than leads-per-dollar; it is whether your whole revenue cycle is documented thoroughly enough to capture the scope you actually performed — without your marketing copy or your claim process drifting into public adjusting.

Red flags and green flags when you interview an agency

Before you sign, you usually get a sales call. Treat it as your interview of them, not theirs of you. The way an agency talks in that first conversation predicts almost everything about how the relationship will go, because the incentives that shape their pitch are the same incentives that will shape your monthly report.

Green flags — keep talking to these: They ask about your average job size, your gross margin, and your current close rate before they quote you anything, because they cannot tell you what a good cost per lead is without knowing your economics. They volunteer that SEO takes months. They want to see your sales process and ask who answers the phone and how fast, because they know the best ads in the world die against a slow front desk. They talk about cost per won job unprompted. They are comfortable with you owning every account. They name a channel they think you should not spend on yet. An agency that talks you out of spending is an agency thinking about your outcome.

Red flags — slow down: They lead with their client logos and award badges instead of your numbers. They quote a flat "we'll get you 50 leads a month" with no definition of a lead. They get cagey when you ask to own the ad account or see raw spend. They promise specific results in the first week. They cannot explain how a lead's source gets recorded and preserved through to a signed job. For storm work, their sample ads promise covered roofs, waived deductibles, or free roofs — copy that puts your license at risk and proves they do not know the compliance line. Any one of these is a conversation; two or three together is a pass.

The pattern underneath both lists is simple. The agency worth paying is the one already thinking in terms of your signed jobs and your margin. The one to avoid is thinking in terms of their deliverables and their dashboard. You can hear which is which in the first ten minutes if you listen for it.

Putting it together: a 30-day worth-it audit

You do not have to decide today on instinct. Run this audit over the next month and the answer will produce itself.

Week 1 — Fix attribution. Before you judge anyone, make sure every lead that enters gets a source stamped that cannot be overwritten, carried into whatever CRM you use. If you cannot do this, this is your first project, because nothing downstream is trustworthy without it. Tag the last 90 days of leads by source as best you can to get a rough baseline.

Week 2 — Compute the four numbers per channel. For each marketing source — the agency, any lead seller, your own organic, referrals — compute cost per qualified lead, the funnel conversion at each step, cost per won job, and roll up your overall marketing-to-revenue ratio. Be ruthless about what counts as a qualified lead and a real signed job.

Week 3 — Stack each channel against your margin. Put cost per won job next to your average gross margin per job. Any channel where acquisition cost is a comfortable fraction of margin stays. Any channel near or above margin is on probation. Any channel you cannot measure is, for now, treated as a leak until proven otherwise.

Week 4 — Decide and renegotiate. Now you walk into the agency conversation with numbers. Keep the channels that clear the math. Renegotiate or cut the ones that do not. Where an agency is genuinely earning — usually paid-ads execution and conversion work — pay them happily. Where you are paying for activity with no traceable job, stop. And consider moving your targeting-and-outreach in-house if owning that list and that data produces a better cost per won job than renting leads.

At the end of those four weeks you will never again have to ask whether a roofing marketing agency is "worth it" as a feeling. You will know, per channel, per dollar, per signed roof.

So — is it worth paying a roofing marketing agency?

Yes, when a specific agency produces signed jobs at a cost comfortably under your gross margin, does the specialist work you genuinely cannot replicate in-house, owns the assets under your name, shows you the raw ad spend, and helps rather than hides cost per won job. That agency is worth every dollar and you should keep paying them.

No, when you are paying a retainer for activity you cannot trace to a single roof, buying shared leads you believed were exclusive, locked into a contract with no off-ramp and no measurement, or — most common of all — flying blind because your lead source dies the moment it hits your CRM.

The deciding factor was never the agency's reputation. It was always your ability to see the math. Fix your attribution so every lead carries its true source from first touch to signed contract, build the four-number scorecard, and the worth-it question answers itself — channel by channel, in dollars.

That is the work RoofPredict was built to make routine: immutable first-touch attribution flowing two-way into the 13 CRMs you already run, a results funnel that puts cost-per-win and actual-vs-estimate in front of you, a ranked due-roof audience with tracked mail, microsites, QR, and field routes so you can own your targeting instead of renting it, and RoofClaim's documentation engine to capture the full scope on the restoration side — all on compliance-gated templates that keep you in your lane. Start by being able to answer the question honestly. Then pay the agencies that earn it, and only those.

FAQ

How much does a roofing marketing agency cost?

It depends entirely on which type you hire. Shared lead marketplaces charge roughly $45-$120+ per residential roofing lead. PPC shops charge a management fee (often $1,500-$4,000/mo) plus your ad spend on top. SEO and full-service retainers commonly run $3,000-$15,000+ per month. The headline fee matters less than your cost per won job — a $5,000 retainer producing jobs at $1,500 each is cheap; a $60 lead that never closes is expensive.

What is a good cost per lead for roofing?

There is no universal number, and cost per lead alone is misleading. A shared marketplace lead might cost $60 but close at 6%; a branded search lead might cost $190 but close at 35%. Always walk it down to cost per won job — total channel spend (fee plus ad spend) divided by signed jobs. That figure, compared against your gross margin per job, is what actually tells you if a channel is worth it.

Should I hire a roofing marketing agency or build an in-house team?

Under roughly $2M in revenue with no marketing person, an agency usually wins because you need their multi-discipline bench more than you need to own it. Above $8M and multi-market, an in-house core with specialist agencies as scalpels usually wins. Most growing companies land on a hybrid: one internal person who owns the numbers, the CRM, and the brand, plus an agency for deep-specialist channels like paid ads.

How do I measure roofing marketing ROI accurately?

Stamp an immutable first-touch source on every lead the moment it enters and carry it through to the signed contract, so you can compute cost per won job by source. Then track four numbers per channel: cost per qualified lead, funnel conversion at each step, cost per won job, and overall marketing-to-revenue ratio. Without source attribution that survives into your CRM, ROI by channel is unmeasurable and you are guessing.

Why can't I tell which marketing channel is making me money?

Almost always because the lead source gets overwritten, mistyped, or lost between when the lead enters and when the job closes. Leads come through web forms, phone calls, door knocks, and QR scans, and the original source rarely survives into the CRM. The fix is immutable first-touch attribution: stamp the source at creation, never let it be overwritten, and carry it to the close so cost per won job by source becomes computable.

Are shared roofing leads worth buying?

They can be, if you have a closer with very fast speed-to-lead and your math works at a 6-10% close rate, since the same lead is typically sold to three or four contractors. They are a bad deal if you believe they are exclusive when they are not, or if your sales response is slow. Always read the contract for exclusivity and price the lead against your real close rate, not the marketplace's.

What should I check in a roofing agency contract before signing?

Confirm you own all assets (website, Google Business Profile, ad accounts, domain, call-tracking numbers) under your own logins; that ad spend is shown transparently and separately from their fee; that there is a reasonable off-ramp, not a 12-month penalty with no performance clause; whether leads are exclusive or shared; and that reporting reaches cost per won job, with source data flowing into a CRM you control.

Can I do roofing marketing myself instead of paying an agency?

A meaningful part of it, yes — especially targeting and outreach. Instead of renting leads, you can identify the homes most likely to need a roof by combining roof-age bands with storm exposure, then reach them first through tracked direct mail, personalized microsites with QR codes, and door-knock routes. You own the data and get a real cost per win. Paid-ads execution and technical SEO are the pieces most contractors still benefit from outsourcing to a specialist.

How can roofing storm and insurance marketing stay legally compliant?

Stay strictly on the documentation side. A roofer may inspect, document damage, and prepare an accurate repair estimate, and state facts about their own scope to the carrier. A roofer may not, for a fee, negotiate or handle the claim, interpret coverage, promise a payout or approval, promise the deductible is waived, advertise a free roof, or represent the homeowner against the insurer — that is unlicensed public adjusting. The safe frame: you document and estimate, the homeowner files, the insurer decides coverage.

How long before a roofing marketing agency produces results?

It varies by channel. Shared leads and canvassing can produce contacts within days. Paid ads typically take two to six weeks to stabilize and optimize. SEO and content take six to twelve months before they pay, then compound. Anyone promising a flood of signed jobs in the first week is selling shared leads or overpromising. Put realistic ramp timelines in writing before you sign.

The Roofline by RoofPredict

Stay Ahead of Roofing Market Changes

Join The Roofline by RoofPredict for weekly roofing intelligence: material price signals, storm demand, insurance and regulatory updates, sales tactics, and local contractor opportunities.

By signing up, you agree to receive The Roofline by RoofPredict. Unsubscribe anytime.

Sources

  1. National Roofing Contractors Association (NRCA)nrca.net
  2. Insurance Institute for Business & Home Safety (IBHS) — Roofing Researchibhs.org
  3. NOAA National Weather Service — Storm Prediction Centerspc.noaa.gov
  4. NOAA National Centers for Environmental Information — Storm Events Databasencdc.noaa.gov
  5. Federal Trade Commission — Advertising and Marketing Basicsftc.gov
  6. Texas Department of Insurance — Public Insurance Adjusterstdi.texas.gov
  7. International Code Council — International Residential Code (IRC)codes.iccsafe.org
  8. U.S. Bureau of Labor Statistics — Roofers Occupational Outlookbls.gov
  9. U.S. Census Bureau — American Housing Surveycensus.gov
  10. OSHA — Fall Protection in Residential Constructionosha.gov
  11. Google — Local Services Ads Helpsupport.google.com
  12. Google Business Profile Help — Guidelines for representing your businesssupport.google.com
  13. National Association of Insurance Commissioners (NAIC) — Adjuster Licensingnaic.org
  14. RoofPredictroofpredict.com

Related Articles