Key takeaways
- An asphalt roof replacement costs $31,871 on average in the US (JLC Cost vs Value 2025), so one signed job pays for a lot of advertising.
- Most guides stop at "get more leads", but roofers lose most of their money after the lead arrives, through slow replies, missing qualifying questions, no-shows and estimates that nobody follows up.
- Lead sites sell a shared lead to several roofers at once, while a lead from your own ads goes only to you.
- Ask 5 questions before you send an inspector: what the roof needs, who owns the home, how old the roof is, whether insurance is involved and who makes the decision.
- Track cost per signed roof instead of cost per lead, and use the calculator below to work it out.
This guide is part of our home services lead generation series. Before we wrote it, we read the top Google results for "how to get roofing leads". Those pages list the channels well, but none of them explains how to qualify a roofing lead, book the inspection or stop no-shows, so this guide covers those steps in detail.
Quick answer: how do you get roofing leads?
Roofers get leads from three main places: referrals and reviews, which cost nothing but grow slowly, Google (Business Profile, Local Services Ads and search ads), which reaches people who already search, and Meta ads on Facebook and Instagram, which reach homeowners before they search. After that, every lead should go through the same steps: a reply within minutes, a few qualifying questions, an inspection booked with every decision maker, reminders before the visit and follow-up on every estimate. The channels bring the leads in, and the steps turn those leads into signed roofs.
Why most roofing leads never become a roof
Roofers rarely say they need more leads. They say something closer to "I paid for 50 leads and signed 3." Owners on r/Roofing and r/RoofingSales describe the same problems over and over, including wrong phone numbers, homeowners who already spoke to three other roofers and people who never answer the phone.
A roofing lead usually slips away at one of these five points:
- The ad reaches the wrong people, such as renters, people outside your service area or people who want a free roof.
- The reply comes too late, and the homeowner books whichever roofer calls first.
- Nobody qualifies the lead, so your best inspector drives an hour to look at a $400 repair.
- The inspection falls through, because nobody is home or only one spouse is home and won't decide alone.
- The estimate goes quiet after one email and no further follow-up.
When you fix those five points, the same ad budget signs more roofs, and the rest of this guide works through them in order.
The numbers behind a roofing lead
Homeowners buy a new roof only once every couple of decades, so most of them don't know which roofer to trust, and they compare several before they choose. The numbers below show why each lead deserves real effort.
| Measure | Figure | Source |
|---|---|---|
| Average asphalt shingle roof replacement | $31,871 (67.5% of cost recouped at resale) | JLC Cost vs Value, 2025 |
| Average metal roof replacement | $51,865 | JLC Cost vs Value, 2025 |
| US insured losses from severe storms in 2025 | $51 billion, which made 2025 the third year in a row above $50 billion | Insurance Information Institute, reported by MyChesCo |
| Share of severe storm claims caused by hail | Up to 80% in a typical year | Insurance Information Institute |
| Share of residential hail losses that are roof damage | 70% to 90% | Insurance Information Institute |
| Residential claims with roofing line items (2022) | 1.8 million, about 38% of residential claims | Verisk |
| Roofing contractor businesses in the US (2023) | 96,474 | IBISWorld, via ConsumerAffairs |
These numbers lead to two conclusions. First, storms create sudden spikes in demand, so your follow-up has to cope with 10 times your usual leads in a single week. Second, the homeowner can choose from almost 100,000 roofing companies, which means speed and trust decide who gets the job.
Where roofing leads come from
Every top-ranking guide lists the channels, so the table below puts them side by side and adds the two questions that matter most: who owns the lead, and how ready the homeowner is to buy.
| Channel | How ready they are | Exclusive to you? | Best for |
|---|---|---|---|
| Referrals and past customers | Very ready, they trust you already | Yes | Every roofer. Ask after every job. |
| Google Business Profile and reviews | Ready, searching now | Yes | Showing up on the map when people search "roofer near me" |
| Google Local Services Ads | Ready, searching now | Yes, pay per lead | Calls from people with an urgent need |
| Google search ads | Ready, searching now | Yes, pay per click | Replacement searches in your zip codes |
| Meta ads (Facebook, Instagram) | Not searching yet, but can be qualified | Yes | Reaching homeowners with older roofs before they search |
| Lead sites (Angi, HomeAdvisor, Thumbtack) | Mixed | Usually shared | Filling gaps, not building a business |
| Door knocking after storms | Mixed, high volume | Yes | Storm areas, with local rules followed |
| Yard signs, truck wraps, direct mail | Low to mixed | Yes | The street around each job you finish |
Search channels reach homeowners who are ready to act now. Meta ads create demand that you can shape, because you choose the audience, the offer and the questions on the form, which is why most growing roofers run both. If you use Local Services Ads, mark bad leads in your dashboard, because Google now credits some low-quality leads automatically (Google).
Shared vs exclusive roofing leads
A shared lead is one homeowner that a lead site sells to several roofers. A lead from your own ads, website or Google profile is exclusive, which means only you receive it.
| Question | Shared lead sites | Your own ads and profile |
|---|---|---|
| Who else gets the lead? | Often several other roofers | Nobody |
| Can you choose the questions? | No, the site decides | Yes, your form, your questions |
| Who owns the data? | The site | You |
| What wins the job? | Mostly speed and price | Speed, trust and a better first conversation |
Treat any claim about lead quality with caution. In 2023 the US Federal Trade Commission approved a final order against HomeAdvisor, which agreed to pay up to $7.2 million. The FTC alleged that HomeAdvisor made false, misleading or unsupported claims to service providers about the quality and source of its leads and about how often those leads turned into jobs, and HomeAdvisor did not admit wrongdoing (FTC). Whichever source you buy from, track every lead to a signed job yourself.
How to run Meta ads that bring homeowners, not tire kickers
Meta ads work for roofers when you keep them narrow. A broad ad with "FREE ROOF INSPECTION" in large letters attracts everyone, including renters and people who only want a free look at their roof.
- Study the ads that already work. Look up your competitors, and roofers in other states, in the Meta Ad Library. An ad that has run for several months usually pays for itself, so note its offer, its photo and its first line.
- Target only your service area. Use the zip codes you serve, and add neighborhoods with older homes, where roofs are near the end of their life.
- Show real roofs. Before and after photos of local jobs perform better than stock photos, and a real face with a local street name builds trust.
- Make an honest offer. "A free 20-minute roof check with photos of everything we find" works better than "free roof", and you should never promise that insurance will pay.
- Use a higher intent form. Meta's lead forms include a "higher intent" option that adds a review step before people submit. You get fewer leads with it, but more of them are real homeowners.
- Add qualifying questions to the form, covering ownership, what the roof needs and the zip code, as the next section explains.
Qualify before you send anyone out
Your inspectors' time is the most limited resource you have. Each inspection with a renter, a $400 repair or a homeowner outside your area takes a slot you could have given to a real replacement. Ask these questions on the form or in the first text:

| Question | Why you ask it | What a good answer looks like |
|---|---|---|
| What does your roof need? | Repairs and replacements need different people | Replacement, storm damage or "not sure" |
| Do you own the home? | Renters can't sign | Yes |
| About how old is the roof? | Older roofs are closer to replacement | 15 years or more, or "not sure" |
| Is this an insurance claim? | Claims change the timeline and paperwork | Yes with a date of loss, or no if they plan to pay directly or finance |
| Who decides on the roof? | Everyone who decides should be at the inspection | All owners can be there |
Don't drop a lead because it misses one answer, and route it instead. Send repairs to your repair crew, accept "not sure" about roof age because that is often why the homeowner wants an inspection, and ask renters to pass on the landlord's contact details.
Speed to lead: reply in minutes, not hours
Roofing leads go cold within hours, and storms make it worse because every roofer in town calls the same streets. A Harvard Business Review study of 2,241 US companies found that firms who tried to contact a lead within an hour were nearly 7 times as likely to qualify it as firms who waited longer. The study did not look at roofing, and it shows a link rather than proof of cause, but it matches what roofers see on the ground, where the first useful conversation usually wins the job.
Your first reply should sound like your own office rather than a robot, and you can use the messages below as they are:
Hi [Name], this is [Your name] with [Company]. Got your request about your roof on [Street]. Quick one so we send the right person: is it a leak or repair, or are you thinking about a full replacement?
Thanks [Name]. We can look at it [Day] at [Time] or [Day] at [Time]. It takes about 30 minutes and we send you photos of everything we find. If anyone else decides on the roof, it helps if they can be there too. Which time works?
Hi [Name], [Your name] from [Company] again. Tried you about your roof. If texting is easier, just reply with a good time and I will book it for you.
Add a consent line for automated texts and calls to your form, and follow the US TCPA rules and your state's rules.
Book inspections that actually happen
A booked inspection does not guarantee a signed roof. Two problems kill most inspections: nobody is home, or the person at home can't make the decision. You can fix both before the day of the visit.
- Book everyone who makes the decision. Ask "Who else decides on the roof?" when you book, and choose a time when all of them can be there.
- Confirm the booking straight away with the date, time, address and the inspector's name and photo.
- Send more than one reminder, following the timeline below.
- Rebook no-shows within minutes. A kind text sent within 10 minutes saves many of them.

