ChatGPT Ads for Roofing Companies: Setup, Costs and Storm Season

By Serhii Halchuk, Founder & CEO of Leads4Build
Digital marketing entrepreneur with 12+ years in paid search and performance marketing for home service businesses.

11/1/2026
14 min
AI Search
Author - Founder & CEO of Leads4Build
Serhii Halchuk

TL;DR: Roofing companies can buy ChatGPT Ads today through OpenAI’s self-serve Ads Manager. You can target down to ZIP codes, the minimum is $25 a day, and OpenAI suggests starting bids of $3 to $5 per click. Three things are different for roofers: storm timing (a weekly budget you raise after hail hits your ZIP codes), insurance wording (in Texas, an ad offering to handle the claim breaks state law) and measurement (count booked inspections and signed contracts, not clicks). Nobody has published ChatGPT Ads results for a single roofing company yet, so this guide treats it as a test: example hints and ads, storm budgets, insurance wording, and a 30-day plan with a 90-day check on signed jobs.

$25minimum daily budget (USD)
$3-5OpenAI suggested starting CPC
ZIP codesmallest location you can target
5,432US hail events in 2025 (NOAA)

This is the roofing version of our ChatGPT Ads guide for home services, which explains the basics, the other ways homeowners reach contractors inside ChatGPT, and how it compares with Google for all trades. Every OpenAI setting below was re-checked in OpenAI’s Ads Manager help center on October 24, 2026. ChatGPT Ads is still labeled beta, so expect changes.


How a roofing ad shows up in ChatGPT

A ChatGPT ad is a card marked as an ad, shown below ChatGPT’s answer. It has your business name, logo, a title, a short description, an image and a link to your landing page (OpenAI ads basics). There are no keywords. OpenAI matches the ad to the conversation, using your ad, your landing page and short descriptions you write called context hints.

Example ChatGPT ad shown below an answer about building a backyard fence
How an ad looks in ChatGPT: a card marked “Ad” under the answer. Example from OpenAI’s advertiser site, October 2026.

Three facts shape a roofing campaign more than anything else:

  • The ad cannot change the answer. If a homeowner asks “who should I call about hail damage in Plano,” the businesses ChatGPT names in its answer come from organic signals like reviews, listings and your website. The ad sits under it. Our guide to showing up in ChatGPT and Google AI answers covers the organic side.
  • Not everyone sees ads. OpenAI does not show them to Plus, Pro or Business plan users, or to accounts identified as under 18. Homeowners on the Free and Go plans see them.
  • You will likely bid against Angi. In OpenAI’s Angi customer story (September 22, 2026), Angi says its pilot “began with a simple campaign setup across roughly 20 home service categories, including roofing, handyman, and HVAC,” and later added nearly 30 more. Its cost per lead fell 34% after it switched to conversion-optimized campaigns. That is a marketplace result published by OpenAI, not a roofer’s, but it shows roofing clicks already have a big buyer.

Roofing questions worth an ad group

Homeowners use ChatGPT to think through a roof problem before they call anyone: is this leak serious, is the damage from hail, repair or replace, which material. Each of those is a different need, and OpenAI’s context hints guide says to “consider separate ad groups when use cases require different messaging or landing pages.” For a roofer that usually means four or five ad groups, each with its own page:

What the homeowner is working throughAd groupLanding pagePriority
“Water stain on my ceiling after last night’s rain, is my roof leaking?”Leak repairRoof leak repair in [city], with how fast you can come outHigh: urgent, ready to book
“How do I know if hail damaged my roof?”Storm and hail inspectionFree roof inspection after hail or wind, with what the inspection includesHigh in storm season
“Should I repair or replace a 20-year-old shingle roof?”Full replacementRoof replacement in [city], price ranges, financing, warrantyHigh ticket, longer decision
“Is a metal roof worth it compared with asphalt shingles?”Metal or premium roofingMetal roofing page with real project photosOnly if you install it
“Who replaces flat roofs on small commercial buildings?”Commercial or flat roofsCommercial roofing pageSeparate campaign if you do commercial

