From a brand new account to 25 qualified leads a month, in 60 days
Elite Roofing had built a 19-year reputation in Des Moines through referrals alone. Zero digital footprint, zero account history, no Smart Bidding signal. We built their Google Ads from scratch and earned the right to automate by feeding it clean data first.
Elite Roofing & Exteriors
Des Moines, IA · Residential roofing & siding · elite4roofs.com →
25
Qualified leads / month
Consistent by month 3
$180
Cost per lead
In a $22+ CPC market
6%
Landing page CVR
Built around one offer
60
Days to results
From a zero-history account
19 years of roofing reputation, zero digital footprint
Elite Roofing & Exteriors is a Des Moines-based residential roofing and siding company with 19+ years of operating history. They are BBB-accredited, locally owned, and serve the entire Des Moines metro area including Ankeny, Clive, Urbandale, Waukee, and West Des Moines. Roof replacement, roof repair, siding installation, gutters, storm damage work - they had built a strong local reputation through referrals and word-of-mouth.
What they did not have was any presence on Google Ads. When they decided to invest in paid acquisition, they came in with a blank slate: no account history, no Quality Score, no conversion data, and a market full of established competitors who had been bidding for months.
A note on this engagement
This work was delivered through our agency partner network. River Stone Marketing operates as a fulfillment partner for other agencies, working alongside their account managers to execute Google Ads campaigns. Some specific dashboard screenshots and granular performance data are not shown here to respect that partnership arrangement. The data shared in this case study has been approved for publication by all parties involved.
Building from zero in a $22+ CPC market
Roofing in Des Moines is one of the more expensive local service categories on Google Ads. Average CPC sits around $22 and climbs higher during storm seasons. Competitors had months of data feeding their Smart Bidding algorithms. Every wasted click costs real money, and high-ticket services have low query volume - which means even less margin for error.
The specific constraints we were working under:
- No account history. No Quality Score. No conversion data for Smart Bidding to learn from
- $22+ average CPC in the local roofing category, escalating during storm/hail events
- Heavy auction competition from established roofing companies already running campaigns
- $10,000+ average job value means low query volume and even lower conversion frequency
- Highly seasonal demand - the engagement started during peak season, with no margin for slow optimization
This is the kind of account where most agencies lose money in the first 90 days, blame "the market," and ask for a bigger budget. We took a different approach.
Earn the right to automate, before automating
With no historical data to lean on, the approach was deliberately methodical. We had to earn the right to use Smart Bidding by first building the data foundation it needs.
Every decision in the first 60 days was made to maximize signal quality, not click volume. The temptation in a high-CPC market is to enable Smart Bidding immediately so the algorithm "figures it out." But Smart Bidding is only as smart as the conversion data you feed it - and a brand new account has none. Premature automation in this scenario produces volatility, wasted spend, and an extended learning phase.
We split the engagement into three deliberate phases:
Foundation: tracking, structure, and clean data collection
Set up enhanced conversion tracking via GA4. Verified every conversion action before launch. Launched one consolidated Search campaign with Manual CPC capped at $25, across four tightly themed ad groups. Priority was clean data, not volume.
Optimization: offer, landing page, and ad copy
Deployed a $500 first-job discount in the landing page hero. Built copy around insurance claims process, BBB accreditation, and direct pain-point language. Resolved Core Web Vitals issues. Installed Microsoft Clarity for behavioral data on every visitor.
Scale: Smart Bidding activated, with discipline
After the account hit 38 verified conversions, we transitioned from Manual CPC to Target CPA at $120. Continued negative keyword pruning and ad copy iteration based on actual search term performance.
Six decisions that built the account
Conversion tracking before a single dollar spent
Before launching any campaigns, we implemented enhanced conversion tracking through GA4. This is non-negotiable. Google's algorithm is only as smart as the data you feed it. A new account with bad tracking is guaranteed to waste budget and extend the learning phase indefinitely.
We set up call tracking, form submission tracking, and verified every conversion action before launch. No campaign went live until tracking was confirmed working end-to-end.
Tight, intentional, consolidated
We launched a single Search campaign with four ad groups, each built around one clear intent theme:
- Roof Repair
- Roof Replacement
- Roofing General
- Siding
Exact match keywords only. No broad match out of the gate. With $22+ CPCs and zero account history, every query had to be earned. We capped Max CPC at $25 to maintain cost discipline while the account built its Quality Score.
One irresistible offer, above the fold
The landing page was rebuilt around a single irresistible offer: $500 off the first job, visible in the hero section above the fold on both mobile and desktop. The rest of the page was engineered to remove objections and build trust:
- Insurance claims process explained clearly in the body copy
- BBB accreditation featured prominently
- Pain points addressed directly: roof age, storm damage, leaks, curb appeal
- Core Web Vitals resolved for fast mobile and desktop rendering
- Strong CTA repeated at multiple points down the page
Key principle
The landing page is where the campaign is won or lost. Ad spend gets you the click. The landing page closes it. We treated CRO as a campaign requirement, not an afterthought.
Every headline did one of five jobs
Ad copy was built using the VUUT framework. Every Responsive Search Ad headline was designed to do exactly one of five things: communicate the value proposition, highlight a unique selling point, add social proof, create urgency, or remove perceived risk. No generic copy. Each ad group's headlines aligned to its keyword theme so the message matched what the user actually searched.
Sample headline angles used across the four ad groups:
- Des Moines Roofing Experts | $500 Off Your First Job
- 19+ Years Serving Des Moines Homeowners
- Storm Damage? Free Inspection + Insurance Help
- BBB Accredited | Licensed & Insured Roofers
- Fast Quotes. Quality Work. No Surprises.
Microsoft Clarity for CRO intelligence
We installed Microsoft Clarity on day one. Heatmaps and session recordings told us exactly where users were dropping off, what they were clicking, and which sections were being ignored. This data drove every subsequent landing page refinement and was instrumental in moving the conversion rate to 6%.
Manual CPC to Target CPA, only after the data was earned
We held Manual CPC until the account reached 38 verified conversions. Only then did we activate Target CPA, set at $120. This was a deliberate decision rooted in how Smart Bidding actually works: it needs enough conversion signal to make intelligent predictions. Turning it on too early with insufficient data leads to volatility, wasted spend, and an extended learning phase.
Key principle
Smart Bidding earns its name once you have given it enough data to be smart. Until then, Manual CPC is not a weakness. It is the right tool for the job.
What did not go smoothly
Month one was slow. By design, but still slow.
Most agencies promise immediate results. We did not, and the first 30 days reflected that. With Manual CPC bidding and exact-match keywords only, click volume was deliberately constrained. Conversions trickled in. There were moments where it would have been tempting to flip the switch on Target CPA early to "speed things up."
We did not. Because we had seen the pattern enough times: a new account with 8 conversions activates Target CPA, the algorithm has nothing meaningful to optimize against, the next two weeks burn budget chasing irrelevant signals, and the account ends up worse off than when it started. Patience here was the strategy, not the obstacle.
There was also a budget conversation in month 2. CPCs were running higher than initial estimates ($28 in some auction moments versus the $22 baseline), and we recommended a budget bump to maintain consistent presence in the auction. The client agreed. That conversation paid off in month 3 when the account hit its stride.
Results, in business context
By month 3, the account was producing approximately 25 qualified leads per month at an average $180 cost per lead. The landing page was converting at 6%. Smart Bidding had been activated and was performing inside the $120 Target CPA window for non-brand traffic, with some flex on competitor and storm-related queries.
To put those numbers in business context: at a $10,000+ average job value, even a modest closing rate on these leads produces a return that justifies the entire ad spend several times over. A single closed roof replacement covers approximately 55 lead acquisitions. The unit economics worked from month 3 onward.
More importantly, Elite Roofing now had something they did not have before the engagement: a predictable lead pipeline they could plan around. Not referrals that come when they come. A consistent monthly volume of qualified inbound, supported by a structured account that compounds value the longer it runs.
Conversions ramping into the storm season
The methodology described above is theory. Here is the data. The chart below shows daily conversions across October and November 2025 - the period when Phase 2 optimizations were live and Phase 3 Smart Bidding activation took hold. Conversions built steadily through October as the account collected signal, then accelerated through November as the structure compounded.
Daily conversions: October - November 2025
Real Google Analytics data from the initial 60-day engagement window. Conversions building as Phase 2 optimizations went live, peaking during a regional storm event in mid-November.
The mid-November peak corresponds to a regional hail storm event - exactly the kind of demand spike a properly built Google Ads account is positioned to capture. Because the campaign structure was tight, the landing page was conversion-optimized, and tracking was reliable from day one, the account converted that demand into actual leads automatically rather than missing it. A poorly structured account in the same market would have either burned budget on irrelevant clicks during the spike or run out of budget mid-day and missed the peak hours entirely.
This is the difference between a Google Ads account that "works" and one that performs under pressure - measured in calls and form fills, not vanity metrics.
Six things this engagement proved
- New accounts can perform fast when the fundamentals are right: tracking, structure, landing page, and offer. Time-to-results is more about discipline than market.
- Manual CPC is not a weakness early on. It is the right tool for data collection when Smart Bidding has no signal to work with. Premature automation costs more than it saves.
- Tight ad groups with intent-aligned copy outperform broad structures every time in local service markets. Match-message alignment is non-negotiable.
- The landing page is part of the campaign. Ignoring CRO while obsessing over ads is leaving money on the table - especially in expensive verticals where every click matters.
- Microsoft Clarity is a free tool that pays for itself in the first conversion rate uplift. Heatmaps and session recordings are instant feedback loops.
- An account built right captures demand spikes. When the November storm hit, the account was ready - structure, tracking, and Smart Bidding all working in concert. Most accounts miss demand spikes because they are not structurally prepared for them.
Building a Google Ads account from scratch?
Whether you are a local service business launching your first paid campaigns, an ecommerce brand restructuring an existing account, or an agency looking for a white-label fulfillment partner - we would be happy to walk through your specific situation. No pitch slides. No pressure to buy.
More case studies
More client stories coming soon. In the meantime, explore our free tools or book a strategy call.
Case study published 2026 · River Stone Marketing Solutions · riverstonemarketingsolutions.com