Build a request a quote page that tells you enough to reply
Most quote forms ask for a name, an email and "tell us about your project", then leave you to spend a phone call finding out what the job actually is. A good request a quote page asks the handful of questions that decide the price, tells people what happens next, and can give a rough figure before you reply. Anticode builds the page, routes each request where you'll act on it and can work out the ballpark with a formula.
Start from how you actually price
Before writing a single field, list the three to six things that move your price. A painter and decorator prices by rooms, ceiling height and condition. A wedding caterer prices by guest count, service style and venue access. A web developer prices by number of pages and integrations. Those drivers become the questions. Anything that doesn't change the quote belongs in the follow-up conversation, not on the form.
| Business | Questions that set the price |
|---|---|
| Landscaper | Garden size (rough square metres), type of work, access for machinery, postcode |
| Removals | Bedrooms, from and to postcodes, floor level and lift, preferred date |
| Event caterer | Guest numbers, date, service style (buffet, seated, canapés), dietary needs |
| Signwriter | Sign width and height, material, indoor or outdoor, fitting needed |
| Translation agency | Word count, language pair, subject area, deadline |
Write the questions so people can answer them
- Offer ranges where exact numbers are hard. "Roughly how many guests: under 50, 50 to 100, over 100" gets answered; "exact guest count" gets skipped.
- Use plain units. Square metres or "about the size of a tennis court" examples help people who've never measured a garden.
- Ask for the deadline, not the urgency. A date tells you more than a tick box marked "urgent".
- Ask about budget gently, if at all. A budget range with "not sure yet" as an option is fine; a required budget field puts people off.
- Keep free text for last. "Anything else we should know?" catches the odd details without making it the main question.
What the page says around the form
The words beside the form do as much work as the fields. State how quickly you reply and stick to it ("within one working day"). Say what the quote will include and whether you'll need a site visit. If you have minimum job sizes or areas you don't cover, say so on the page: it's kinder than a polite refusal later and it removes enquiries you'd decline anyway. A short line on how pricing generally works ("most kitchen fits fall between two and four weeks of work") sets expectations without publishing a price list.
A ballpark before you reply
Many visitors want to know whether they're in the right range before they spend time talking to you. Anticode pages ship with no scripts, so there's no calculator running in the page, but a site function can run when the quote request is posted. The built-in contact form only asks for a name, email and message, so a quote form with your own questions is a custom form tied to a site function, with up to 30 plain-text fields. A formula function does arithmetic over the form's fields on the server: for example, square metres times a rate, plus a fixed call-out charge, with a different rate above a certain size. The result appears in the heading and message on the visitor's thank-you page. Formulas work on numbers only, so a postcode or a date can't feed the figure. It's a quote calculator without anything for you to host.
Treat the figure as a ballpark and say so in its label. The real quote still comes from you, after you've read the details. If your pricing depends on something the form can't know (your diary, current material costs), the other kind of site function makes a signed HTTPS call to an endpoint you run, which can look those up and reply. See the quote calculator app page if you'd rather have an interactive calculator, and site functions for the details.
Getting each request to the right place
A quote request loses value by the hour. Requests are saved to your project, sealed at rest, and can be emailed to you; connectors send each one on to where you'll act on it.
- HubSpot, for a sales pipeline: requests with an email address arrive as contacts you can follow up.
- Slack or Telegram, so the person who prices jobs sees it on their phone straight away.
- Airtable or Google Sheets, as a simple quote log with columns for status and quoted amount.
- A webhook into a job-management tool you already use.
The online quote request process covers what to do after the request arrives, from the first reply to the follow-up.
Building it
Describe the business and how you price: "a request a quote page for a removals firm in Bristol; we price by bedrooms, distance and floor level". The Architect asks up to three questions where the answer changes the page, for instance whether you want a ballpark shown or a separate Services page, and shows a plan before building. Rewrite the reply-time promise and the coverage area in your own words; only you know them.
Limits
- No live total as people type. The ballpark is worked out when the form is sent.
- No file uploads from visitors. People can't attach photos or drawings to the form; ask them to reply to your email with them.
- No quote documents or e-signatures. Write and send the quote from your own tools.
- Connectors send once. A submission isn't retried if the destination is down, so keep the email copy switched on.
Questions people ask
Should I publish prices instead of asking for a quote?
If most jobs are similar, publishing prices or "from" prices saves everyone time. Quotes make sense when the work varies a lot. Many businesses do both: typical prices on the page, a quote form for anything unusual.
How do I cut down on time-wasting requests?
Say on the page what you don't do, where you work and any minimum job size, and ask one or two questions that only serious enquirers will answer, such as a target date.
Can the ballpark figure be wrong?
It's only as good as the formula and the answers. Label it as an estimate and confirm the real price after you've reviewed the request.