Yes, for routine services, show the price. If you clean gutters, wash windows or pressure-wash driveways, build an instant quote form that turns linear feet, stories, debris level and guards into a price range. It sends you fewer tire-kicker calls and still captures the lead, because the form takes the address and phone before it shows the number. Keep "request a quote" for installs and anything where a site visit changes the price. I build quote tools for a living at Style Marking, and I run a remodeling company, Revisions Unlimited, in central Minnesota. The snow quote form on my own site, the quote engine behind QuoteShield, and the site I built for a seamless-gutter contractor are where this comes from. Here is the math, the competitor fear, what I would measure, and how a calculator built around your rate sheet compares with an off-the-shelf quoting app.
Here is the rule I use. If the job is routine, repeatable and under the point where a site visit would change the price, show a range online and let the form capture the lead. If it is an install, a repair you have to see, or anything that depends on what is behind the fascia, keep "request a quote" and get the address.
For a gutter company that means cleaning, downspout flushing and guard maintenance get a calculator. Install, fascia repair and ice-dam work get a form that books a visit. Window cleaning and house washing sit on the calculator side.
The range does three things at once. It answers the question the homeowner typed, which was almost always "how much does gutter cleaning cost." It filters out the person who was going to be shocked by any number over $99. And because the form asks for the address and phone before it shows the figure, you still get the lead whether they book or not.
The site I built for a seamless-gutter contractor in central Minnesota lists twelve services and not one price. Cleaning, a $150-to-$400 job, gets the same "free estimate" button as a $6,000 install. This post argues against that pattern for the routine half of the menu.
Your competitors already know your prices. They hear them from the homeowner who got three quotes, and the ones who care can call you from a cell phone. Hiding the number online keeps it from exactly one group: the people trying to hire you.
The second fear is losing the upsell. A price on the page does not stop you quoting guards from the ladder; it stops you spending twenty minutes on the phone to lose a $160 job to someone who posted $150.
What I can point to that is not my opinion:
Neither is a study of gutter companies, but both point the same way.
The calculator is a rate sheet with four questions in front of it. Here is the formula I would ship, with central Minnesota base rates to start from; they are starting numbers, not a market survey, so swap in your own.
Downspouts get flushed as part of the price; one that has to be pulled apart is a flat $20 the tech bills on site.
Worked example. 160 feet, single story, light debris, no guards: 160 times $1.10 is $176, shown as $150 to $200. Two-story, 180 feet, moderate debris, guards: 180 times $1.60 is $288, times 1.2 is $346, plus 180 times $0.35 is $63, so $409, shown as $350 to $470. The homeowner-friendly result line: "Your gutter cleaning estimate is $350 to $470. Enter your address and phone and we'll confirm it and offer you a day."
Window cleaning and pressure washing are the same shape with different inputs: pane count times stories for windows; square feet times surface type times stories for washing.
Two rules from my own tools. In my snow app the rates live in a settings screen on my phone, stored server-side, so changing a price in March never means calling a developer; the gutter calculator gets the same screen. And the second rule I carried over from building the QuoteShield engine: keep the AI spend near zero. A gutter calculator does not need a model at all; the number comes straight from the rate table, so each quote costs a fraction of a cent to serve and the math is explainable.
The slick version skips the footage question: type the address, the server pulls the roof outline from imagery and computes the eave length.
What it does well. Google's Solar API, EagleView and Nearmap all return roof geometry for an address. On a city lot with a simple roof and open sky, the eave length is close enough that your range covers the error.
Where it falls down. Trees. A mature maple over the back half of the house hides exactly the gutter that needs cleaning most. Rural coverage is thinner and older; when I built the address lookups for my snow quote work, geocoding in central Minnesota townships was unreliable enough that I added a manual pin, and that was just finding the house. Roof outlines also give you eave perimeter, not gutter footage: a gable end has no gutter and a hipped roof has gutter on every side.
What it costs. Every lookup is a paid API call, pennies to a few dollars depending on the vendor, and a curious homeowner will run four addresses before you have a phone number.
My order: ship owner-entered feet with the small, medium, large shortcut and a 15% range first. If after a season the complaint is "the numbers were wrong," add imagery as a second pass that runs only after the form has the phone number.
Three ways to show the number; they behave differently.
I use the range, 15% either side of the computed figure, midpoint in bold. The booking step says "we confirm the price before any work," which is true and stops the exact-price arguments before they start.
The one exception is a flat-rate menu. If you really do charge $179 for any single-story house under 200 feet, say so. A flat rate is a range with the math already done in your favor, and it converts well for routine work.
I am not going to tell you a price range doubled someone's leads; I have not run that test to 60 days yet, and neither has anyone selling you a quote tool. Here is the test.
Baseline, 60 days. Keep "request a quote" as is. Count every form submission and every call, tag where each came from, and record four things per lead: in your service area or not, routine or install, booked or not, and the invoice total if it booked.
Switch, 60 days. Put the range on the page and change nothing else. Same season matters most: gutter demand peaks in spring and after leaf-drop, so a September baseline against a December test tells you nothing.
What I expect, labeled as a prediction. Fewer phone calls. More form submissions, because the form now gives something back. Fewer out-of-area and under-minimum leads. Possibly fewer total leads, because the $99 crowd leaves. The number that decides it is booked jobs per 100 visitors.
What my own page says so far. The snow sign-up on revisionsunlimited.com went live in late September 2026 with "get my price" instead of a posted figure. The homeowner picks driveway in town, long rural drive or business lot; the form creates a prospect in my route app and pushes to my phone, and I text the price.
Every flyer, postcard, email and video ad carries its own source tag, so I can see which channel each sign-up came from. A handful of households have come through it. That proves nothing and I will not dress it up; when I have 60 days of this and 60 days with the per-trip price on the page, I will publish both numbers with dates.
Source tags are the part most owners skip. If you cannot tell a Facebook lead from a postcard lead, you cannot tell whether the range changed anything or the postcard did.
A calculator that shows a number and stops is a brochure. The version worth paying for does three more things when the homeowner taps "get my estimate."
QuoteIQ, ResponsiBid and the quoting modules inside field-service apps all do a version of this. From what I have priced, plan on roughly $50 to a few hundred a month depending on seats and features, for as long as you use it, with your rate sheet and lead history on their servers.
When we build one, a two-story, debris and guards calculator with the admin rate screen, the phone alert, the booking step and the source tags gets a set build price, quoted up front. What moves it is mostly whether it drops into a site you already have or ships with a new one, and how many services you price online. After launch, a monthly plan covers just the services it uses: hosting, the phone alerts, support and rate-screen updates. Our development team builds it around your rate sheet, not a template, and it is priced to compete with the subscriptions above. A free quote lays out both the build price and the plan, and automation services has how we scope it.
Pull your last twenty cleaning invoices and back out your real per-foot rate. Write the result line in your own words. And add a source tag to every link you hand out, starting today, so the baseline is measured even if you never build the calculator.
Linear feet of gutter times a per-foot base rate, plus a per-foot adder for second-story runs, times a debris multiplier (light 1.0, moderate 1.2, heavy 1.5), plus a per-foot adder if guards have to be lifted and reseated, with a minimum trip charge. At the base rates I would start with in central Minnesota, a 160-foot single-story with light debris comes to about $176; a two-story 180-foot house with moderate debris and guards comes to about $409. Show it as a range 15% either side.
For cleaning, yes, as a range produced by a short form that takes the address and phone first. Your competitors already know your prices from the homeowners who got three quotes; the only people a hidden price keeps in the dark are the ones trying to hire you. Keep "request a quote" for installs and repairs where a site visit changes the number.
On a simple roof in the open, close enough that a 15% range covers the error. Under mature trees, on complex rooflines, and in rural areas with older imagery, the eave length can be well off, and roof outlines do not tell you which edges have gutter. Every lookup is also a paid API call. I would ship owner-entered feet first and add imagery only after the form has a phone number.
The published quotes I see cluster around $1 to $2 per linear foot for a single story, with second-story, debris and guards pushing it higher, but I have not found a survey with a method behind it, so I do not cite one. The number that matters is yours: divide your last twenty cleaning invoices by the footage and you have your real base rate. Mine would start at $1.10 single-story with a $135 minimum.
Nobody has shown me a clean before-and-after for a gutter company, including me; my own snow sign-up page has been live for about a month, which is too little to prove anything. My prediction is fewer phone calls, more form submissions, fewer out-of-area and under-minimum leads, and possibly fewer total leads with a higher booked rate. Measure 60 days each way in the same season and judge on booked jobs per 100 visitors.
Write your rate sheet first: base rate, adders, multipliers, minimum, and the jobs that should route to a visit instead of a price. Then a developer builds a short form that captures name, phone and address before showing the range, pushes the lead to your phone, and offers a booking under a threshold. Keep the rates in a settings screen you can edit yourself. Built for you, that is a set build price quoted up front plus a monthly plan for just the services it uses, priced to compete with the QuoteIQ-class subscriptions.
Tell me what you charge today and which services you would price online. You'll get a clear scope with a set build price for the calculator, the rate screen and the phone alert, quoted up front, then a monthly plan for just the services it uses, priced to compete with the quoting subscriptions. You talk directly with the people who build it.