A roofing marketing plan should do more than generate impressions or form fills. It should help the right property owners find your company, understand what you do, and reach a person who can decide whether the project fits your services and schedule. For a small roofing team, that means connecting local visibility, trustworthy proof, clear inquiry handling, and measurement from first contact through the estimate.
There is no universal budget split, response-time promise, or channel that works equally well in every city. A company focused on planned replacements has different needs from a crew that prioritizes repairs or commercial work. Start with your actual service mix and records, then improve the part of the customer path that is losing the most qualified opportunities.
Start with the work you want to win
Before changing ads or ordering more leads, write down the work your company can take on profitably and safely. Separate the services you actually offer: for example, residential replacement, repair, flat-roof work, or commercial projects. Confirm which neighborhoods or towns your crews serve, which jobs require a site visit, and what your current schedule can support. Do not advertise a service or geography that your team cannot fulfill.
Then review recent inquiries, estimates, and completed jobs by source. If your records do not identify the source, mark it as unknown instead of guessing. Useful categories include organic search, paid search, referrals, repeat customers, social, directories, and other. Add the service requested, whether it was in area, whether an estimate was offered, and the eventual outcome when known. For a practical way to prioritize opportunities by fit, see this lead-scoring framework.
This baseline helps distinguish three separate problems: not enough relevant people are finding you; people are contacting you but do not fit your services; or good inquiries are not moving from first contact to an estimate. Each calls for a different fix. More ad spend will not repair a confusing service-area page, and a new form will not solve a lack of demand.
| Work mix | What to make clear and track |
|---|---|
| Residential replacement | Explain the service area and estimate process; track estimates scheduled, completed, and won. |
| Roof repair | Define which repair requests you handle and how a person reviews them; track in-area inquiries and completed follow-up. |
| Commercial or low-slope work | State the property and project types your team serves; track qualified requests through scoped bids and outcomes. |
Capacity belongs in the marketing plan. The U.S. Bureau of Labor Statistics counted about 166,900 roofer jobs in 2025; its occupational profile says 72% worked for roofing contractors and 20% were self-employed. The profile also notes that roofing work may be limited during winter in northern states and overtime is more common in busy summer months. These are workforce facts, not estimates of local project demand or marketing performance, so use them as context—not as a lead forecast. Check the BLS roofer profile and state-and-area data, then set campaign volume from your own service calendar.
Make local search information complete and trustworthy
Claim and verify your Google Business Profile if eligible. Keep the business name, primary category, phone, hours, service details, and website link accurate. If you travel to customers instead of serving them at a public storefront, configure the profile according to Google’s service-area business guidance rather than listing an address that customers cannot visit.
Google describes local results as mainly based on relevance, distance, and prominence. Its guidance recommends complete and accurate business information, responding to reviews, and adding photos and videos that show what the business offers. It also says there is no way to request or pay Google for a better local ranking. Treat these steps as ways to make the business easier to understand and evaluate, not as guaranteed ranking levers. Read Google’s guidance on improving local ranking.

Use real, current project photos only when you have permission and the images accurately represent your work. A photo can help a prospective customer understand your services; do not call geotagging, a fixed posting schedule, or a particular number of photos a proven ranking formula. Keep service descriptions specific, avoid keyword stuffing, and update hours or contact details when they change.
Do not build your intake plan around old advice about Google Business Profile chat or call history. Google removed those features on July 31, 2024. Some eligible profiles can offer text or WhatsApp contact options, but availability depends on the account and market. Check the current controls on your own profile, and provide an alternative contact route on your website. See Google’s notice about Business Profile chat and call history.
Turn the website into a clear next step
A visitor should be able to answer four questions quickly: do you handle this type of roofing work, do you serve this area, what happens after I contact you, and how can I reach the team? Put those answers near the top of the relevant page. Use a clear call or estimate-request action, show when someone is likely to respond, and make forms comfortable to use on a phone.
Give each page one honest job. A residential replacement page should explain the replacement process and what information an estimator needs. A repair page should not promise a diagnosis from a photo. A commercial page should make the type of property and work clear. Create a city or neighborhood page only when you can provide genuinely useful, location-specific information; changing the city name in a copied template is not a substitute for local value.
Keep the first inquiry lightweight. Ask for the customer’s name, a way to reply, the service they are considering, a broad service-area location such as a city or ZIP code, and their preferred next step. Explain how you will use the details to respond. Request the exact property address only when it is needed to schedule a visit, and use a suitable private process. Do not ask a homeowner to climb onto a roof, inspect storm damage, or send payment-card, account, or government-ID details through a general inquiry form.
Make the submitted state visible: confirm that the request reached the team, set a reasonable response expectation based on actual staffing, and provide a phone number for time-sensitive contact. Test every form and phone link on a real mobile device. A form that silently fails is a marketing problem even if its page receives traffic.
Measure qualified opportunities, not just clicks
Use one weekly scorecard with the same definitions across channels. At minimum, record spend, inquiries, in-area qualified inquiries, contacted inquiries, estimates scheduled, estimates completed, jobs won, and known job revenue or margin. Keep calls, forms, and social conversations distinct when the tracking system can identify them, while avoiding duplicate counting when one person contacts you more than once.

