Case study
Stone Care of Arizona
An early-2000s website rebuilt as a modern layout built for conversion: a clear call to action on every page, and forms that carry the source of every lead into the CRM.

Measured
Over 14 months
Booked jobs
2.2×
increased, more than doubled
Over 14 months
Revenue
$75K a month
increased, up from $32K a month
Over 14 months
Website conversion rate
+220%
Situation
A stone restoration company in the Phoenix metro with a 65-page Webflow site laid out the way sites were in the early 2000s, a HubSpot CRM, Housecall Pro for scheduling and estimates, and a quote calculator that had to agree with a 958-item price book. Each tool worked on its own. Together they had gaps you could only see by looking at all of them at once.
- 34 forms across 20 pages, built three different ways. Two of the three carried no attribution fields, so a lead from a Google Ad arrived looking exactly like a referral.
- Meta descriptions on 3 pages. No canonical tags and no structured data anywhere. 73 template scaffolding pages live and indexable.
- Mobile pages loading their largest image in 15 to 27 seconds.
- The confirmation page every quote form redirected to was set to draft by accident and 404'd. Submissions still recorded, but customers saw "Page Not Found" and submitted again. Repeat submissions went from 1.3% to 23.8%, and nobody knew, because nothing was watching.
Approach
Treat the site, the CRM and the field software as one system with three surfaces, not three products from three vendors: one identifier per lead that survives the trip from a form into HubSpot and on into Housecall Pro, and a read of every form, page and workflow before changing any of them.
- A layout rebuilt for conversion: a clear call to action on every page, and every quote link landing on a form that carries the lead's source.
- Attribution fields on every form implementation, filled by one script that handles pages with two forms. The dead confirmation page restored. The quote button's handler, which waited on three third-party CDNs before it would bind, given an immediate fallback.
- Titles, descriptions, schema and canonicals across the site. Scaffolding pages unpublished. A 36 KB inline loader and a 20 KB inline stylesheet moved to hosted, versioned assets so every page cleared the text-to-HTML floor a crawler cares about.
- A deal-closed workflow in HubSpot that unenrols a contact from the follow-up sequence, so nobody gets chased after they have already said yes or no.
- The quote calculator remapped to the restructured price book so a quoted service always matches a real line item.
- Address autocomplete moved to Google Places under the business's own key, from a provider whose terms forbid browser use. All 34 reCAPTCHA widgets themed to match the dark forms, because the platform exposes no setting for it.
Outcome
Every lead now arrives with its source, and the quote button works whether or not a third-party script has finished loading.
- Pages with a meta description: 3 to 44. Pages with schema: none to LocalBusiness and Service markup where it belongs. Pages under Semrush's text-to-HTML floor: 61 to none.
- The blog moved from a Designer-edited page to a CMS pipeline where each post is one item.
- The habit matters more than any single fix: nothing on this system changes without a read-back, and every fix has a date and a window against it. The figures on this page are held to the same standard.
How it connects
Every lead carries one identifier from the form into HubSpot and on into Housecall Pro.
Starts at
Webflow site and 34 formsRuns through
HubSpot CRMConnects to
Stack
- Webflow
- HubSpot
- Housecall Pro
- Zapier
- Google Maps Platform
- reCAPTCHA
- Google Analytics
- Semrush
Evidence


Yours could be the next one
One call. You describe what is broken, we tell you whether we can help and what it would involve.