Researchers have tested reminders more than almost any other way to cut no-shows, although most of the studies come from medical clinics rather than roofing. A 2016 BMJ Open systematic review and meta-analysis found that people who got text or other digital reminders were 23% more likely to attend, and the no-show rate fell from 21% to 15%. Several reminders worked better than a single one.
Storm leads without breaking the law
Hail and wind bring the biggest spikes in leads, and they also bring the most rules. Learn these before you run storm ads or knock on doors:
- Never offer to cover the deductible. Texas law bars a contractor from offering to waive, rebate or absorb a policyholder's deductible, and any contract of $1,000 or more tied to an insurance settlement must include a notice that the owner pays the deductible (Texas Department of Insurance). Several other states have similar rules.
- Don't act as the adjuster. Texas also bars a roofer from acting as a public adjuster on their own job or advertising that they will (TDI).
- Give the cancel notice on door-to-door sales. The FTC's Cooling-Off Rule gives buyers 3 business days to cancel many sales made at their home, and it requires you to tell them about that right.
- Check permits and local rules, because many cities require a solicitation permit before you knock on doors.
This section gives general information rather than legal advice, so check your state's rules with your attorney.
Follow up on every estimate
Many homeowners collect 2 or 3 estimates and then wait. The roofer who follows up with something useful, rather than a message that says "just checking in", stays on their mind.

- Day 0: send the estimate with a 2-minute phone video that shows their roof and explains what you would do.
- Day 7: send photos of a roof you finished nearby, with the street name if that owner agreed.
- Day 14: share your financing options if you offer them, because price is often the real objection.
- Day 30: send a short, polite last message, since some homeowners reply only to that one.
Calculator: your cost per signed roof
Cost per lead hides the number that matters. A $40 lead that never signs costs you more than a $150 lead that does, so put your own numbers into the calculator:
Sample starting numbers How we work out this number
Signed roofs = leads × qualify % × book % × show % × sign %, and cost per signed roof = ad spend ÷ signed roofs. Change each number to match your own business.
Next, change one number at a time. Raising the show rate from 75% to 85% with reminders often costs less than buying more leads, and it lowers the cost of every signed roof.
Mistakes to avoid

