The 2026 Roofing Supply Squeeze: How Your Pricing Page Should Respond
Roofing materials are up 14-22% over the past 18 months. Most roofers swallowed the increase rather than communicate it — and ate the margin loss. Here's how to position cost changes on your website without losing customers.

Asphalt shingle prices rose 14% in 2025. Metal roofing materials rose 18%. Tile climbed 22%. Most roofers in OC and LA absorbed these costs silently — held their pricing flat to avoid losing bids, and watched their margins compress by 8-12 points over 18 months.
This wasn't a marketing decision. It was a habit. And it cost the industry hundreds of millions of dollars in lost margin over the period.
The roofers who weathered the supply squeeze well didn't pass costs to customers in silence. They communicated them — clearly, on the website, in the pricing conversation, before the bid even arrived. The result was higher prices accepted with no loss of close rate.
The honest answer: customers accept price increases when you explain them, and resist them when you don't
There's a deep instinct in trade businesses to hide cost increases. The fear is that mentioning rising material costs sounds like an excuse — that customers will think you're upselling or that competitors will undercut you.
The data from the last 18 months doesn't support this fear. Customers who understand why a quote is what it is push back less on price than customers who don't. A homeowner who reads "Asphalt shingle material costs rose 14% in 2025 due to oil-derivative supply pressure — our prices reflect this current market" accepts the higher quote significantly more readily than the homeowner who just sees a higher number with no explanation.
The information itself is the lever. The customer doesn't need to like the price increase. They need to understand it.
What to actually put on your website
Two specific additions to your pricing page do most of the work.
A "Current Market Conditions" subsection on the pricing page. Three to five sentences, dated, addressing the current state of material costs. "Roofing material costs have risen meaningfully over the past 18 months — asphalt shingles up roughly 14%, metal up 18%, tile up 22%. Our pricing reflects current market conditions, which we update quarterly. We don't surprise customers with mid-project price increases — the number on your written estimate is the number you pay."
That last sentence does important work. It establishes that while prices have risen, they're stable within a project. The customer's risk is the quote-acceptance moment, not the construction phase.
A "Why prices change" explanation page. A more detailed piece of content (could be a blog post linked from the pricing page) that walks through what drives roofing material costs — petroleum-based shingle materials, steel and aluminum for metal, transportation costs, labor market. This isn't whining about costs; it's positioning you as informed about the market. Educated customers trust educated contractors.
The framing language that protects margin
The wording matters as much as the content. Three phrases that work, and three that don't.
Works: "Our pricing reflects the current materials market." Calm, factual, doesn't apologize.
Doesn't work: "We've had to raise our prices because..." Defensive, sounds like you're justifying yourself.
Works: "We update pricing quarterly to track materials costs accurately." Establishes a system, not a one-off increase.
Doesn't work: "Sorry — prices are higher than they used to be." Apologetic framing invites pushback.
Works: "The number on your written estimate is what you pay. We don't change prices mid-project." Risk-managing language that reassures.
Doesn't work: "Materials costs could rise further during your project." Creates anxiety even if true.
The pattern: state facts calmly, position yourself as informed, reassure on stability within a project.
What competitors are doing wrong
Two patterns dominate among roofers who've handled the supply squeeze poorly.
Silent margin compression. The most common pattern — hold prices flat for two years, watch margins compress from 28% to 18%, eventually face a cash flow crisis. This is the path most roofers are on right now without realizing it.
Sudden price spikes without explanation. The second most common — finally raise prices 20% in a single quarter to recover margin, then lose 30% of inbound to competitors who haven't yet raised theirs. The shock kills close rate.
The middle path — quarterly adjustments tied to visible market commentary — preserves margin and close rate together. It requires the website infrastructure to support it. Without the website doing the educational work, every price increase becomes a sales objection to handle in person.
What this looks like in numbers
A roofer in Costa Mesa held pricing flat from January 2023 through October 2024 despite 14% material cost increases. Margins compressed from 27% to 16% over that period. The company stayed afloat but had no capacity for capital investment or hiring.
In November 2024, they added the current-market-conditions language to their website and raised prices 11% across the board. They expected close rates to drop. Three months in:
Close rate dropped exactly 3 percentage points (from 34% to 31%). Revenue per job rose 11%. Net margin per job rose back to 24%. Total monthly profit dollars rose 8%.
The customers who didn't close were the most price-sensitive customers — the ones who would have been the lowest-margin jobs anyway. The customers who accepted the higher price were the higher-quality customers the company actually wanted.
The website did the work. The pricing page set the expectation. The in-person conversation didn't have to negotiate the increase.
The next step
If you're a roofer who's held prices flat over the past 18 months, you're losing margin every week. The recovery doesn't have to happen in a single shock — it can happen in quarterly steps if your website supports the communication.
Three specific additions, total work time: 90 minutes for the writing, one focused day for the website rebuild if you're doing a full refresh:
First, add a "Current Market Conditions" section to the pricing page. Three to five sentences, dated, calmly explaining the market.
Second, add a "Why prices change" detail page linked from the pricing page. 600-800 words of context.
Third, set a quarterly review of your pricing against current material costs. Treat it like a fuel surcharge — automatic, transparent, defensible.
Margin recovery is a website conversation before it's a customer conversation. Set the table on the website and the in-person bid gets easier.
Frequently asked questions
How often should I update pricing on my roofing website?
Should I post a price-increase notice on my website?
Won't competitors undercut me if I raise prices visibly?
What if my customers ask why prices went up?
Ready to launch in one focused day?
Custom branding and a website built for high-ticket trades. $4,500 flat — Year 1 of the Care Plan included.
Reserve Your Launch Day →