LSM Video · Roofing Marketing Breakdown

Ruff Roofing Houston Review: The Marketing Holes Behind a 4.8-Star Reputation

  • 4.8 stars across 531 Google reviews — and still invisible in their own backyard
  • Top-3 map results 0% of the time across a five-mile radius, with an average rank of 9.2
  • Running Google Ads with no click fraud protection, no call tracking, and zero analytics
  • No review markup and no structured data — free clicks left on the table every day
  • Every fix on this list is a basic — and AI can now run them automatically
See the breakdown →

Watch the full video, then read the breakdown below.

Ruff Roofing Houston has the kind of reputation most roofing companies would kill for: 4.8 stars across 531 Google reviews. I’ve reviewed hundreds of local service businesses, and a rating like that is earned. These folks clearly take care of their customers.

But reputation and visibility are two different battles. When we pulled apart the marketing behind that review profile, we found real holes — the kind that quietly cost booked jobs every single week. Nothing on this list is exotic. It’s all basics. And that’s exactly why this breakdown is worth your time, because there’s a good chance the same holes are sitting in your marketing right now.

4.8Google rating
531Google reviews
0%Top-3 map appearances
9.2Average map rank
FindingWhat the audit foundWhy it matters
Weak local map-pack visibility (0.0% within a 5.0-mile radius)Live Google Places search grid scan for "roofing contractor": appears in the top-3 map pack at only 0.0% of 25 checked points around the business, average rank 9.2.Most customers only ever see the 3-pack at the top of local search results — falling outside it across most of the checked service area means most nearby searches never surface this business at all.
No click-fraud protection detected alongside Google AdsSite carries a Google Ads conversion tag but no ClickCease/CHEQ script was found in the page source.Competitors and bots clicking ads burns budget with zero leads — typically 10-20% of local-service ad spend.
No call tracking detectedGoogle Ads tag present, but no call-tracking/DNI script found on the site.Most local-service leads CALL. Without call tracking, Google can't optimize for the calls that actually book jobs.
No analytics detectedNo GA4/Google Tag Manager script found in the page source.No way to know which marketing produces leads and which burns money.
No Facebook/Meta pixel detectedNo fbq('init') / connect.facebook.net script found in the page source.Without a pixel, there's no way to retarget people who already visited the site — one of the cheapest ad channels available goes unused.
No video content on the homepageNo YouTube/Vimeo/Wistia embed found in the page source.Video builds trust fastest and keeps visitors on the page longer — a homepage with zero video is a missed, low-cost opportunity.
No LocalBusiness structured dataNo LocalBusiness schema in the page's JSON-LDStructured data is how Google reads your hours, service area, phone and rating. Without it Google guesses — and competitors who publish it get the rich result instead.
Reviews shown but not marked up for GoogleReview content on the page with no aggregateRating/review schemaMarked-up reviews can show star ratings directly in search results, which lifts click-through on a listing you already rank for — free clicks you're currently leaving behind.

The Map Scan: Invisible in Their Own Backyard

We ran a live map scan across a five-mile radius around their location. The result: Ruff Roofing shows up in the top three map results 0% of the time, with an average rank of 9.2.

Picture someone standing in front of a leaking roof, phone in hand, searching for a roofer. Across that entire area, this company never even appears.

That’s the part that should bother every owner reading this. The 531 reviews only work on people who already found them. The homeowner with water coming through the ceiling — the highest-intent lead there is — never sees any of it, because the company doesn’t exist in the results that matter. All that hard-earned trust is sitting behind a locked door.

531 Reviews — and Google Can’t Show the Stars

The reviews do show up on their website. But there’s no review markup behind them. That markup is what lets Google display your star rating right inside the search results, and without it, they’re leaving free clicks on listings they already show up for.

Think about why this stings. Two roofers appear side by side in search. One has a visible star rating pulled straight from real reviews. The other is plain text. The click goes to the stars — every time. Ruff Roofing already did the hard part, which is earning 4.8 stars over hundreds of jobs. The markup is how you collect on that work, and it’s missing.

Review markup is a small snippet behind your reviews that tells Google what they are. It’s one of the few wins in local search that’s pure setup — you already did the hard part by earning the reviews.

No structured data at all