These prompts are our illustrative examples, not OpenAI data. Start with the two or three ad groups for the jobs you most want; gutters and small repairs can wait.

Context hints and ad copy for roofers

Each ad group gets a few context hints: plain sentences about what you offer, who it is for and when it helps. OpenAI’s own example for a local business is “After-hours residential plumbing in [city], with an $89 service-call fee for urgent repairs.” The roofing version works the same way: one idea per hint, with a real detail.

Ad groupExample context hint
Leak repair“Residential roof leak repair in Oklahoma City, usually inspected within 48 hours of the call”
Storm and hail inspection“Free roof inspections after hail or wind storms for homeowners in Wichita, with photo reports”
Full replacement“Asphalt shingle roof replacement for older homes in suburban Kansas City, with financing and a 10-year workmanship warranty”
Metal roofing“Standing seam metal roofs for homeowners in the Dallas-Fort Worth area who want a roof that lasts longer than shingles”

These are our examples, set in hail-belt cities; replace every detail with your real inspection time, warranty and cities. Two limits to know:

  • Hints do not set your service area. They “cannot enforce geographic limits, schedules, or exclusions,” per OpenAI. Set your ZIP codes in the campaign’s location settings instead.
  • Hints describe the job, not the customer you wish you had. OpenAI’s wording: “Wanting to reach a customer group does not, by itself, make your offering relevant.” A hint about “homeowners with good insurance” does not help; a hint about the inspection you do after hail does.

Ad titles and descriptions

OpenAI’s ad creation guide asks for “a high volume and diverse set of ads (multiple title/copy variations per offering)” and benefit-focused copy over catchy lines. Write three to five per ad group, each with a different angle. Our examples (swap in your city and real offer):

TitleDescription
Roof Leak Repair in TulsaLicensed local roofers. Inspection within 48 hours, written quote before any work.
Hail Damage? Free Roof InspectionPhoto report of every damaged area so you know what you are dealing with. Serving Amarillo.
Replace Your Roof Before WinterShingle and metal roofs in Oklahoma City. Clear pricing, financing options, 10-year workmanship warranty.

Send each ad to the matching service page, not your homepage, and make sure your robots.txt does not block OAI-AdsBot, which visits submitted landing pages “to ensure it complies with our policies” (OpenAI crawler docs).

Insurance and storm wording: what not to say

OpenAI’s rules. Local services are one of the categories OpenAI currently accepts, per its ad policies (updated September 10, 2026). Every ad must be “truthful and not misleading, including unfounded claims about capabilities, pricing, outcomes, affiliations.” “Get a free roof paid by insurance” promises an outcome you do not control; “Free inspection and photo report after hail” says what you actually do. Insurance itself is a restricted financial category, so keep the ad about the roof, not about the policy.

State law. Texas is the clearest example. The Texas Department of Insurance says:

  • “It’s also illegal in Texas for a contractor to offer to waive, rebate, or absorb a property policyholder’s deductible.”
  • “Texas doesn’t allow a roofer or contractor to act as a public insurance adjuster” on a job they are doing, and “you can’t advertise that you would do so, either.” Problem examples include “offering to negotiate claim settlements or file a claim for the policyholder.”
  • Texas rules count a website as an advertisement, so your landing page is covered too.

That means a hint or ad like “we handle your insurance claim for you” or “we cover your deductible” is a problem in Texas, the state with the most hail events in 2025. Our home services pillar used “help filing insurance claims” as a sample roofing hint; for Texas roofers, use “photo documentation you can share with your insurance company” instead. Other states have their own contractor and storm rules, so check yours before you write storm ads. This is not legal advice.

Storm season: budget and timing

Roofing demand moves with the weather, and hail is concentrated in a few states. NOAA’s Storm Prediction Center counted 5,432 hail events in 2025 (hailstones one inch or larger), per the Insurance Information Institute, and Texas alone had 902.

Chart: the 10 states with the most major hail events in 2025 (hailstones one inch or larger), from NOAA Storm Prediction Center data as published by the Insurance Information Institute. Texas had 902 of the 5,432 US events.

