GROWTH OPPORTUNITY REPORT
Lions Crown Roofing
Residential Roofing • Katy, TX
You’re spending $10K–$15K a month on ads.
Google can barely see your website.
A perfect 5.0-star rating. 70 reviews. 24/7 storm response. And you’re not in the Map Pack for your own city. Your website says Houston. Your GBP says Katy. Google doesn’t know where you are — and it’s costing you the organic leads you’re already paying for.

What’s Working

You’ve built something real — let’s start there

Andres, before we get into the gaps: a 5.0-star rating with 70 reviews is elite territory. In a market saturated with storm chasers and one-star nightmares, Lions Crown is delivering the kind of customer experience most roofers can only talk about. The problem isn’t your craft. The problem is that the people searching for a roofer in Katy right now have no idea you exist.

5.0★
Google Rating
Perfect average
70
Google Reviews
Strong social proof
BBB
Accredited
Since May 2024
24/7
Availability
Storm-response ready

Your Competitive Advantages

✓ Reputation That Closes Deals

70 five-star reviews at a perfect 5.0 average. Customers call you “professional,” “knowledgeable,” and “the best price.” That’s the language of a business that earns its referrals.

✓ Legitimate Physical Presence

Real office at 1526 Katy Gap Rd. BBB accredited. Licensed. Not a truck and a phone number — a real operation Google can verify.

✓ Full-Service Offering

Inspections, repair, replacement, gutters, siding, attic insulation, storm response. You can monetize every call, not just the easy ones.

✓ Already Investing in Growth

You’re spending $10K–$15K/mo on ads. That’s not the problem — the problem is that nothing organic is picking up the slack. Every dollar stops working when the ad stops running.

Reputation Score: 95. Digital Presence Score: 18.
Homeowners who find you love you. The problem is most never find you at all. You have a 5.0-star business hidden behind an invisible website and conflicting address data. Fixing the visibility layer doesn’t require changing anything about how you do roofs.

Your Ads

13 Google ads + 5 Meta ads — same copy, no testing
13
Google Ads
Status unclear
5
Active Meta Ads
Started Mar 31, 2026
1
Hook Tested
Same copy on all 5
0
Creative Variation
Identical messaging

What We Found in Your Ad Library

5 Meta Ads — All Identical Copy

Every ad runs the same hook: “New Roofs Starting at Just $99/Month. Schedule Your Free Inspection Today!” Same CTA, same footer (“Your Trusted Roofing Company in Texas / A Rated BBB Accredited”). Different images but identical messaging. When Meta sees 5 ads with the same copy targeting the same audience, it picks 1–2 winners and starves the rest. You’re paying for 5 ads and likely getting results from 2.

13 Google Ads — Broader Houston Targeting

Your Google ads run under “Andonie Construction Dba Lions Crown Roofing” targeting the wider Houston metro (“Katy to La Porte, Galveston to Conroe”). Some sponsored GBP cards show “Houston” as your city, others show “Katy.” The address confusion isn’t just an SEO problem — it’s leaking into your paid ads too.

The Same Problem As Your SEO — No Testing, No Attribution

5 Meta Ads Launched
Same day, same copy
Audience Overlap
Ads compete with each other
Budget Split 5 Ways
Not enough spend per ad
2–3 Ads Starved
<100 impressions

No Creative Testing

The $99/month financing hook is decent — but it’s the only hook you’re testing. You should be running 3–4 different angles: “$99/mo Financing” vs. “Free Storm Inspection” vs. “5.0 Stars, 70 Reviews” vs. “24/7 Emergency Roof Repair.” Different hooks attract different buyers at different stages.

No Attribution

With 13 Google ads and 5 Meta ads, you’re spending $10K–$15K/month across two platforms. Do you know which ads produce signed contracts? Which platform? Which creative? Without channel-level ROAS tracking, you’re optimizing blind.

⚠️ Data Discrepancy to Investigate

Your Google Ads show “7+ years in business” but your BBB profile lists a start date of March 2024 (2 years). One of your sponsored GBP listings shows 56 reviews at 5.0★, another shows 53 at 4.9★, and your organic GBP shows 70 at 5.0★. These inconsistencies can erode trust with both Google’s algorithm and prospective customers. Worth cleaning up.