Same story with their basic business info. There’s no structured data on the site, so Google is guessing at their hours, their service area, their phone number. Meanwhile, competitors who publish that data get the richer listing — more screen space, more info, more reasons to click. When Google has to guess and a competitor hands it the answers, the competitor wins the listing.

The Google Ads Account Is Leaking Money

Credit where it’s due: Ruff Roofing is running Google Ads, and the conversion tag is right there in the page source. Somebody set up the basics. But three gaps turn that spend into a gamble.

Fix #1: No click fraud protection

There’s no click fraud protection software anywhere on the site — the tool we point clients to is click here. In local services, bots and competitors clicking your ads typically burn 10 to 20% of the budget. Maybe it’s a competitor. Maybe it’s their office manager on a lunch break. Either way, that’s real money buying nothing — and it compounds month after month. If this were my account, that’s fix number one.

Fix #2: No call tracking

Roofing leads pick up the phone. Without call tracking, Google can’t learn which clicks actually turn into booked jobs — so the campaign keeps spending without ever knowing what worked. This is the gap that separates data from guesswork, whether you run ads yourself or pay for Google Ads management for contractors. No call tracking means every “lead” looks the same to the algorithm, and the account never gets smarter. The call-tracking platform we use with clients is CallRail — click here.

No analytics underneath any of it

And underneath all of it, there’s no analytics on the site at all. Nobody can tell which marketing is producing leads and which is just burning money. Ads without analytics is driving at night with the headlights off — you’re moving, but you have no idea where.

No Facebook Pixel — Visitors Leave and They’re Gone for Good

There’s no Facebook pixel on the site either. So everyone who visits and leaves without calling is gone for good. Retargeting those people is one of the cheapest ad channels there is — these are homeowners who already found the site, already saw the reviews, and just didn’t pick up the phone that day. That audience is sitting there, unused.

Zero Video on the Homepage

And there’s zero video on the homepage. With a review profile like theirs, 60 seconds of the owner on camera would build more trust than any paragraph on that page. A homeowner about to spend serious money on a roof wants to see who they’re dealing with. The proof is already there — 531 people vouching for the work — and a short video would put a face on it.

Why Do Basics Like This Get Missed?

Here’s the bigger picture. Nothing on this list is exotic. These are basics any home service marketing agency should catch in month one. When they get missed, it’s usually because agencies collect the monthly retainer while junior staff juggle 80 accounts — and nobody actually looks at yours. The report goes out, the invoice goes out, and the holes stay open.

And here’s what most owners don’t know yet: with AI, these exact fixes can now run automatically. With a bit of guidance, you can run your marketing in-house and own the whole thing — never depending on an agency again. That’s the entire premise behind Local Service Mastery: you keep the keys, and the work actually gets done.

The Fix List, in Order

None of this requires a bigger reputation, a bigger budget, or a better website. It requires someone to actually look — and then fix things in the right order.

Real owners · Real results

Don't take my word for it.

See it in action

How LSM AI Works

Still got questions?

Let's find the right fit for you.

Answer a few quick questions about your business. If it's a fit, we'll get you on a call with me. If not, I'll point you to what actually makes sense for where you're at.

— Lior

Free · Real Google data · 60 seconds

How many calls can your market get?

Real numbers — pulled straight from Google Ads. Not an agency pitch. 🎯

$ /mo

No credit card  ·  No commitment  ·  We verify your details before showing results

The honest truth

Agency vs. owning it.

The agency model
  • $2,000–$5,000/month in fees just to manage your account
  • They own your Google Ads account — you start from zero when you leave
  • Random results. No explanation of why.
  • Zero visibility into what they're actually doing
The LSM way
  • Costs less than one missed job
  • Your Google Ads account. Your campaigns. Your data — always.
  • AI manages it daily. Full transparency — you see every decision.
  • Cancel anytime. Your campaigns stay yours forever.
The LSM way

How it works.

The opposite of an agency. We build it inside your accounts. You own it all.

1

Pick your coverage

One city or your whole service area. The free audit tells you exactly what to expect in your market.

2

Your LSM AI builds everything

Your AI marketing manager builds your Google Ads, call tracking, fraud protection, and landing page — inside your accounts. You approve before a single dollar is spent.

3

Your phone starts ringing

Most clients are live within 48 hours. Your AI optimizes bids and keywords daily — results compound over time.

