Swift Recovery operates 24/7 across Leeds, Bradford and the eastern M62 corridor. Two recovery trucks, a small dispatch operation, and the kind of urgent-need trade that lives or dies on the search query "vehicle recovery near me" returning a clickable phone number inside three seconds. The previous site — a 2017 Wix one-pager Dean had built himself — was mobile-hostile, had a 5-second LCP, and presented the phone number as a graphic image rather than a tappable link.
The brief
A mobile-first quote-form site with the call-to-action visible above the fold on every page (especially on the small-viewport mobile that 78% of the previous site's traffic used), Google Maps integration showing the live service area, GA4 conversion tracking on both phone clicks and form submissions, and a stat block of average response times verified from the operator's dispatch records. Single page. Phone number tappable everywhere. No marketing fluff.
What the existing Wix site was doing wrong
Three things. (1) The phone number was a PNG image embedded in the hero — not a clickable tel: link, which meant mobile users had to read, remember, switch app, and dial manually, which they mostly did not. (2) The "request quote" form was a four-field affair gated behind a JavaScript widget that did not load reliably on mobile. (3) The Wix theme served 1.2 MB of CSS and JS before first paint, which gave the page a Time-To-Interactive of about 8 seconds on a Yorkshire-motorway mobile connection. People needing recovery did not have eight seconds.
What we built between 10 AM and 4 PM
A single-page Next.js site that opened with the phone number as the dominant visual element (tappable, large, with a sticky variant on scroll), followed by a two-field quote form (postcode + brief description) that posted to a serverless endpoint and fired both an SMS to Dean's dispatch phone and an email. Below that: the service area as a Google Map embed showing the M62 corridor with the two depot locations pinned; a stat block of the average response time verified from the previous twelve months of dispatch records; a three-step "how it works" explainer; an FAQ block covering insurance, payment methods, vehicle size limits, and the long-distance recovery service. The entire page weighed 187 KB uncompressed.
The conversion-rate-protective decisions
The phone number is tel:-linked and visible on every viewport without scrolling. The form is two fields, not five. The form does not require an email address — for an emergency recovery, the postcode and a sentence of description is all the dispatcher needs. The page does not gate the phone number behind any modal or marketing capture. The hero photograph is a recovery truck in the rain at night — context-appropriate to the moment of need rather than aspirational. None of those are revolutionary individually; together they compound into a conversion path that does not get in the user's way.
The schema and SEO layer
AutomotiveBusiness schema with the AutoRepair sub-type, the two depot addresses, the 24/7 OpeningHoursSpecification, the service area enumerated as Leeds, Bradford, the M62 corridor and the M1-J42-to-J47 stretch, the three core services (light vehicle, heavy vehicle, accident recovery) as Service entities, the AggregateRating from the existing Google reviews (4.7 / 124 reviews), and a SearchAction-free WebSite schema. Every page indexable, sitemap submitted, Search Console verified.
The launch sequence
DNS swap at 3:55 PM. The first form submission landed at 9:30 PM — a driver on the M62 westbound near Heckmondwike with a punctured tyre. Dean dispatched at 9:33, on scene by 9:51, vehicle recovered by 10:18. Three more callouts between 10 PM and midnight. The day-one total of eight callouts against the previous Tuesday-night average of one to two was, in Dean's words, "the best advertising I have ever done for myself, except I did not actually do anything new — the customers were already searching, they just could not find me before."
Week one through month one
Week one callouts: 47 total, against a previous weekly average of 18. Month one: 198 callouts against a previous monthly average of 76. Cost-per-callout on the paid Google Ads channel dropped from £14 to £5.20 thanks to the better Quality Score (which is tied to Core Web Vitals and landing-page experience). The dispatch operation needed to absorb the extra volume — Dean hired a second driver inside the first month and a third by month three.
What we did not build
No live chat. No "track your recovery" customer portal. No fleet-management dashboard. No customer reviews module beyond the static Google reviews aggregate. Each of those would have added build time, would have needed ongoing maintenance, and none of them would have moved the needle on the actual conversion path — which is "panicked driver clicks a phone number". The site is, by design, the minimum viable thing between a Google search and Dean's dispatch phone. The minimum viable thing turns out to be enough.
The maintenance footprint twelve months in
Through twelve months: one set of seasonal opening-hours adjustments (the site does not close for Christmas but the office does), three rotations of the hero photograph as Dean took new shots, two schema updates when the Google Maps embed integration changed format, and one fee-schedule update when fuel surcharges came in. None of those needed code changes beyond the CMS edits Dean handles himself. The Google Ads spend has shifted from £400 a month at launch to £900 a month at the end of year one — entirely funded by the additional margin the new dispatch volume produces.
The Quality Score uplift in detail
Google Ads landing-page experience is partly weighted on Core Web Vitals, partly on relevance (how well the landing-page copy matches the ad), and partly on trust signals (HTTPS, mobile-friendliness, content depth). The Wix-era landing page was failing on all three. The new page hit a 95+ PageSpeed mobile score on launch, matched the ad creative copy ("vehicle recovery near me") in the H1 and meta description, and signalled trust through the visible AggregateRating, the Gas Safe-equivalent operator credentials, and the embedded testimonials. Google Ads Quality Score lifted from 4/10 to 8/10 across the primary campaign — the second-price auction compresses the cost-per-click roughly 30-40% when Quality Score moves a full band. The CPC drop from £14 to £5.20 we cited above is directly attributable to that lift.
Why the form is two fields, not five
A counter-intuitive lesson from the launch data. Our first proposed form had: name, postcode, phone, vehicle description, current location, estimated time of breakdown. We trimmed to: postcode, brief description. The intuition that more fields produce better leads is wrong in this context — the dispatcher needs only the location and what the problem is to start moving the truck, and any field beyond that one is a drop-off opportunity for a panicked driver. Our A/B test ran the two variants for three weeks and the two-field version converted at 4.1% against the five-field version at 1.9%. The dispatcher gets the name and phone on the callback within 90 seconds; collecting them at the form stage was a UX-flavoured premature optimisation that hurt the actual operational metric.
What we did not build, in detail
We have already mentioned the absence of a customer portal, live chat and fleet dashboard. The reason the absence matters: each of those features would have added between 10 and 40 hours of build time at the launch stage, would have required ongoing maintenance from Dean (he is a recovery operator, not a software product manager), and none of them would have moved the only metric that matters for this business — inbound callout conversion rate. Saying no to those features is part of how the £499 Launch tier produces a higher conversion rate than the £4,000-£12,000 Wix-builder-plus-portal product Dean had been pitched by three other agencies. The right tool is the simplest tool that does the job.
If you have a similar business
If you run an urgency-driven service business (vehicle recovery, emergency plumbing, locksmiths, 24-hour electricians, urgent veterinary, emergency carpet cleaning), the Swift template is the answer. Single-page Launch-tier build (£499), tappable phone number above the fold on every viewport, two-field quote form as backup, AutomotiveBusiness or relevant schema with the 24/7 OpeningHoursSpecification, AggregateRating from genuine reviews, and a Google Maps embed showing the live service area. Pre-condition: a 24/7 operating model that can actually answer at 3 AM — the conversion path collapses if the inbound call goes to voicemail. Expected outcome: 2-5x lift in inbound conversion on existing search volume, paid-media Quality Score lift, ad-platform CPC drop of 20-40%.
The schema field that disproportionately mattered
Worth a paragraph because it is consistently under-deployed across the recovery sector. OpeningHoursSpecification with the explicit 24/7 declaration (opens 00:00, closes 23:59, all seven days) flags the business to Google as a 24-hour operation, which has a direct effect on local-pack eligibility for night-time and weekend "near me" queries. Most recovery sites we audit either omit OpeningHoursSpecification entirely or declare standard 8-5 weekday hours that contradict the marketing copy. Getting this right cost Dean five minutes at the build stage; getting it wrong was costing him roughly 60% of his addressable demand during the hours competitors were nominally closed. The local-pack signal flip happens within Google's next crawl, typically inside 72 hours.