A cost calculator on your website that sends you the lead
Visitors want a rough price before they call, and most leave without asking. This gives them an instant estimate on your website and sends you their details with it.
$1,100 fixed price Get in touch
No sound. Running on sample data: the companies, people and numbers are made up.
What you get
- A step-by-step calculator on your site. The visitor picks from options with icons, and the price updates with every choice.
- A price range at the end, with a summary of what they chose.
- A lead form. You get an email with their name, email and phone, every choice and how the price was worked out. They get the estimate by email.
- A page in WordPress admin where you change prices and options without code, or import them from a spreadsheet.
- A list of every lead, with export.
- It works on phones and adds very little to the page’s loading time.
What it won’t get wrong
- It won’t trust the browser’s number. The server prices every request again from your price list before any email goes out.
- It won’t lose a lead when email fails. The lead is saved first, then the emails are sent.
- It won’t fill your inbox with spam. Bots are filtered with a hidden field, a timer and a limit per visitor.
- It won’t take a broken price list. A spreadsheet import with a wrong line is refused, and the line is named.
- It won’t lose track of old prices. Every price change is a new version, recorded with each lead.
What it needs from you
- A WordPress site.
- Your price list, however your pricing works.
- The addresses that should receive the leads.
In the video
The sample contractor is a made-up renovation company on a real WordPress site. A visitor prices a 9 m² bathroom with a full renovation, premium materials and two extras, and gets a range of €11,000 to €13,600. Both emails arrive. The owner raises a price in the admin page and the calculator uses it straight away. The last part shows it on a phone.
Want this, or something like it?
As shown here it costs $1,100, fixed price. That covers the calculator set up with your own price list and options, the lead form and both emails, the admin page for changing prices, and installing it on your WordPress site. If your version is different, you get a fixed price for yours before any work starts. The code is yours.
Thanks, it's on its way.
If I pick your task, I'll email you.
How a website cost calculator works
Three ways to put a calculator on a WordPress site
A form plugin with calculations. Form builders such as Gravity Forms and Formidable Forms can add up fields and show a total. If your price is a short formula this is the quickest route, and you may own the plugin already. It gets awkward when options depend on earlier answers, when you want a range and not a single figure, or when you have a long price list to manage.
A calculator service. Hosted tools let you build a calculator in their editor and embed it in your page. You pay monthly, the design is theirs to a degree, and your leads sit in their system first.
A plugin written for your pricing. It costs more at the start and nothing per month. It is the right choice when your pricing has rules a form builder can’t express, or when the calculator is a main source of enquiries and has to look and behave like part of your site.
How the price is worked out
Most service pricing comes down to a base rate, a size, and a few things that push the price up or down. For a renovation that is a price per square metre for each room type, multiplied by the scope of the work and the quality of the materials. Extras are added per square metre or as a fixed amount. A minimum job price stops small jobs from showing a figure you would never accept.
Here is the example from the video. A 9 m² bathroom at €900 per m², with a full renovation and premium materials at 1.4 times the standard price, is 9 × 900 × 1.4, which is €11,340. Demolition at €40 per m² adds €360, and underfloor heating at €70 per m² adds €630. The total is €12,330.
Not every business prices this way. Some use fixed prices per size band, or a table of room against scope. The pricing rules are one small part of the calculator, and they are written to match how you already quote.
Why it shows a range
A single figure reads as an offer, and a visitor will hold you to it. A range says what it is, an estimate made before anyone has seen the job.
The example above is shown as €11,000 to €13,600. That is the total plus and minus 10%, rounded outwards to the nearest hundred. Both the percentage and the rounding are settings. A line under the price says what is left out, such as VAT, and that the final price follows a site visit.
Where the sum is done
The price has to change the moment a visitor clicks, so the sum is done in their browser. But a browser can’t be trusted. Anyone curious can change the numbers on their own screen and send in an estimate of €50.
So when the form is sent, the server throws the browser’s figure away and works the price out again from your price list. That second figure is the one in both emails. The two sums have to agree every time, and a test compares them across many combinations whenever the pricing rules change.
What happens to a lead
When the visitor sends the form, the lead is saved in the site’s database first, and the emails go out after that. The order matters. Email from a website fails more often than people expect, and a lead that only ever existed as an email is gone when it does.
WordPress sends mail through whatever the site has set up. On many sites that is the web server itself, and messages sent that way often land in spam. Sending through a proper mail account fixes most of it, and it is worth checking before the calculator goes live.
The team’s email carries more than the customer’s. It has the contact details, every choice, and how the figure was reached line by line, so whoever calls back can explain the price. Replying to it writes straight to the customer.
Keeping bots out without annoying people
Any form on the internet attracts bots. The usual defence is a CAPTCHA, which also puts some real visitors off. Three quiet checks do most of the work.
- A hidden field that people never see and bots fill in.
- A minimum time, since nobody completes five steps in two seconds.
- A limit on how many requests one visitor can send in an hour.
A bot gets a normal thank-you page, and nothing is saved or sent.
Caching, the problem nobody sees coming
Fast WordPress sites serve saved copies of their pages. Many forms break on such sites after a day, and the cause is a security token that WordPress puts into the page. The token is valid for 12 to 24 hours, and a saved copy of the page keeps handing out the old one. The form looks fine and fails silently.
This calculator doesn’t depend on a token in the page for visitors, so a saved page keeps working. It also loads its script only on the page that has the calculator, about 10 KB when compressed, so the rest of the site is no slower.
Changing prices yourself
Prices change, and a calculator that needs a developer for every change goes out of date. Here the prices and options are tables in the WordPress admin, with a box that prices an example before you save.
The whole list can also be exported to a spreadsheet, edited and imported again. It accepts the semicolons and decimal commas that Excel uses in much of Europe. Every save is a new version, and each lead records which version priced it, so an old estimate can always be explained.
Privacy
The form asks for consent, with a link to your privacy policy. The visitor’s browser receives the price list and nothing about your team. Visitor addresses are kept only in scrambled form, for the spam limit. Removing the plugin removes its data.
Not only for renovations
The same structure fits any service priced from a few choices, such as cleaning by rooms and frequency, printing by size and quantity, landscaping by area, or removals by volume and distance.


