/ blog  -  Case study breakdown · Roofing

The Zykan Exteriors rebuild: the real numbers from the case study.

$100K to $1.7M a month, in 12 months, inside one of the most paid-aggressive roofing markets in the Midwest. The case study page shows the headline. This is me pulling the actual mechanics out from underneath it, line by line.

Zykan Exteriors is the flagship of our case studies page, and it's the one people ask me about most on the Zoom call, because the number on it is the kind that sounds made up: $100K a month to $1.7M a month. It isn't made up. It's a real St. Louis roofing company's monthly revenue, tracked in their own dashboards, over a 12-month engagement. But a headline number by itself is just a number. What actually earns it, week over week, is the part most case study pages skip. So this is the version with the mechanics left in.

The starting position: a saturated auction with no way in

St. Louis roofing is one of the most paid-aggressive local categories in the Midwest. Zykan had the crew, the completed work, and the local reputation to justify growth. What they didn't have was a way to win the Google and Facebook auctions, because well-funded competitors, John Beal among them, were outbidding them daily. The calls that did come in were inconsistent, month to month was uneven, and growth had flatlined. When Zykan came to us, the brief was blunt: own the search terms in this market, or go home.

Three levers, running together, not in parallel

The 17x monthly revenue lift didn't come from one channel. It came from paid, organic, and social all moving at the same time, each one reinforcing the other two.

Paid search got rebuilt from the ground up. Budget reallocation across ad sets happened daily, not weekly. When a competitor attacked a keyword, budget rerouted to defend it within hours instead of waiting for the next reporting cycle. That daily discipline is what we call the Competition Punch-Out loop internally, and it still runs on Zykan's account every day.

The website got tuned every week, not redesigned once. Content and images were updated weekly against the current highest-performing search terms in the STL roofing category. The result: 600 to 700 monthly organic visitors, at zero extra ad cost attached to any of them. That's traffic the paid budget never had to buy.

Social got rebuilt around real job sites, not stock photography. Zykan's PM, Tony, came on with a camera that actually works, and the feed got rebuilt around real project photography, posted daily. Engagement climbed to levels the account had never held before, because people can tell the difference between a stock roof and their neighbor's roof.

The exclusivity clause that makes the rest of it real

None of the above works if the same playbook is running against Zykan from the account next door. So we don't take on competing roofing companies in St. Louis or St. Charles while Zykan is a client. That's not a marketing tagline on the case study page, it's a load-bearing part of the mechanism. The daily budget reallocation, the weekly content refresh, the Competition Punch-Out loop, all of it only compounds if it stays proprietary to one roofer in the metro.

Where they actually rank, and how it's tracked

Zykan now holds the top Google result, both Maps and organic search, for "STL Roofing," "STL Exteriors," "STL Siding," "St. Charles Roofing," "St. Louis Roofing," "Best Roofing Companies in St. Louis," and "Roofing Near Me" across the St. Charles and St. Louis areas. That's not a snapshot from a good week. It's the current, ongoing state of the account, defended every day against new bidders and algorithm shifts, with 100% of it tracked through GA4, call tracking, and Pixel data, the same three sources any client can ask to see on the Zoom.

"Between the new website, Google Ads, and video content, we went from barely being found online to being the #1 ranked exterior company in our area. The ROI has been incredible." - Zykan Exteriors

Still climbing, on purpose

The case study page doesn't end at the top of the rankings, because the account doesn't stop there either. Current priorities on the engagement: drop the Google lead cost to $35, drop the Facebook lead cost to $45, and lock down every remaining regional keyword against new entrants. The measuring stick hasn't changed since month one. It's monthly revenue, not impressions, not follower counts, not a vanity metric that looks good on a slide and means nothing on a bank statement.

Why I keep pointing people back to this one

I publish the mechanics, not just the headline number, because "17x in 12 months" is the kind of claim anyone can print on a landing page. What's harder to fake is the daily budget rerouting, the weekly content cadence, the exclusivity commitment that costs us other roofing clients in the same metro, and the willingness to hand you the GA4 login instead of a slide. That's the actual difference between a case study and a claim. Zykan's is a case study. You can ask to see the dashboards.

JO
Jacob M. Ochs
Founder, OwnersFirm · USMC veteran · Boeing alum

Jacob is a USMC veteran and Boeing engineering alum who has built and sold a software company, and now runs OwnersFirm as its own first client. Read the full bio →

Read the original case study page with the full stats grid at /case-studies/zykan-exteriors. For how we verify a number before we ever put it on a landing page, see what a website visit is worth. For the 90-day cadence behind engagements like this one, see the method. Or book the call and we'll look at what the same daily-reallocation approach would do to your category.

Next step

Want the same daily discipline on your account?

Book a 15-minute Zoom. I'll look at your numbers live and either propose an engagement or honestly say we're not the right firm.