Wash Me Solar: 11X ROAS in 12 Months
Unified paid acquisition across Meta and Google. Predictive lead scoring. 11X return on ad spend. $600K/month revenue at peak.
The Situation
Wash Me Solar is a solar and home maintenance services company in the Southwest U.S. They offer residential solar panel cleaning, roof inspection, and long-term maintenance contracts to homeowners.
When we started, Wash Me Solar was running paid acquisition campaigns on Meta only, with a starting ROAS of 1X—meaning they were breaking even or losing money on ad spend. The business model generates recurring revenue from service subscriptions, but the acquisition cost was unsustainable.
The core problems:
- Lead quality was inconsistent — no ability to predict which leads would convert
- Geographic targeting was manual; they were bidding on the same audience regardless of service availability
- Conversion API was not implemented, so attribution was limited to Facebook's pixel
- No diversification of channels; all risk was on Meta
The Approach
Phase 1: Unit Economics Modeling
We mapped out the customer acquisition cost (CAC), lifetime value (LTV), and break-even payback period. Wash Me Solar's service contracts generated ~$180/month per customer for 24 months average, but acquisition was costing $240–$320 per lead depending on geography.
The insight: not all regions have the same unit economics. Arizona markets were more efficient than California markets due to roof exposure and climate. We needed to bid accordingly.
Phase 2: Conversion API + Unified Tracking
We implemented Facebook Conversion API to pass booking data, payment confirmation, and service completion events back to Meta. This gave the algorithm real signals to optimize on, not just website pixel events.
We also wired Google Ads conversion tracking to the same CRM, enabling bid strategy across both platforms simultaneously.
Phase 3: Predictive Lead Scoring
Using historical booking data, we built a machine learning model (via Google Ads Smart Bidding and custom n8n workflows) to score incoming leads by purchase probability. The model considered:
- Geographic location (roof prevalence, climate)
- Time to first contact responsiveness
- Historical booking rate by service type
- Seasonal demand patterns
Phase 4: Multi-Channel Expansion
With clean tracking and lead scoring in place, we scaled spend beyond Meta. We launched Google Local Services Ads (LSA), which are heavily targeted to homeowners actively searching for solar services. We also added YouTube video campaigns to build brand awareness in target zip codes.
Results
Metrics:
- ROAS: 1X → 11X (1,000% improvement)
- Cost per acquisition: $320 → $110
- Monthly ad spend: $8K → $600K (at peak)
- Booking rate: 15% → 34% (via lead scoring)
- Total revenue impact: $7.2M in 12 months of incremental ARR
The turning point was around month 4, when Conversion API data was flowing, and the lead scoring model had enough historical data to make predictive decisions. From that point, every dollar spent on ads was generating $8–$12 in contract value.
By month 9, Wash Me Solar was able to:
- Expand into new service areas (roofing, gutter cleaning) because efficient customer acquisition was proven
- Offer seasonal promotions confidently, knowing the margin
- Hire field teams to match the lead volume
- Plan a Series A fundraise on predictable unit economics
Why This Worked
Real data drove real decisions. The Conversion API meant Meta and Google were optimizing for actual customer value, not just "lead form fills." Wash Me Solar went from throwing money at ads to investing money in customers they knew would stick.
Predictive models matter for high-LTV services. The lead scoring model meant Wash Me Solar's sales team received qualified prospects, not random leads. Sales conversion went from 15% to 34%.
Geographic targeting is an underutilized lever. By bidding more aggressively in high-efficiency regions, we compressed CAC without sacrificing volume.
Ready to build predictable growth?
Let's audit your acquisition funnel and find the leverage points in your data.
Schedule a call