The situation
A regional logistics operator running 40 vehicles had a site that took nine seconds to render on a mid-range phone. They were spending on paid search, and a large share of those clicks were bouncing before the hero image appeared. Enquiries went to a shared mailbox with no CRM behind them, and no content change could happen without a developer.
What we did
- Rebuilt on Next.js with a token-driven design system and a performance budget enforced in continuous integration.
- Modelled every page block in the CMS, including service pricing, so the marketing team could publish without a deploy.
- Wired enquiry forms into the CRM with campaign, source and page attribution attached to each lead.
- Added a quote calculator to the carrier landing page so visitors could get a number before committing to a conversation.
The results after 90 days
| Metric | Before | After |
|---|---|---|
| Mobile Lighthouse | 41 | 96 |
| Largest Contentful Paint | 8.9s | 1.6s |
| Enquiries per month | 11 | 38 |
| Cost per enquiry | $187 | $61 |
“The difference showed up in the phone ringing, not just in a report.”
What mattered most
The speed work did the heavy lifting on volume, but the CRM attribution did the heavy lifting on cost. Once every enquiry carried its source, the paid budget could move toward the campaigns that produced booked work rather than the ones that produced form fills.