Timing varies by region. NOAA’s severe storms lab says Nebraska, Colorado and Wyoming usually have the most hailstorms, and the area where they meet averages seven to nine hail days a year. For southeast Wyoming and western Nebraska, the National Weather Service in Cheyenne puts the peak in June, with a second peak in late July. Your local NWS office has the pattern for your area.

How ChatGPT’s budget rules fit storm work

  • The daily budget is a weekly average. OpenAI’s campaign guide says one day can spend up to twice the daily amount, and a Sunday to Saturday week stays within seven times it. A busy day after a storm can take more, but a campaign that spends its week early “may stop delivering until the next budget week.” Raise the budget after a storm instead of hoping the average covers it.
  • Set up before the season, not the morning after. Verification, billing and ad review come before the first impression, and OpenAI does not publish how long review takes. Build the campaign off-season at the minimum, so after hail you only raise the budget and switch on the storm ad group.
  • Use a separate campaign for each region. OpenAI recommends “separate campaigns for meaningfully different objectives, regions, or product categories.” If you work two metros, a storm in one should not drain the budget for the other.
  • There is no hour-of-day schedule. We found no ad scheduling setting in OpenAI’s campaign documentation, and hints “cannot enforce” schedules. If nobody answers at night, do not promise “24/7 emergency tarping.”

Track booked inspections, not clicks

A click from ChatGPT is worth nothing until it becomes an inspection on your calendar. For roofing, the chain to track is: spend, clicks, calls and forms, inspections booked, inspections done, contracts signed, revenue. Insurance jobs can take weeks from inspection to signed contract, so judge the channel on booked inspections first and on signed jobs over a longer window.

  • Calls: put a call tracking number on each ChatGPT landing page. Most roofing leads still call.
  • Forms: install the OpenAI Pixel and, if your developer can, the Conversions API, and fire the conversion on a booked inspection, not on a page view. OpenAI’s measurement guide says to preserve the “oppref” click reference through redirects and use the same event ID when you send the same conversion both ways.
  • Your CRM: add UTM parameters to the landing page URLs, and have whoever answers the phone set the lead source to “ChatGPT Ads” whenever the call comes in on that tracking number. If a homeowner fills in a form and calls later, merge the two into one lead so it is counted once. That source field is what lets you see, weeks later, which signed jobs started in ChatGPT.
  • Spend lags: OpenAI says spend figures can lag 7 to 8 hours behind clicks, so a $0 on the morning after a storm does not mean nothing ran.

The two numbers that matter: cost per booked inspection (spend divided by inspections booked) and cost per signed job. Judge the first at 30 days. Judge the second on the leads from those 30 days, about 90 days later, because insurance jobs close slowly. Compare both with the same numbers from your Google Ads, Local Services Ads and any lead lists you buy, for the same period.

A 30-day test plan for a roofing company

1

Pick two ad groups: leak repair and storm inspections in season, or leak repair and full replacement out of season. Each gets its own landing page and its own tracking number.
2

Target the ZIP codes where you already win jobs, not your full radius.
3

Start on the Clicks objective at $3 to $5 per click and the $25 daily minimum, which comes to about $750 for 30 days, or roughly 150 to 250 clicks at those bids. That is enough to see whether clicks turn into calls, not enough to judge signed jobs. A conversion objective needs a new campaign later, because the objective cannot be edited.
4

Write three to five ads per ad group with the service and city in the title, and keep insurance claims out of the copy.
5

Check every week: clicks, calls over 60 seconds, forms, booked inspections. After 30 days, compare cost per booked inspection with Google; check signed jobs from the same leads again around day 90. Within about 1.5 times your Google cost is worth a second month; far above it means the page, offer or hints need work, or ChatGPT is not reaching your area yet.
6

When hail hits your area, raise the budget on the storm ad group for the affected ZIP codes only, and lower it again once your inspection calendar is booked out or calls stop getting answered within the hour. Until then, leave the campaign on at the minimum so it is approved and ready. A storm week tells you more than any quiet month.