The Immediate Fix: Fewer Ads, Different Hooks
Pause 2–3 of the weakest Meta ads immediately. Keep 2–3 with different creative angles and different images. Run each for 2 weeks, measure cost-per-lead, then scale the winners. On Google, consolidate targeting to Katy + immediate suburbs (not all of Houston) and ensure the Katy address shows consistently.

The Diagnostic

Why a 5.0-star roofer is invisible in its own backyard

The Four Compounding Problems

🚨 Problem #1 — Your Website Says Houston. Your GBP Says Katy.

Your website footer shows 2800 Post Oak Boulevard Suite 5600E, Houston, TX 77056. Your Google Business Profile shows 1526 Katy Gap Rd Suite 904, Katy, TX 77494. Your BBB listing matches the Katy address. When Google sees conflicting NAP (Name-Address-Phone) data across your website, GBP, and directories, it penalizes your Map Pack ranking because it can’t confidently place your business. This is your single biggest problem and likely the #1 reason you’re invisible. Every local SEO signal depends on address consistency — and yours are 30 miles apart.

Problem #2 — Not in the Map Pack for “Roofer Near Katy TX”

The Map Pack (top 3 local results with a map) drives ~44% of all local search clicks. Lions Crown is nowhere in the top 15 for this keyword. Not on the first page for “roofer near Harris County TX” either. That’s your target market — and they can’t find you.

Problem #3 — Your GBP Says “Harris County,” Not “Katy”

Your GBP category reads “Roofing contractor in Harris County TX.” Harris County is 1,777 sq mi. Google uses city-level signals to rank local searches — when your profile says the entire county, you get buried by any roofer whose profile actually says “Katy.” This is a free 10-minute fix.

Problem #4 — Your Sitemap is Broken

lionscrownroofing.com/sitemap.xml references three sub-sitemaps (website.xml, blog.xml, ola.xml) but exposes no actual page URLs to Google’s crawler. Google can’t index what it can’t find. That’s why you don’t rank for any Harris County roofing searches — your service pages aren’t in Google’s index.

How The Leak Flows

Katy homeowner
needs a roofer
Searches Google
You’re not
in the results
Calls your
competitor

Your Meta ads buy leads one at a time. They don’t build an organic flywheel. Every dollar stops working the moment the ad stops running. Meanwhile, the roofers in the Map Pack collect free leads 24/7.

The Opportunity

Katy is one of the best roofing markets in Texas
$114K
Median Household Income
Katy city, 2024
80.7%
Homeownership Rate
vs. 65% national avg
4.58%
Annual Pop. Growth
One of TX’s fastest
$8.5K–28K
Avg Roof Replacement
Katy/Houston 2026

Who You’re Actually Competing With

CompetitorGoogle ReviewsRatingIn Katy Map Pack?
Onit Roofing (Katy HQ)400+4.9★✓ Yes
Texan Roofing300+4.8★✓ Yes
Elite Roofers250+4.9★✓ Yes
Remedy Roofing180+4.7★✓ Yes
Lions Crown Roofing705.0★✗ Not ranking
Here’s the interesting part

You have the highest rating on that list. Google doesn’t reward you for it because Google can’t find your service pages and your address data is conflicting. Review quality is a ranking factor — but only once Google actually indexes you and trusts your location.

The Revenue Math

“Roofer near Katy TX” + variants drive an estimated 2,400+ searches/month in the Katy metro. Map Pack listings capture ~44% of those clicks. If you ranked in the top 3, you’d see roughly 310+ profile clicks/month from organic search alone. At a 6% lead-to-close rate and an $11,000 average ticket, that’s ~$2.0M in annual organic revenue — with zero additional ad spend.

Quick Wins

4 things you can fix this week — free
1 • Do Today • 15 minutes
Match Your Website Address to Your GBP

