The opportunity
My City Roofing and Roof Repair 911 sit in one of the hardest local categories to fake: emergency roofing in Miami. The buyer is not browsing. They have a leak, storm damage, or a deadline. Trust is the product before the roof is. Speed matters. So does looking like the company a neighbor would actually call.
That is a different problem than ecommerce. Polished product creative, broad social reach, and generic lead forms do not transfer cleanly when the conversion event is a phone call from someone who needs help today.
The job was to build a full-service lead system around that reality: content and branding that earn local credibility, channel tests that tell the truth about quality, traditional media that signals legitimacy in Miami, and paid search pointed at high-intent queries where urgency already exists.
Before
- Ecommerce creative playbooks on emergency demand
- Channels without a quality read
- Awareness spend mistaken for closes
- No clear spine for phone-cycle leads
After
- Trust content as the proof layer
- Honest channel tests on lead quality
- Traditional media for local legitimacy
- Google Search intent where contracts close
Content as the trust layer
Before spend scaled, the foundation had to look like a real Miami roofing operation, not a lead broker with a logo.
We built an educational content spine: how repairs work, what storm damage looks like, what homeowners should expect on site. Before-and-after job documentation and testimonials sat next to consistent branding across both My City Roofing and Roof Repair 911. Design and creative standards kept the properties coherent so every touchpoint reinforced the same local operator, not a rotating set of ads with no memory.
In a trust-driven category, content is not a blog calendar. It is the proof layer every other channel borrows from.

Social: reach is not a close
We tested TikTok and Facebook the way you should test anything expensive: with real creative, real budgets, and an honest read on lead quality.
TikTok bought reach. It did not buy the kind of leads a roofing crew can close. Useful for awareness. Weak as a primary acquisition engine when the business needs phone calls from people with an actual roof problem.
Facebook told a sharper creative story. Raw on-site and emergency video outperformed polished ecommerce-style graphics. That matched the category: homeowners respond to work happening in their city, not lifestyle ads. Cost per lead stayed inconsistent enough that Facebook could not be the spine. It could support recognition and retargeting. It could not carry the revenue model alone.
Local legitimacy, then digital follow-up
Flyers, postcards, and TV still matter in hyper-local home services. They do a job digital interruption does poorly: make the brand feel established in the neighborhood before the next storm or leak.
We ran traditional media for that legitimacy effect, then used digital to stay in the multi-touch path when someone searched, clicked, or called later. Recognition and response are different stages. Treating them as one channel mix is how budgets get confused.
The breakthrough: Google Search intent
The breakthrough was not a clever hook. It was sitting where demand already had a problem statement.
Google Search Ads aimed at intent queries like roof repair Miami and emergency leak language. Someone typing that is not discovering roofing as a category. They are choosing who to call. That is the moment a phone-cycle business is built for.
We concentrated budget there, optimized for calls and messages, and treated impression share and absolute top position as operational metrics, not vanity. In a local emergency category, showing up first when the leak is active is the product.
Someone typing roof repair Miami is not discovering roofing. They are choosing who to call.
What it produced
In a thirty-day Google Search window from September 3 to October 2, 2025, the account spent $14,384.71 and produced 115 leads: 85 phone calls and 30 messages. The campaign delivered 12,979 impressions with 99.19% top impression share and 45.7% absolute top impression share.
That same window generated $60K+ in paid contracts, a four-times-plus return on roughly fifteen thousand dollars of Search spend.
Those numbers are the point. Social taught us what awareness costs. Traditional media bought local legitimacy. Search converted urgency into contracts. Full-service meant we owned content, budgets, TV, and design as one operating stack, not a pile of disconnected vendors.