Google Ads campaign (your account) Call tracking setup Competitor click blocking High-converting landing page Daily bid & keyword optimization Monthly performance report You own every account, always Personal LSM AI manager 24/7 Q&A in Lior's voice 7-day money-back guarantee
Real client wins and results using LSM
Included in every plan

Your own AI account manager.

Built on 8,600+ real LSM coaching sessions. Trained in Lior's exact voice.

⚡ Powered by LSM AI · Trained on 8,600+ real LSM coaching sessions
🔐

It already knows everything about you

The moment you sign up, your LSM AI knows your plan, your city, your service. No setup call. No briefing a stranger.

🏗️

Builds your entire setup — while you watch

Google Ads. Call tracking. Fraud protection. Your landing page. Built inside your accounts, step by step.

Nothing goes live without your sign-off

Before a single dollar is spent, your AI walks you through everything it built. You approve. Then it goes live.

💬

On call 24/7 — in Lior's exact voice

Ask it anything, anytime. 8,600+ real LSM coaching answers. Available instantly.

claude
Membership verified — Growth plan · Dallas TX
Client profile loaded — HVAC, 3 cities
Building your Google Ads campaign…
Campaign created (PAUSED for review)
47 keywords added across 3 ad groups
3 responsive ads created
Setting up call tracking…
4 tracking numbers created
Call tracking installed on your site
Competitor click blocking active
Building landing page…
Site backed up · Page builder detected
Landing page live at dallas-hvac.yourdomain.com
Everything looks good. Budget: $75/day · Targeting: Dallas 25mi · Ready to go live?
You: Yes, turn it on.
Campaigns activated. Your phone should start ringing.
Real session · Google Ads + Call Tracking + Landing Page built in one go
Free · 2 minutes · No call required

See what your market can do.

Real estimate — pulled directly from Google's own data. Not a made-up projection. 🎯

No credit card  ·  No call  ·  Results in 30 seconds

If this sounds familiar…

You've been burned before.

🔒

They own your accounts. Not you.

The day you leave an agency, your Google Ads account, tracking numbers, and landing page are gone. You spent $30,000 building their asset.

💸

The reports look great. The phone doesn't ring.

Impressions. Clicks. CTR. Beautiful PDF every month. But when you ask how many jobs you closed — nobody has a straight answer.

🤷

You ask a question. You get an email 48 hours later.

You need answers now. A human account manager you can never reach isn't service — it's a subscription to uncertainty.

Lior Vaknin
Who's behind this

I'm Lior. 15 years making sure you never get locked out of your own marketing again.

I built Local Service Mastery because I watched too many great contractors get burned by agencies — overcharged, locked out, left with nothing. So I flipped the model: your accounts, your data, your asset. We build it. You own it.

500+owners coached
$20M+revenue generated
15+years in the game

Peace,
Lior Vaknin

Good questions

Questions,
answered.

What is review markup, and why does it matter for my business?

Review markup is a small piece of code behind your reviews that lets Google display your star rating directly inside the search results. Without it, your listing shows up plain while competitors with markup show their stars — and you leave free clicks on listings you already appear for. If you’ve earned the reviews, the markup is how you get credit for them in search.

How much of my Google Ads budget is being wasted on fake clicks?

In local services, bots and competitors clicking your ads typically burn 10 to 20% of the budget. It could be a competitor — it could even be someone in your own office on a lunch break. Click fraud protection software is the fix, and in an account like the one in this breakdown, it’s fix number one.

Why is call tracking such a big deal for roofers and contractors?

Because home service leads pick up the phone. If your calls aren’t tracked, Google can’t learn which clicks actually turned into booked jobs — so the campaign keeps spending without ever knowing what worked. Call tracking is what connects your ad spend to real revenue instead of guesswork.

My reviews are great but I don’t show up in the map pack. What’s going on?

Reputation and map visibility are two separate battles. Ruff Roofing has 4.8 stars across 531 reviews and still appeared in the top three map results 0% of the time in a five-mile scan, with an average rank of 9.2. The only way to know where you actually stand is a live map scan across your real service area — the same kind we ran in this breakdown.

I’m not running Facebook ads. Do I still need the pixel?