Your website footer says 2800 Post Oak Blvd, Houston. Your GBP says 1526 Katy Gap Rd, Katy. Pick one — whichever is your real office — and make sure every listing matches: website footer, GBP, BBB, Yelp, Angi, HomeAdvisor. If Katy is your market, the Katy address should be everywhere. Why it matters: NAP (Name-Address-Phone) consistency is the #1 local SEO signal. Conflicting addresses tell Google your business isn’t trustworthy enough to show in the Map Pack.

2 • Do Today • 10 minutes
Change GBP Category from “Harris County” to “Katy”

Log into business.google.com → Info → Verify your profile reads “Roofing contractor in Katy, TX” not “Harris County TX.” Also update your service area to list Katy, Cinco Ranch, Fulshear, Richmond, Cypress, Sugar Land. Why it matters: Google weighs city-level relevance heavily. This single change typically moves businesses 5–10 spots in Map Pack results within 2–3 weeks.

3 • This Week • 1 hour
Fix the Sitemap So Google Can Crawl Your Site

Your sitemap at /sitemap.xml only references three sub-sitemaps without actual page URLs. Generate a flat XML sitemap that lists every service page, location page, and blog post with <loc> and <lastmod> tags. Submit in Google Search Console under Sitemaps. Why it matters: Google can’t rank pages it doesn’t know exist. Most of your site is currently invisible to the crawler.

4 • This Week • 30 min/week
Post 5 Photos a Week to Your GBP

Businesses that post photos weekly get 35% more clicks and 42% more direction requests (Google data). Your crew does 24/7 storm response — have a foreman text one before/after per job to a shared album. Post 5 to GBP every Friday. Why it matters: Photo activity is a freshness signal. Right now your profile looks dormant to Google’s algorithm.

These four alone typically move rankings 5–15 spots within 30 days
No new tools. No new hires. No ad spend. Just giving Google the signals it needs to put your 5.0-star profile in front of the 2,400 people searching for you every month.

Plug the Leaks

Where your $10K–$15K/month is actually going

You’re spending $10K–$15K a month on ads. That’s $120K–$180K a year. The question isn’t whether ads work — it’s whether every dollar in and every lead out is being tracked, nurtured, and converted.

Lead Lifecycle StageStatus TodayEst. Leakage
Ad impression → Landing pageWorkingNormal
Form fill → CRMUnclear10–20% lost
Lead → First call attempt (speed)Unknown30–50% if >5 min
Missed call → Callback / text-backManual40–60% abandoned
No-answer → Follow-up sequenceAd hoc50%+ drop-off
Closed-lost → Nurture / reactivationNone100% wasted
Channel-level attribution (ROAS)UnknownCan’t optimize
The Math on Plugging Just One Leak

If your ads generate 80 leads/month and you close 6% into $11K jobs, that’s ~$53K/mo in revenue. Missing 30% of callbacks — the industry norm for contractors without a follow-up system — means roughly $16K/month you’re paying to generate and then dropping on the floor. Annualized: ~$190K in lost revenue.

What “Fixed” Looks Like

Speed-to-Lead Under 60 Seconds

Auto-text every new lead within 60 seconds. Contractors who respond in <5 min are 9× more likely to close.

Missed-Call Text Back

Every missed call gets an automated “We just missed you — here’s our calendar” text. Recovers 30–50% of dropped calls.

Channel-Level ROAS

Every lead tagged by source. You’ll know in 30 days whether Meta, GBP, or referrals are producing revenue.

90-Day Nurture

Closed-lost and “not ready” leads drip for 90 days. 15–25% become future jobs at near-zero CAC.

Questions for Andres

Understanding your real constraints before we prescribe

You’re running ads on two platforms, spending $10K–$15K a month, and Google can’t figure out if you’re in Katy or Houston. Before we build a 90-day plan, these six questions help us figure out where the real bottleneck is.

Demand Side

