Why photos
A customer cannot describe a boiler fault, a cracked lintel or an overgrown garden in words a tradesperson can price. They can photograph it in five seconds. A quote form with a camera button gets you the job in pictures before you drive anywhere, and it converts far better than a text box, because taking a photo is easier than writing a paragraph. It is the single most important form on a trade website.
The six fields
- Name.
- Mobile. For the callback and for texting. Required.
- Town or postcode. Enough to know it is in your area and roughly how far. Not the full address.
- What needs doing. A short text box with a placeholder: "e.g. leaking radiator valve, upstairs bathroom".
- Photos. A large button: "Add photos", opening the camera or gallery on a phone, accepting several images.
- When suits. Two or three tick options: "As soon as possible", "This week", "Flexible". Optionally an "Is this an emergency?" toggle that surfaces the phone number.
Optional seventh: email, not required. Nothing else. Every extra field loses completions.
The upload
- Accept JPEG, PNG, HEIC (iPhones default to it) and convert server-side.
- Allow up to five or six images, each up to 10 MB before resizing.
- Resize on the server to a sensible width (1600 pixels) so the tradesperson's phone is not downloading 40 MB.
- Show thumbnails as they are added, with a remove option, so the customer knows it worked.
- Work in Instagram's and Facebook's in-app browsers, where file inputs occasionally misbehave; test.
Where it lands, and how fast
The form's destination decides whether the enquiry is acted on.
Best: your job management software. Jobber, ServiceM8, Tradify, Housecall Pro and others accept web requests with attachments, via their own embeddable form or an integration. The request appears as a job lead with the photos, and the app notifies your phone. Nothing to re-key.
Good: a notification to your phone with the photos. Email to an address that pushes to your phone, plus an SMS alert with the customer's name and town. Or a Slack or WhatsApp message via an automation. Under a minute.
Poor: an email to an office inbox read at the end of the day. The customer has booked someone else.
Whatever the route, the customer's mobile is in the message so you can text back from the van.
The reply promise
On the form and on the confirmation: "We reply to every quote request the same evening or first thing next morning." Then keep it. A holding reply ("Got your photos; looks like a [job]; I'll call between 9 and 10") within the hour when you can, and a proper reply the same day always. The promise is what makes a form feel as reliable as a phone call.
The thank-you
After submitting: a message saying what happens next, the reply promise, and the phone number for emergencies. Not a redirect to the home page. Fire the analytics event here.
Spam and abuse
- A honeypot field hidden from humans; bots fill it, you discard those.
- A time check: submissions faster than three seconds after page load are bots.
- Rate limiting per IP at the edge.
- File type and size validation server-side, not only in the browser.
- No CAPTCHA unless spam becomes a real problem; it costs real completions.
Privacy
Name, mobile, town and photos are personal data. A privacy line beneath the button: "We use your details only to quote for this job." The privacy notice linked. Photos may include the inside of someone's home; store them in the job software or a secure store, not in a public uploads folder, and delete requests that did not become jobs after a few months.
Placement
- A "Get a quote" button in the header beside "Call", on every page.
- The form itself on a dedicated
/quotepage, fast and single-purpose, and embedded at the bottom of every service and area page with the service or town pre-filled from the page. - Linked from the voicemail script: "Send us a photo at [site]/quote."
Tracking
A quote_request event on submission with parameters for the page, service and town. Compare monthly with call clicks. Most trades that add a photo form find it becomes the majority of website enquiries within a month, and the ones that arrive in the evening are the jobs that used to go to voicemail.
Building it
With Jobber or Housecall Pro, embed their request form and style it. With ServiceM8 or Tradify, their form or a site-built form forwarding via their API or an automation tool. On a framework site, a server action handling the upload, resizing and forwarding. On WordPress, a form plugin with file uploads and a webhook. Any of these is a day's work including testing on phones.
Where this sits
The photo quote form wired to the tradesperson's software and phone is the centre of every trade website we build, because it is how customers want to ask and how tradespeople want to be asked. The six fields and the camera button are the whole design; the wiring is what makes it a job rather than a message.