Yes. Without the pixel, every homeowner who visits your site and leaves without calling is gone for good. The pixel is what lets you retarget those people later — and retargeting is one of the cheapest ad channels there is. Even if you’re not ready to run it today, the pixel needs to be on the site so that audience isn’t lost.

Can I really run all of this in-house without an agency?

That’s the shift most owners haven’t caught yet. Everything on this fix list — click fraud protection, call tracking, markup, pixels, analytics — can now run automatically with AI. With a bit of guidance, you can run your marketing in-house and own the whole thing, instead of paying a monthly retainer to an agency where junior staff juggle 80 accounts and nobody actually looks at yours.

Which plan should I pick?

Start with Starter if you want to get your phone ringing in one city and grow from there — one new campaign gets added each month. Go with Growth if you're ready to cover your full service area right away. Pro adds local SEO, Facebook Ads, and weekly coaching with me directly. If you're still not sure, run the free audit — it'll tell you what to expect in your market.

How fast will my ads go live?

Most clients are live within 48 hours of completing setup. Your LSM AI builds everything, you review and approve, then it goes live. The only exception is if Google requires advanced verification for your category (locksmith, garage door) — that's a direct process between you and Google, and we walk you through it.

What results can I expect?

Depends on your trade, your city, and your ad budget. The free audit gives you a real estimate pulled directly from Google's own Ads data — not a made-up projection. In a medium-to-large market with a $1,000/month ad budget, most clients get 15–40 qualified calls per month. Run the audit first to see what's realistic in your specific area.

Do I really own everything?

Yes. The Google Ads account, the call tracking numbers, the landing page — all built inside your accounts, in your name. If you ever cancel, you walk away with everything you paid to build. That's not a policy. That's the whole point.

Is there a contract?

No contract, ever. Every plan is month-to-month. Cancel anytime — if we stop earning your business, you should stop paying.

What if I already have my own call tracking or fraud protection?

No problem. You can connect your existing accounts, or we set everything up fresh for you. Your call — you pick during onboarding.

I'm a locksmith or garage door company. Anything I should know?

Yes — Google requires advanced verification for locksmith and garage door services before ads can run. We build your campaign and all your keywords, but you'll need to complete that verification with Google directly (we walk you through it). If for any reason you can't complete it, you're covered by our full 7-day refund.

Do you work with my trade?

We specialize in home and local services — HVAC, plumbing, electrical, roofing, locksmith, garage door, pest control, carpet cleaning, water damage, tree service, and more. Run the free audit and you'll instantly see if we're a fit.

What exactly is my LSM AI account manager?

It's your personal AI marketing manager — trained on 8,600+ real LSM coaching sessions. Sign up and it's ready to go: builds your full campaign setup inside your accounts, reviews everything with you before anything goes live, and stays on 24/7 to answer any question about your campaigns, leads, or marketing strategy. In Lior's exact voice.

What's the 7-day money-back guarantee?

If you sign up and decide within 7 days that this isn't right for you — for any reason — you get a full refund. No hoops. We'd rather lose a bad fit early than keep a client who isn't seeing value.

The bottom line

A Great Roofer With Leaky Marketing — and Every Leak Is Fixable

Ruff Roofing Houston is proof of something I see constantly: you can be one of the best operators in your market and still be invisible where it matters most. 4.8 stars, 531 reviews — and a 0% top-three presence in their own five-mile radius. The reputation is real. The marketing behind it has holes, and those holes are costing booked jobs every week.

The good news is that nothing on this list is exotic. Click fraud protection and call tracking come first, because they stop the money bleed and teach Google which clicks become booked jobs. Then review markup, structured data, analytics, the Facebook pixel, and 60 seconds of the owner on camera. Basics — but basics are where the money is.

At Local Service Mastery, this is exactly what we do. We run the scan, find what’s leaking, and show you how to fix it in the right order — and with AI now handling these exact fixes automatically, we’ll show you how to run the whole thing in-house so you never depend on an agency again. If you run a local service business and want us to find what’s leaking in your marketing, the audit is free. Link below.

Want this handled for you?

Get a free 30-second marketing audit and see how Local Service Mastery helps you own your lead generation instead of renting it.

Get my free audit →

Stop renting leads.

Check your market, pick your plan, or grab 15 minutes with me. Let's get your phone ringing.

See what your market can do

Your trade