Question 1
How many leads come in per week across Google, Meta, and referrals? Do you know the split?
If you can’t break this down, you’re spending $10K–$15K/month without knowing which platform actually produces revenue. Most contractors overspend on the wrong channel because they don’t track source to close.
Question 2
What’s your average response time on a web lead? And what happens after hours?
Speed-to-lead is the #1 controllable factor in close rates. A 5-minute response vs. a 30-minute response is the difference between 8× conversion rates. If after-hours leads wait until morning, that’s a guaranteed leak.
Question 3
Is your real address the Katy Gap Rd office or the Post Oak Blvd (Houston) location? And which one do you want customers to associate with?
This is the single most important question. Your website says Houston, your GBP says Katy, your BBB says Katy. Whichever is HQ, everything needs to match — and the answer shapes whether we optimize for Katy Map Pack, Houston Map Pack, or both.

Supply Side

Question 4
If we doubled your organic lead volume in 90 days, could your crews handle it? What’s your current backlog?
If you’re already booked 4–6 weeks out, the play isn’t more leads — it’s pricing power and crew expansion. If you have capacity, it’s a conversion problem. We need to know which one before we build anything.
Question 5
Your Google ads say “7+ years in business” but your BBB says you started in 2024. What’s the real story?
Not a gotcha — this matters for trust. If Andonie Construction has been around longer and Lions Crown is a rebrand, that’s a story worth telling. If the “7+ years” is inflated, Google can flag it. Either way, we want the messaging to be airtight.
Question 6
What does a great year look like in revenue for Lions Crown? And what’s the biggest thing standing in the way?
This tells us whether the constraint is demand, capacity, margins, or operations. It also tells us if we’re aligned on what “growth” actually means for your business — more revenue, better margins, or less chaos.

90-Day Action Plan

From invisible to Map Pack top 3 in Katy
Phase 1 • Weeks 1–2 • Foundation
Fix the Visibility Basics

Align all addresses to one location (Katy or Houston — wherever is HQ). Reset GBP category to Katy. Rebuild XML sitemap and submit to Search Console. Update all directory listings (BBB, Yelp, Angi, HomeAdvisor) with matching NAP data. Install call tracking on every ad channel. Install missed-call text-back. Baseline current keyword rankings across 30 Katy + Harris County terms.

Phase 2 • Weeks 3–6 • Build
Give Google Something to Rank

Build location pages for Katy, Cinco Ranch, Fulshear, Richmond, Cypress, Sugar Land. Build service pages with schema markup for roof replacement, repair, inspection, hail/storm damage. Launch review response automation on all 70+ reviews + new ones. Set up lead source tagging in your CRM so every Meta/GBP/referral lead is attributed.

Phase 3 • Weeks 7–12 • Grow
Compound the Flywheel

Weekly photo posting to GBP (5/week, automated from field). Review request automation post-job (texts homeowner 24hrs after completion). 90-day closed-lost nurture sequence live. Monthly ROAS-by-channel report showing what’s producing revenue. Reallocate ad spend based on actual attribution data — not gut feel.

What Success Looks Like at Day 90
Top 3 Map Pack for “roofer near Katy TX.” First-page organic for at least 10 Harris County keywords. Every lead tracked to source. Missed-call rate cut by 30%+. A clear answer to “which channel is actually making us money” — so your next $10K–$15K/month works 2–3× harder.

Next Steps

Your cheat sheet
ActionCostTimeImpact
Align website address with GBPFree15 minCritical
Fix GBP category to KatyFree10 minHigh
Rebuild XML sitemapFree1 hrHigh
Submit sitemap to Search ConsoleFree15 minHigh
Update all directory listings (NAP)Free2 hrsHigh
Post 5 photos/week to GBPFree30 min/wkMedium
Install missed-call text-back~$50/mo1 hrHigh
Build location + service pagesDev time2–3 wksHigh
Lead source tagging in CRMTool setup1 wkHigh

Let’s talk Tuesday, April 14 at 9am CT

I’ll walk you through this report live, show you the specific Map Pack rankings, and answer any questions about the 90-day plan.

Book Follow-Up Call
or email hello@rivetops.io • (248) 243-4471
Automation & Revenue Intelligence for Home Service Contractors

Rivet helps home service contractors doing $2M–$8M stop missing leads, track revenue by channel, and turn their marketing spend into a predictable pipeline. We work with roofers, remodelers, and specialty trades across the US. Based in Metro Detroit. hello@rivetops.io • (248) 243-4471