Several simple calculations can show where to investigate:
- Cost per inquiry: channel spend divided by inquiries attributed to that channel.
- Qualification rate: in-scope inquiries divided by inquiries with a known outcome.
- Estimate rate: estimates scheduled divided by qualified inquiries.
- Taux de réussite : jobs won divided by completed estimates with a known outcome.
- Cost per won job: channel spend divided by attributed jobs won, when attribution is reliable.
Do not compare a new channel with a mature one using different date ranges or incomplete records. Separate booked revenue from gross margin and collected payment. If the sample is small, show the counts beside each rate and wait for more observations before treating a change as a trend. Weather, season, service capacity, project size, and sales follow-up can all change the result.
When a channel brings many clicks but few in-scope inquiries, check the search terms, targeting, offer, and landing page. When inquiries are qualified but estimates are not scheduled, investigate response coverage and the clarity of the next step. When estimates are completed but jobs are not won, review proposal timing, scope, pricing, and follow-up rather than assuming the marketing channel is at fault.
Build reviews and referrals around real customer experiences
Ask customers for honest feedback after a real project or service interaction. Make the request neutral and available to customers regardless of whether you expect a positive review. Do not offer discounts, gifts, contest entries, or other incentives for posting, changing, or removing a review, and do not route only satisfied customers to public review sites.
Google says reviews must reflect genuine experiences and prohibits incentives in exchange for reviews. It recommends valuing all reviews and responding professionally. A simple process can send the same courteous request to every eligible customer, provide the direct review link, and give the team a separate path to resolve service concerns. Read Google’s review-request guidance.
Referrals can be easier to track when the team asks how each new customer heard about the company and records the answer consistently. Thank the person who referred the customer without conditioning a public review on a reward. If you run a referral offer, state its terms plainly and keep it separate from review requests.
Use paid channels with a testable limit
Paid search can put a company in front of people actively searching for a service, but clicks are not the same as qualified projects. Set a test budget your business can afford to lose, select a defined service and territory, and send each ad to a page that matches its promise. Review search terms regularly and exclude queries that attract jobs, products, locations, or do-it-yourself research you do not serve.
Before increasing spend, verify that calls and forms are being recorded, that the team can follow up, and that the campaign’s result can be tied to an estimate or completed job when possible. Compare channels using your own numbers. Do not copy a competitor’s budget percentage or a marketing agency’s cost-per-lead claim as a forecast for your market.
Organic search, referrals, local partnerships, and useful social posts can complement paid demand. Choose channels based on service fit, available capacity, and evidence from your customer records. During a storm or seasonal rush, update availability honestly; avoid urgent claims or images that imply work your company has not completed.
Make social inquiries easier to qualify and hand off
Facebook and Instagram can introduce a roofing company through local posts, project updates, or ads. Use captions that identify the service area and the next step, and use customer or property images only with permission. Keep the conversation focused on the initial fit: where the property is generally located, what service the person is asking about, and how they prefer the team to respond.
If your roofing team receives questions on Facebook or Instagram, Messenger Bot can help keep replies reviewable and move serious conversations toward a clearer next step. A structured flow can collect basic inquiry details and make human handoff clearer; it does not replace a roofing inspection, estimator, phone system, scheduling tool, or field-management process. Review the business messaging use cases to confirm current fit before adopting it.
Keep automation modest. Acknowledge the inquiry, ask one useful question at a time, and tell the customer when a person will review the details. Do not promise a fixed response time unless the team can meet it; do not diagnose roof condition, quote a binding price, interpret insurance coverage, or imply an estimator has approved work. For a broader look at contact handling, see this speed-to-lead response framework. The goal is a dependable next step, not a bot pretending to be a roofer.
Use a repeatable intake and handoff checklist
Write down the exact handoff so an inquiry does not depend on one estimator remembering a notification. A practical intake can identify:
- the service requested, using choices that match the company’s real work;
- the general service area, so out-of-area inquiries can receive a courteous answer;
- whether the request is for a repair, replacement, commercial project, or another offered service;
- the customer’s preferred contact method and a suitable time for a response;
- the staff member or shared team inbox responsible for the next human review.
Do not make homeowners decide whether a roof is structurally safe or climb onto a roof to gather details. For immediate danger, direct them to local emergency services or the appropriate qualified professional. For insurance-policy questions, have them speak with their insurer or licensed adviser. The marketing workflow gathers an inquiry; it does not provide safety, legal, insurance, or technical inspection advice.
After the handoff, record whether the team reached the person, whether an estimate was scheduled, and what happened next. If the answer is unknown, leave it unknown. An accurate incomplete record is more useful than a complete-looking spreadsheet filled with guesses.
A 30-day roofing marketing improvement sequence
Week 1 — establish the baseline. Export the prior 60 to 90 days of inquiries, estimates, and won jobs if the records exist. Label unknown sources honestly. Confirm services, service areas, current crew capacity, and any active campaign commitments. Check the Google Business Profile for accuracy and confirm the website’s phone, form, and mobile rendering.
Week 2 — repair the path to contact. Fix broken forms or phone links. Clarify the top of the highest-traffic service page, simplify its inquiry form, and explain what happens next. Add real proof that customers can evaluate, including permission-cleared project examples. Set an owner and response process for every channel the business actively uses.
Week 3 — standardize trust and follow-up. Make the neutral review request available to every eligible customer; confirm that no incentive or positive-only filter is involved. Document a short inquiry acknowledgement and human handoff. If social conversations are an active source, test a reviewable Facebook or Instagram workflow with a small, non-sensitive set of questions.
Week 4 — evaluate before scaling. Compare the same metrics and date ranges used in Week 1. Check which changes were actually implemented and whether the downstream counts are complete enough to interpret. Keep, revise, or stop each test based on service fit, cost, capacity, and job outcomes. A month is a useful operating review, not proof that rankings or revenue have permanently changed.
For internal prioritization, a roofing company can use this weekly review: What generated the best-fit inquiries? Which sources are not being attributed? Where do qualified prospects stop? What is the next smallest fix? Who owns it, and what evidence will show that it worked? This keeps the plan practical without pretending that every business should follow the same channel mix.
Frequently asked questions about roofing marketing
What is the best marketing channel for a roofing company?
There is no single best channel for every company. Compare local organic search, paid search, referrals, repeat work, social, and other sources using your service mix, qualified inquiries, estimate outcomes, and capacity. Keep the definitions and date ranges consistent.
How much should a roofing contractor spend on marketing?
There is no universal percentage that safely fits every contractor. Set a test limit based on cash flow and the company’s ability to handle the work, then track cost through estimates and won jobs. Do not increase spend based on clicks or a third-party benchmark alone.
Do Google Business Profile photos improve local visibility?
Google recommends adding photos and videos to show customers what a business offers, but it does not provide a fixed photo frequency or promise a particular ranking gain. Use accurate, permission-cleared photos to help people assess the work.
Can Google Business Profile chat still be used to receive roofing inquiries?
Google says its Business Profile chat and call-history features were removed on July 31, 2024. Some eligible accounts can show text or WhatsApp options, but availability varies. Check the current profile and make sure customers have another way to reach the team.
Can Messenger Bot inspect a roof or provide a roofing estimate?
No. Messenger Bot supports Facebook and Instagram conversation workflows described on its feature pages. A roofing professional must assess the property and approve the scope and estimate. Keep any automated intake to basic routing and make human review clear.
What should a roofing inquiry form ask?
Start with only the details needed to decide whether the request is in scope and how to reply, such as service type, general area, preferred contact method, and a short description. Explain the next step, request an exact address only when scheduling requires it, and avoid collecting sensitive payment or identity information in a general form.
How can a roofing company know whether marketing is working?
Track inquiries through qualification, contact, estimate scheduling, completed estimates, and jobs won, with spend and source attached where known. Show counts with rates and wait for enough comparable observations before treating small changes as a lasting pattern.
Ready to organize Facebook and Instagram conversations alongside your team’s human review? See Our Plans to check whether the current product fits your workflow.