The 1.5x threshold and the 60-second call rule are our working suggestions, not platform benchmarks. OpenAI has not published any for roofing.

ChatGPT Ads vs Google Local Services Ads for roofers

ChatGPT AdsGoogle Local Services AdsGoogle Search Ads
When it reaches the homeownerWhile they work out what is wrong and what to doWhen they search for a rooferWhen they search for a roofer or roof service
How you targetContext hints + locationService categories + location (Roofers is an eligible category)Keywords + location
You payPer click or per 1,000 viewsPer leadPer click
Track recordNew, no published roofer resultsYears of contractor useYears of contractor use
Best roleA test budget for early questions and stormsCore lead sourceCore lead source

Google’s Local Services Ads category list includes roofers, and Google is still where most “roofer near me” calls come from. ChatGPT reaches the homeowner a step earlier, while they are still asking whether the ceiling stain is a roof problem. That is the reason to test it, and to keep Google running while you do. If your Google campaigns are not profitable yet, fix those first; our roofing PPC management page explains how we run them.

Should your roofing company test ChatGPT Ads now?

Test now if…Wait if…
Google Ads or LSA already bring you profitable jobsYou cannot say what a lead from Google costs you
You track calls and booked inspections by sourceAll leads land in one inbox with no source
You have separate pages for repair, storm and replacementEvery ad would go to your homepage
You work in a hail or storm area and can answer the phone fastYou cannot handle more inspections in storm season
You can spend about $750 a month to learnEvery dollar has to pay back this month

The bottom line

For a roofing company, ChatGPT Ads are a small, measurable test: ZIP-code targeting, $25 a day, and homeowners who are still working out what is wrong with their roof. Build two or three ad groups around real jobs, keep insurance promises out of the copy, set the campaign up before storm season, and judge it on booked inspections and signed contracts next to your Google numbers. For the general setup and the other trades, see our ChatGPT Ads guide for home services; if you sell to businesses, see the B2B version.

One more thing, unrelated to ads: we built a free AI social media post generator for roofing companies that writes storm-season, inspection and project posts for Facebook and Instagram. It is one of 21 trade generators on our free tools page.

About the sources: OpenAI settings come from its Ads Manager help center (campaigns, context hints) and ad policies, re-checked October 24, 2026. Hail figures are NOAA data via the Insurance Information Institute. Other sources are linked where each fact appears.

Frequently Asked Questions About ChatGPT Ads for Roofers

Can roofing companies advertise on ChatGPT?

Yes. Local services are one of the ad categories OpenAI accepts, and roofers can sign up in the self-serve Ads Manager, verify the business, add billing and launch campaigns. Angi’s ChatGPT Ads pilot already included roofing as a category.

The minimum is $25 a day for US-dollar accounts, about $750 for a 30-day test, and OpenAI suggests starting with a maximum bid of $3 to $5 per click. Your cost per booked inspection depends on your area, offer and landing page.

Yes. Besides countries, regular campaigns can target states or regions, cities, markets and postal codes where available. Set the area in the campaign location settings; context hints cannot limit where an ad shows.

You can raise your budget at any time, but account verification and ad review come first and OpenAI does not publish how long review takes. Set up the campaign before storm season and raise the budget on a storm ad group when hail hits your ZIP codes.

Be careful. OpenAI rejects misleading claims about outcomes, and in Texas a contractor may not advertise that it will file or negotiate a claim, or offer to waive the deductible. Describe what you do, such as a free inspection with a photo report.

No. Local Services Ads and Google Search still catch homeowners when they are ready to call a roofer. Run ChatGPT Ads as a separate test budget and compare cost per booked inspection before you move any money.

Want to Test ChatGPT Ads for Your Roofing Company?

Get a Free Marketing Strategy Session

Book your FREE strategy session today

Complete the form below to help us prepare a custom growth strategy for your business.
After submission, you’ll be able to schedule your session instantly.

✓ 30-Minute Deep-Dive Strategy Session
✓Custom Market Analysis
✓Competitor Research Included
















    Your information is secure and will never be shared