San Antonio clicks cost about 0.95× the national average, which makes a poorly built roofing company account expensive fast. A replacement lead can cost $250 and be worth $15,000; a leak-repair lead can cost $80 and be worth $400. Storms rewrite the whole calendar in a day. Below: what roofers in San Antonio should expect to pay per lead and per booked job, how we split campaigns across Alamo Heights and Terrell Hills, Stone Oak and the far north, Northwest side and the Medical Center and the rest of the metro, what three budgets produce, and the seasonal moves that matter here. more booked jobs, at San Antonio prices, without the waste.
LEADSTACK™ Five layers. One account that keeps growing.
Most Google Ads accounts are one campaign wearing five hats. LEADSTACK is how we build a lead-gen account instead: the campaign types stacked in the order that pays, each layer fed by the booked jobs the layer below it produced. Below, the stack as we build it for roofers in San Antonio.
Remarketing · videoSupport
Remarketing · displaySupport
Performance MaxScale
Local Services AdsCore
SearchCore
One campaign, five jobs
Booked jobs → Google
0:00 · The leak
You are paying for clicks. You need booked jobs.
Most accounts we audit have one campaign doing five jobs, broad match with no negative list, and Google optimizing toward form fills it never sees close. That is where the budget goes.
0:38 · Layer 1 · Search
Capture the demand that already exists.
Exact and phrase match, split by service value and urgency, with call ads while someone answers the phone. The base of the stack and usually 55 to 70 percent of the budget.
1:12 · Layer 2 · Local Services Ads
Pay per lead, above the ads.
Where the category qualifies, the Google Screened or Guaranteed badge sits above every search ad. We run it beside search, dispute junk leads weekly and compare cost per booked job each month.
1:40 · Layer 3 · Performance Max
Scale, but only on real data.
Performance Max finds more of the people who already book with you, if it is fed booked-job conversions and fenced with brand exclusions and search themes. Switched on in month two or three, never on day one.
2:10 · Layer 4 · Remarketing on display
Bring back the 95 percent who left.
Most visitors do not call on the first visit. A small display budget, 30-day windows and one message per service keeps the quote request alive for a few dollars a day.
2:35 · Layer 5 · Remarketing on YouTube
Be the name they remember.
For long decisions like a roof, an implant or an injury case, six-second bumpers to past visitors cost cents per view and lift branded search and close rate.
3:05 · The loop
Booked jobs flow back to Google. Bids follow revenue.
Offline conversion imports tell Google which clicks became customers, so every layer bids toward the cases that pay. By month three the target is hit, or our fee drops to zero until it is.
Film in production · storyboard preview0:00 / 3:40
The film is being shot with Hamid this quarter. Until it is live, the storyboard above walks the same chapters.
We see the same three problems in almost every roofing company account we take over in San Antonio. Each one is fixable in the first month.
01
Repair searches spend replacement budget
"Roof leak repair" and "roof replacement cost" cost about the same per click and are worth wildly different amounts. We separate them and let replacement carry the bids.
02
No storm plan
After hail or wind, search volume triples and out-of-town storm chasers flood the auction. Companies with pre-built storm campaigns and insurance-claim pages win the week; everyone else pays peak prices for scraps.
03
Estimates counted as wins
Roofing closes at 15–30%, so cost per lead says little. We import signed contracts from JobNimbus, AccuLynx or your CRM so Google bids toward the searches that sign.
The audit checklist: mistakes we fix in most roofing company accounts
Repair and replacement in one campaign
No storm campaign ready when a storm hits
Estimate requests counted as the win instead of signed jobs
Homepage as the landing page for replacement searches
No financing or inspection offer on the page
Radius targeting that includes areas crews cannot reach in season
No branded campaign to separate referrals from new demand
What the budget produces in San Antonio
Three budgets, before and after the rebuild.
Built from our roofing company benchmarks (cost per lead $180, 20% of leads booked, $9,500 per booked job) adjusted for San Antonio click costs at 0.95× the national average. Estimates for planning, not promises.
Monthly budget
Leads today
Booked jobs today
Revenue today
Booked jobs with DGENCY
Revenue with DGENCY
$3,000
18
4
$33,333
6
$59,524
$5,000
29
6
$55,556
10
$99,206
$10,000
58
12
$111,111
21
$198,413
Minimum we recommend for a roofing company in San Antonio: $6,000 a month. Below that the account cannot buy enough clicks to learn at local prices.
San Antonio market dynamics
What is different about San Antonio for roofers.
Population 2.7M in the metro, cost of living 91 against a US average of 100, clicks at about 0.95× the national average. Here is how that changes the account.
Bilingual by default
Nearly two thirds of the city is Hispanic and a large share of home-service and legal searches happen in Spanish. Separate Spanish campaigns, ads, pages and intake are standard, and they often come in cheaper per booked job than English.
North side growth
Stone Oak, Alamo Ranch, Boerne, Schertz and New Braunfels are where the new subdivisions are. Households there have no incumbent dentist, plumber or HVAC company, and new-resident campaigns are often the cheapest jobs in the account.
Military and medical
Joint Base San Antonio and the Medical Center bring a steady flow of relocating families who need a dentist, a chiropractor or a lawyer within weeks of arriving. Campaigns near the bases and the Medical Center run relocation-friendly offers.
Cheaper clicks reward good filtering
Because volume is affordable, the risk is buying too much of the wrong volume. Weekly search term reviews, shared negative lists and call scoring keep the cost per booked job low instead of just the cost per click.
Clients in the San Antonio metro include an HVAC contractor on the northwest side, a roofing company covering Stone Oak and Boerne and a dental practice near the Medical Center.
Area targeting
How we split San Antonio for a roofing company.
A radius around the office is not a strategy in San Antonio. Each tier gets its own campaigns and budget so bids follow where booked jobs actually come from. Tiers move as your data comes in.
Tier 1 · bid up
Alamo Heights and Terrell Hills
Stone Oak
Boerne and Fair Oaks Ranch
Highest home values and close rates; the highest CPCs in the metro
Tier 2 · core
Northwest side and the Medical Center
Alamo Ranch
Schertz and Cibolo
Strong volume with moderate CPCs; military and relocation demand
Tier 3 · test
South side
Southeast and Converse
New Braunfels
Added as capacity allows, with separate budgets so they cannot drain Tier 1
Local keyword examples for roofers in San Antonio
roof replacement cost alamo
roof replacement cost stone
roof replacement cost northwest
roof replacement cost alamo
new roof estimate alamo
new roof estimate stone
new roof estimate northwest
new roof estimate alamo
roof leak repair alamo
roof leak repair stone
roof leak repair northwest
roof leak repair alamo
Area modifiers become separate ad groups only where search volume supports them; otherwise location targeting does the work.
Campaign blueprint
How we structure a roofing company account in San Antonio.
Campaigns are split by intent and job value so budget follows the booked jobs worth the most. In San Antonio each campaign is then split again by area (Alamo Heights and Terrell Hills, Stone Oak and the far north, Northwest side and the Medical Center) so bids follow where booked jobs come from.
ReplacementEstimate request
roof replacement cost · new roof estimate · roofing contractors near me · metal roof installation
GAF roofer · standing seam metal roof cost · best roofing company [city]
Negative keywords from day one
jobs / salary / crew wanted
diy / how to / materials only
supply / wholesale
roof rack / car
free roof (unless a real promo)
calculator / estimate tool
Landing page pattern
Separate pages for replacement, repair and storm damage, each with an estimate form and phone number
Free inspection or estimate offer with a specific turnaround
Insurance-claim help explained plainly for storm pages
Reviews, license, insurance, manufacturer certifications and years in business
Before/after photos of local jobs with the neighborhood named
Financing with monthly figures for replacements
In San Antonio: side of town or suburb named in the headline (stone oak, alamo ranch, schertz), not just "san antonio"; spanish pages with a spanish-speaking line, not a translated form.
Ads that work
Ad copy examples for San Antonio
Written for the person about to call, not for the algorithm. Every headline names the service, the promise or the area.
Replacement campaign · Sponsored
Free Roof Replacement Estimate | New Roof From $149/Month | GAF Certified Roofers in Alamo Heights and Terrell Hills
yourpractice.com › replacement
Free inspection and written estimate within 48 hours. Financing available, 25-year warranty, licensed and insured. Book your inspection online.
Storm damage campaign · Sponsored
Hail Damage? Free Roof Inspection | We Work With Your Insurance | Local Roofers · Not Storm Chasers
yourpractice.com › storm-damage
Free storm damage inspection and help with your insurance claim. Licensed, insured, based in [City] for 15 years. Call today.
Repair campaign · Sponsored
Roof Leak Repair Today | Emergency Roof Repair in Alamo Heights and Terrell Hills | Upfront Pricing · 4.9★ Rated
yourpractice.com › repair
Leaks, missing shingles and storm repairs fixed fast with upfront pricing. Same-week appointments. Call now.
Offers that move the close rate
Free inspection with a written estimate in 48 hours
Financing with a real monthly figure for replacements
Insurance-claim assistance for storm damage
Extended workmanship warranty stated in years
Price-match or seasonal replacement discount
Campaign types
Which Google Ads campaign types we run for roofers in San Antonio, and which we skip.
Every campaign type Google offers has a job. Most accounts we audit run the wrong ones, or run the right ones in the wrong order. This is the mix for roofers in San Antonio, in the order it is switched on.
CoreRuns from day one and carries most of the budget.
ScaleAdded once booked-job tracking is proven, usually month two or three.
SupportA small budget with one specific job.
Not hereWe would not run it for this account, and we say why.
SearchLSAPMaxDisplay RMKVideo RMK
Starting split of the monthly budget in San Antonio, rebalanced every month by cost per booked job. Shares are the midpoint of each range.
Core45%of budget
Search
Responsive search ads · exact and phrase match
Why it is core
Replacement searches are the highest-value clicks in home services, so they get their own campaign with financing, warranty and the inspection offer. Repair and storm run separately with their own budgets.
San Antonio: English and Spanish run as separate campaigns per side of town. With clicks below the national average the account buys more data, so search term reviews are weekly to keep the volume clean.
How we set it up
One campaign per intent tier, never one campaign for everything
Exact and phrase match with a shared negative list from day one
Ad schedule and bid adjustments around open hours
Location targeting by service area, not a city-wide radius
Core20%of budget
Local Services Ads
Google Screened / Google Guaranteed · pay per lead
Why it is core
Roofers qualify for Google Guaranteed. LSA leads run $50 to $150 and are mostly replacement inquiries, so the profile, photos and review count matter as much as the bid.
San Antonio: Texas licensing is verified at onboarding. San Antonio LSA competition is lighter than Dallas or Houston in most trades, so LSAs often deliver the cheapest booked jobs in the account.
How we set it up
License, insurance and background checks submitted and kept current
Junk leads disputed every week
Reviews synced from Google Business Profile
Cost per booked job compared with search every month
Scale15%of budget
Performance Max
Asset groups across Search, YouTube, Display, Gmail and Maps
Why it is a scale layer
Replacement is a visual sale, and Performance Max with drone and job-site photos works once 20 or more signed jobs are imported. Brand exclusions keep it from cannibalising your own name.
How we set it up
Never switched on before offline conversions are flowing
Brand exclusions and search themes on every asset group
One asset group per service, with real photos rather than stock
Lead form questions that filter price shoppers
SupportInside search
Call ads
Call-only ads and call assets on mobile
Why it is a support layer
Roofing buyers mostly request inspections through forms, but repair and storm leads call. Call ads run on the repair and storm campaigns during office hours.
San Antonio: A large share of callers expect a Spanish-speaking answer. Spanish call ads run only during the hours a bilingual person is on the phone.
How we set it up
Runs only while the phone is staffed
Calls under 60 seconds left out of the conversion count
Recordings scored weekly so the ad group learns from booked calls
Support6%of budget
Remarketing (display)
Display ads to past visitors and past callers
Why it is a support layer
A roof is a three-quote decision that takes two to four weeks. Remarketing with the warranty and the financing keeps the estimate request alive across that window.
San Antonio: Cheap clicks make remarketing even cheaper. A small budget with the offer in both languages brings back visitors who did not call.
How we set it up
Audiences by page visited at 7, 30 and 90 days
Frequency capped at three a day
One message per service, with the offer in the headline
Customers who already booked are excluded
Support4%of budget
Remarketing (video)
YouTube bumpers and skippable in-stream to past visitors
Why it is a support layer
Six-second drone bumpers to inspection-page visitors are cheap and memorable. They lift branded search in the weeks after the first click, which is when the contract gets signed.
How we set it up
Six-second bumper cut from a phone-shot founder video
Audiences shared from the search and display campaigns
Measured on branded search lift and assisted bookings, not views
Not here0%of budget
Demand Gen
Visual prospecting across YouTube, Discover and Gmail
Why we skip it
Prospecting creative earns a place only after a hail or wind event in a market where the budget is above $15,000 a month. Until then search and LSAs produce cheaper signed jobs.
What would change our mind
Lookalikes built from booked customers, not site visitors. Job-site or before-and-after creative. Capped at ten percent of budget until cost per booked job matches search.
The account can only be optimized toward what it can see. For roofers that means calls with duration, form and booking events, and booked jobs imported back to Google with a value.
01
What we connect
Call tracking with recording and duration
Signed contracts and completed jobs from JobNimbus, AccuLynx or Roofr imported as offline conversions with value
Estimate-form events with duplicate removal and enhanced conversions
GA4 + Google Tag Manager
Storm-trigger budget rules and pre-built campaign templates
02
Local Services Ads for roofers in San Antonio
Available · $50–$150 per lead depending on metro
Roofing qualifies for Local Services Ads with the Google Guaranteed badge, which matters in a niche where buyers fear storm chasers. We run LSAs alongside search, dispute junk leads weekly and compare cost per signed job by channel.
03
Compliance notes
State roofing license and insurance shown where required; storm chasers have made buyers wary
Insurance-claim language must not promise to waive deductibles where that is illegal
Google Guaranteed (LSAs) requires license, insurance and background checks
Manufacturer certifications (GAF, Owens Corning) allowed only when current
Seasonality
The San Antonio calendar
Budgets that stay flat all year waste money in quiet weeks and starve the account in busy ones. We plan by week around these moves.
Spring
Post-winter damage and the start of replacement season; volume rises with the thaw.
Storm season (varies by region)
Hail and wind events triple volume for weeks. Storm campaigns must be pre-built and switchable within hours.
January–February
Occasional freezes: burst pipes and heating emergencies; legal and dental steady.
March–May
Spring storms and hail in some years; roofing, pest and HVAC tune-ups rise; Fiesta season fills the roads.
Your numbers
What a monthly budget produces for roofers in San Antonio
Benchmarks from our accounts, adjusted for local click costs (0.95×). Move the slider. Estimates, not promises.
$6,000$30k
Typical account today—leads / month—booked jobs / month—revenue / month
With DGENCY—leads / month—booked jobs / month—revenue / month
Assumes cost per lead $171 → −30% and lead-to-customer rate 20% → +25% after tracking and structure are fixed, at $9,500 per booked job. Open the full projector to use your own numbers.
Proof
The proof is in the booked jobs
Numbers our clients get paid on, from accounts in home services.
HVAC
Summit Air & Heat
Phoenix, AZ · $9,000/mo ad budget
−58%Cost per booked job ($142 to $59)
+188%Booked jobs per month in 5 months
Rebuilt call tracking, cut 1,900 wasted search terms in month one, moved budget to AC replacement in summer and furnace in winter.
8 client stories
★★★★★
“Three agencies before DGENCY. Every one of them sent me a report with a bunch of graphs. Hamid sent me a spreadsheet of booked jobs and what each one cost. That was the whole difference.”
Rick MorenoOwner, Canyon Air Conditioning
★★★★★
“They told me in the first call that my landing page was the problem, not the ads. I did not want to hear it. They were right, and signed cases went from four a month to fourteen.”
Danielle HarperManaging Partner, Harbor Injury Law
★★★★★
“We are a small practice. I was worried we would be too small for a real agency. Hamid looks at our account personally and my front desk knows exactly which new patients came from ads.”
Dr. Sana PatelOwner, Bright Smile Dental
★★★★★
“Our old agency reported clicks. DGENCY reports booked jobs, and the number went from 61 to 140 a month on the same budget once the tracking was honest.”
ME
Marcus EllisonOwner, Summit Air & Heat
★★★★★
“Hamid called our office as a customer before we signed and told us we missed a 4pm call. That is the level of detail. Cost per booked job is down 38 percent.”
LO
Lena OrtizGeneral Manager, TrueLine Plumbing
★★★★★
“Three quotes a week became eleven. The difference was the search terms they cut and the financing line they put in the ad. Nothing fancy, just correct.”
GW
Grant WhitakerOwner, Bluegrass Roofing
★★★★★
“We are a two-attorney firm. They gave us a plan for $5,000 a month and did not try to sell us $20,000. Consults are up 70 percent and the fee is flat.”
PN
Meera NairPartner, Keystone Estate Law
★★★★★
“Quarterly plans at $41 each from Local Services Ads and search together. Our previous agency never turned LSAs on. They did it in week two.”
The same process on every account. Management from $999 a month, never a percentage of spend; your ad budget is paid to Google in your own account. Three-month minimum, then month to month, with the fee dropping to zero if we miss the written target.
01
Weeks 1–2
Audit and tracking rebuild
We audit the account line by line and rebuild the measurement so that only real leads count.
02
Week 2
Blueprint
A written plan that maps your budget to the services and areas that make you the most money.
03
Weeks 3–4
Build
New campaign structure, ad copy and landing pages, built in your account, owned by you.
04
Month 2 onward
Run, learn, scale
Weekly hands-on optimization with AI doing the heavy lifting and Hamid making the calls that matter.
One-time
$299
Account audit
A line-by-line review of your existing Google Ads account, tracking and landing pages, with a written list of what to fix and what it is costing you. Credited toward setup if you continue.
Full hands-on management by Hamid and an experienced Google Ads strategist. Fee scales with the complexity of the account (service lines, locations, campaign types), not with your ad spend.
Everything in phases one to three: tracking rebuild, blueprint, campaign build and the first landing pages. Priced by the number of service lines and locations.
More on the FAQ page, or send your numbers with the growth plan request.
How much do Google Ads cost for roofers in San Antonio?
Expect $128 to $214 per lead and around $855 per booked job in a well-built account. San Antonio runs about 0.95× the national click cost, so tight geography and negatives matter more here than in cheaper metros.
What budget should a roofing company in San Antonio start with?
At least $6,000 a month. At $5,000 a month a typical account produces roughly 29 leads and 6 booked jobs; after tracking and structure are fixed the same budget produces about 10.
Which parts of San Antonio should a roofing company target?
Start with the areas closest to the practice where your close rate is highest, usually Alamo Heights and Terrell Hills and Stone Oak, with separate campaigns per area so budget follows results.
What does a roofing lead cost?
$120 to $250 per lead in most metros, more after storms. A signed replacement job typically costs $600 to $1,500 in ad spend against a $9,000 to $15,000 contract.
Do Local Services Ads work for roofers?
Yes, and the Google Guaranteed badge matters in a niche full of storm chasers. We run LSAs alongside search and dispute junk leads weekly.
How do you handle storms?
Storm campaigns, ads and insurance-claim pages are pre-built. When a storm is forecast or hits, they go live the same day with their own budget, then scale hour by hour on what converts.
How much does Google Ads cost in San Antonio?
About 0.95× the national average per click, so a little below what the same search costs in a mid-sized market. Injury law and HVAC in summer are the most expensive; pest control, garage doors and dental sit below the national average. Alamo Heights, Stone Oak and Boerne clicks cost more than the south and west sides.
What budget do I need to start in San Antonio?
At least $100 a day for most niches, and $5,000 or more a month for legal. Below that the account cannot buy enough clicks to learn which areas and searches turn into jobs. Because clicks are cheaper here, the same budget buys more data, so accounts learn faster than in Dallas or Houston.
Ask Hamid directly
Send your numbers and get straight answers in the written plan.
Send your details and Hamid reviews your account, your San Antonio market and your competitors before the call, then walks you through the five changes that would move your cost per booked job the most. Twenty minutes, a written plan, no obligation.
Step 01
Tell us about your business
Two minutes on the form.
Step 02
We do our homework
Website, landing pages, market and, with read access, your account.
Step 03
You get the plan in writing
A one-page plan you keep either way, and a call to walk through it if you want one.