- They judge each channel by cost per lead instead of cost per signed roof.
- They send inspectors to leads that nobody qualified.
- They book an inspection when only one of two owners can be there.
- They promise homeowners that insurance will pay, or they offer to cover the deductible.
- They run the same ad all year instead of changing the offer for storm season, winter and spring.
- They send one estimate email and never follow up.
- They buy more leads before they fix reply speed and no-shows.
Your 90-day plan
Days 1 to 30
- Fix your Google Business Profile and ask 10 past customers for a review.
- Write the 5 qualifying questions you will ask every lead.
- Set up instant text replies and reminders for every inspection.
Days 31 to 60
- Study your competitors' ads in the Meta Ad Library.
- Launch one Meta campaign in your best zip codes.
- Track every lead until it becomes a signed job or a lost one.
Days 61 to 90
- Add Google search ads or Local Services Ads.
- Start the 30-day follow-up plan for every estimate.
- Cut the channel that shows the worst cost per signed roof.
See how JitterSystem books roof inspections
We run your ads, and our AI texts and calls every lead in your company's tone, asks your qualifying questions and books inspections on your calendar with reminders. This short video shows the whole system in under a minute:
Related guides
How much to spend on Google Ads and Meta ads in 2026
Use both Google Ads and Meta ads. Google reaches homeowners who search the day they find a leak or storm damage, and Meta reaches homeowners with older roofs months before they start searching.
Set your budget by working back from the number of clients you want each month, instead of picking a round number. The table below uses the average 2026 cost per lead from LocaliQ's benchmarks and the rates from the calculator above to show what a sensible starting budget looks like.
| Platform | Cost per lead, 2026 | Leads for 1 signed roof | Test (30 leads) | For 3 signed roofs |
|---|---|---|---|---|
| Google Ads | $90.92 (Home & Home Improvement) | About 15 | $2,728 a month | $4,041 a month |
| Meta ads | $42.95 (Home & Home Improvement) | About 15 | $1,288 a month | $1,909 a month |
Industry study The cost per lead figures are LocaliQ's 2026 averages across many advertisers. Our estimate The "Leads for 1 signed roof" column uses the calculator's starting rates (50% qualify, 60% book, 75% show up and 30% close), so swap in your own numbers once you have them.
- If you run both, start each platform on the test budget and then move money to the one that brings the lower cost per signed roof.
- Give the test budget 3 to 4 weeks before you judge the results. Meta's delivery system needs about 50 results a week to leave its learning phase (Meta), so keep a small budget in one campaign and one ad set.
- Judge each platform by cost per signed roof rather than cost per lead, and raise the budget in steps of about 20% while that number holds.
- Fix your reply speed and follow-up before you spend more, because a faster reply gets more out of every dollar in this table.
Speed to lead: how fast to reply after someone opts in
Reply within 5 minutes, and within 1 minute if you can. The Harvard Business Review study of 2,241 companies found that firms who tried to contact a lead within an hour were nearly 7 times as likely to qualify that lead as firms who waited longer. An older industry study, the Lead Response Management study, found that a team who contacted a web lead within 5 minutes had about 21 times better odds of qualifying it than a team who waited 30 minutes. Both studies show a link rather than proof of cause, but they point the same way.
| When | What happens |
|---|---|
| Under 1 minute | An automatic email, plus a text if the lead gave consent, asks one question and offers a booking link |
| Within 5 minutes | A person on your team or an AI voice agent calls the lead |
| Same day | You make a second call and send a text if nobody answered |
| Days 1 to 14 | You follow the follow-up plan from earlier in this guide |
Set up free speed to lead with Make.com and Google Sheets
Make.com is a free website that connects your apps so they pass information to each other without any coding. In this setup, Make.com sends a friendly email from your own Gmail within about a minute of a new lead landing in your Google Sheet, and it keeps doing that after you set it up once.
Make.com's free plan includes up to 1,000 credits a month (Make.com pricing, 2026), and each lead uses about 2 credits, so the free plan covers a few hundred leads a month. To set it up you need a Google account for Gmail and Google Sheets, a free Make.com account and about 20 minutes.
| Word | What it means |
|---|---|
| Scenario | Make.com calls one automation a scenario, such as "when a new lead arrives, send an email". |
| Webhook | Make.com gives you a private web address, and anything your sheet sends to that address starts your scenario. |
| Apps Script | Google Sheets includes this free tool for small pieces of code, and the code you paste here checks your sheet for new leads every minute. |
Why this setup Make.com also offers a "Watch rows" option for Google Sheets, but it checks your sheet on a timer and spends credits even when no lead has arrived, which can use up the free plan. The setup in this guide spends credits only when a real lead comes in.
Part 1: Make the Google Sheet (5 minutes)
- Go to sheets.google.com and sign in with your Google account.
- Click Blank spreadsheet, which shows as a large plus sign.
- At the bottom left, right-click the tab called Sheet1, choose Rename and type Leads.
- In row 1, type these headings, one per cell from A to F: Name, Email, Phone, Service, Created, Sent. Leave the cells under the Sent heading empty, because the script fills them in for you.
- From now on, add every new lead on a new row. A Google Form linked to this sheet can add the rows for you, and so can most website form tools.
Part 2: Create your Make.com account and webhook (5 minutes)
- Go to make.com/en/register and sign up for free, using your Google account to save time.
- In Make.com, click Scenarios on the left, then Create a new scenario.
- Click the large purple plus sign in the middle of the screen.
- In the search box, type Webhooks, click it, then choose Custom webhook.
- Click Add, give it a name like New lead and click Save.
- Make.com shows a web address that starts with https://hook. Click Copy address to clipboard and keep this page open for the next part.
Part 3: Connect the sheet to Make.com (5 minutes)
- Go back to your Google Sheet. In the top menu, click Extensions and then Apps Script, which opens in a new tab.
- Delete any code you see in the code area so it is empty.
- Click Copy on the "Google Apps Script" box below and paste it into that code area.
- In the third line, replace PASTE_YOUR_MAKE_WEBHOOK_URL_HERE with the address you copied from Make.com. Keep the quote marks on both sides of the address.
- Click the Save icon, which looks like a floppy disk.
- At the top, next to Run, pick setup from the drop-down, then click Run.
- When Google asks for permission, click Review permissions, choose your account, click Advanced, then click Go to project (unsafe) and Allow. Google shows this warning for any script you add yourself, and the script runs only inside your own account.
Part 4: Send a test lead (2 minutes)
- In your sheet, add a test row with your own name and email, and a service like "test".
- Wait about a minute, and column F should change to Sent followed by the date.
- Back in Make.com, the webhook shows Successfully determined, which means Make.com now knows the name, email, phone and service fields from your sheet.
Part 5: Add the email and turn it on (5 minutes)
- In Make.com, move your mouse to the right side of the webhook circle and click the small plus (Add another module).
- Search for Gmail and choose Send an email.
- Click Create a connection and sign in with the Gmail account you want to send from.
- Click the To box, and when the list of fields from your webhook appears, click email.
- Copy the subject line from the "Email template" box below into Subject, and the rest into Content. Where the template says {{1.name}} or {{1.service}}, delete it and click name or service from the list instead.
- Replace the parts in square brackets, like [Your business] and [your booking link], with your own details. Then click OK.
- At the bottom left, click the clock icon and choose Immediately as data arrives. Then switch the scenario ON and click Save to start it.
- Add one more test row in your sheet with your email. The email should reach your inbox within about a minute, which means the setup works.
Subject: Thanks {{1.name}}, quick question about your roof
Hi {{1.name}},
Thanks for reaching out to [Your business] about {{1.service}}. I'm [Your name].
So we can help you fast: what is the best time for a short call today?
Or book your roof inspection here: [your booking link]
Talk soon,
[Your name]
[Your business] · [Your phone]
[Your business address]
Not interested? Reply "stop" and we won't email again.// JitterSystem free speed to lead: sends every new lead row to your Make webhook
// Sheet tab "Leads", columns: A Name | B Email | C Phone | D Service | E Created | F Sent
const WEBHOOK_URL = 'PASTE_YOUR_MAKE_WEBHOOK_URL_HERE';
const SHEET_NAME = 'Leads';
const SENT_COL = 6; // column F
function checkNewLeads() {
const lock = LockService.getScriptLock();
if (!lock.tryLock(5000)) return;
try {
const sheet = SpreadsheetApp.getActive().getSheetByName(SHEET_NAME);
const rows = sheet.getDataRange().getValues();
for (let i = 1; i < rows.length; i++) {
const r = rows[i];
if (!r[1] || r[SENT_COL - 1]) continue; // no email yet, or already sent
const lead = { name: String(r[0] || 'there'), email: String(r[1]), phone: String(r[2] || ''),
service: String(r[3] || 'your request'), created: String(r[4] || new Date()) };
const res = UrlFetchApp.fetch(WEBHOOK_URL, { method: 'post', contentType: 'application/json',
payload: JSON.stringify(lead), muteHttpExceptions: true });
if (res.getResponseCode() < 300) sheet.getRange(i + 1, SENT_COL).setValue('Sent ' + new Date().toLocaleString());
}
} finally { lock.releaseLock(); }
}
// Run this once. It checks the sheet every minute.
function setup() {
ScriptApp.getProjectTriggers().forEach(t => ScriptApp.deleteTrigger(t));
ScriptApp.newTrigger('checkNewLeads').timeBased().everyMinutes(1).create();
}- To get an alert yourself, add a second Gmail > Send an email step that sends to your own address, so you can call the lead while they are still on your website.
- Follow the rules on every message. The CAN-SPAM Act requires your business address and an easy way to opt out in every email, and the TCPA requires consent before you send texts or make automated calls.
- Treat the email as the first step. The email buys you a few minutes, but the call, the qualifying questions and the follow-up are what close the signed roof. JitterSystem runs that part for you with text and voice AI that sounds like your business.
Frequently asked questions
How do roofers get leads?
Most roofers get leads from referrals, Google (Business Profile, Local Services Ads and search ads), Meta ads on Facebook and Instagram, lead sites such as Angi, door knocking after storms and yard signs. Referrals and Google bring people who are ready to act now, while Meta ads reach homeowners before they search and let you ask qualifying questions on the form.
Are Facebook ads good for roofing leads?
Yes, Facebook ads work for roofers when you target your service area, show real local jobs, make an honest offer and use a lead form with qualifying questions. Broad ads that promise a free roof attract renters and people who aren't ready to buy, so measure your ads by cost per signed roof rather than cost per lead.
What questions should I ask a roofing lead?
Ask what the roof needs (repair, replacement or storm damage), whether they own the home, roughly how old the roof is, whether they plan an insurance claim and who decides on the roof. Those five answers tell you who to send and when to send them.
Should I buy shared roofing leads?
Shared leads can fill gaps in your schedule, but lead sites often send the same homeowner to several roofers, so you end up competing on speed and price. Leads from your own ads, website and Google profile are exclusive, and you choose the questions. Track both kinds to signed jobs before you decide where to spend.
How do I reduce no-shows for roof inspections?
Book a time when every decision maker can be home, send a confirmation straight away, remind them the day before and on the morning of the visit, send a text when the inspector is on the way, and rebook within minutes if nobody is home. Research on appointment reminders shows that several reminders work better than one.
Can I offer to pay a homeowner's insurance deductible?
Texas law bars a contractor from offering to waive, rebate or absorb a deductible, and several other states have similar rules. Never advertise it, and check your state's rules with an attorney.
What is a good cost per lead for roofing?
The cost depends on your area, your channel and your job size. Cost per signed roof, which is your ad spend divided by your signed jobs, tells you more, because a cheap lead that never signs costs more than an expensive lead that does.
Do you want qualified roof inspections on your calendar every week?
JitterSystem runs your Meta ads, qualifies every homeowner with AI that sounds like your office and books inspections with reminders. You pay only when a qualified lead shows up.
Book a callAbout this guide
Written by Prajith, founder of JitterSystem
Prajith runs JitterSystem, a client acquisition partner for US service businesses. His team plans and runs Meta and Google ad campaigns built on competitor research, and it builds the AI text and voice follow-up that qualifies each lead and books the appointment. His work combines performance marketing, consumer psychology, sales strategy and automation, and he writes these guides from the systems his team sets up and the numbers it tracks for clients.
How we put this guide together
- We read the pages that rank on the first page of Google for this topic and wrote down what each one leaves out, so this guide could fill those gaps.
- We took every figure from the original study, government source or platform policy linked in the sources below, and the tag beside each claim tells you what kind of source supports it.
- We label our own estimates and interpretations as ours, and we use sample numbers in worked examples only to show how the maths works.
- We designed the free Make.com setup around the limits of Make's free plan, so it spends credits only when a real lead arrives.
Last reviewed: October 18, 2026. We update this guide when cost benchmarks, platform rules or laws change.
Disclosure: JitterSystem sells a done-for-you version of the system in this guide, but every step here works without us, and no company paid to appear in it.
Corrections: if you spot something out of date, email office@jittersystem.com and we will check it.
This guide shares general information and does not replace legal, medical, tax or financial advice for your situation.
Sources
- Journal of Light Construction. "Cost vs Value 2025: National." jlconline.com
- Insurance Information Institute report on 2025 severe convective storm losses, reported by MyChesCo. mychesco.com
- Verisk. "Severe thunderstorms and hail: concentrated events that pack a punch." verisk.com
- IBISWorld figure on US roofing contractors, cited by ConsumerAffairs. consumeraffairs.com
- US Federal Trade Commission. "FTC Approves Final Order against HomeAdvisor, Inc. for Deceptively Marketing its Leads for Home Improvement Projects," April 2023. ftc.gov
- Oldroyd, J. B., McElheran, K., and Elkington, D. "The Short Life of Online Sales Leads." Harvard Business Review, March 2011. hbr.org
- Robotham, D., and colleagues. "Using digital notifications to improve attendance in clinic: systematic review and meta-analysis." BMJ Open, 2016. bmjopen.bmj.com
- Texas Department of Insurance. "Roofing and insurance: know the law." tdi.texas.gov
- US Federal Trade Commission. "Cooling-Off Period for Sales Made at Homes or Certain Other Locations." ftc.gov
- Google Local Services Ads Help. "About Automated Local Services Ads lead credits." support.google.com
- Meta: Ad Library, Instant form types.
- US Federal Communications Commission. "Telemarketing and Robocalls." fcc.gov
