WordPress plugin
Install the plugin, set the app address and paste one shortcode. It passes your ad tracking into every lead.
Measured Bid's instant quote widget goes on your website. A homeowner types their address, confirms the house, answers a few questions about the job and sees a price range built from your rates. After they submit the request form, their contact details come to you as a lead with the measurements attached in your dashboard.
14 days or 25 estimates free. No card, no setup fee.
An instant quote widget gives a homeowner an initial price range on your website before anyone drives out. Measured Bid's version measures the house from aerial roof data instead of asking the homeowner to guess its size. It takes five steps.
Suggestions only show homes in your service area.
The house is outlined on an aerial image. A detached garage can be added.
A few per trade, like job type and stories.
Built from your rates, with what was measured drawn on the roof.
Name and phone. Your booking link shows next, if you set one.
The real widget on a phone. These are the gutter demo and a sample house with sample prices. On your site it shows your name and your colors.

They type their address and pick it from the suggestions. Only homes in your service area come up.

Their house is outlined on the aerial image. They tap another roof if it's wrong, then answer your questions.

They see a range from your rates and the 118 feet of gutter it's built on. Each run is numbered and can be unchecked.

They leave a name and phone number to request a confirmed quote after the scope is checked. They get texts only if they check the box.
The lead lands in your dashboard with everything your office needs to call back and quote.
Each lead can also go to your email and, through a webhook, to your CRM. The webhook sends the contact, address, price range and lead source. The measurements stay in your dashboard and the lead email. See integrations.
Roseville, CA
Guards on my existing gutters · 1 story
Jordan Example · (916) 555-0114
Use one, or all four. They all run the same widget with the same pricing, and every lead lands in the same dashboard.
Install the plugin, set the app address and paste one shortcode. It passes your ad tracking into every lead.
Paste the code from your Install page into a Squarespace code block, a Wix embed or any HTML page. It sizes itself.
Every widget has its own page with your name and colors. Use it on your Google Business Profile, Facebook and in texts.
Turn your homeowner link into a QR code with any QR generator. Put it on trucks, yard signs and door hangers.
Your Install page gives you this code with your widget's address filled in. It passes UTM tags and click IDs into the widget, resizes it as the homeowner moves through the steps and pushes each step to your dataLayer.
Before you paste it, add your website under Websites in the widget's settings. On any site that isn't listed, the widget stays blank.
<iframe id="instant-quote" data-measuredbid-widget src="https://measuredbid.com/quote/your-widget-id" title="Your business price estimate"
style="width:100%;border:0;min-height:640px" loading="lazy"></iframe>
<script>
(function () {
var s = document.currentScript, f = s && s.previousElementSibling;
if (!f || f.tagName !== "IFRAME") f = document.getElementById("instant-quote");
if (!f) return;
var lastStep = null;
var q = new URLSearchParams(location.search), p = new URLSearchParams();
["utm_source","utm_medium","utm_campaign","utm_term","utm_content","gclid","gbraid","wbraid","fbclid","msclkid"].forEach(function (k) {
if (q.get(k)) p.set(k, q.get(k));
});
p.set("ref", location.href);
f.src = f.src + (f.src.indexOf("?") < 0 ? "?" : "&") + p.toString();
window.addEventListener("message", function (e) {
if (e.origin !== "https://measuredbid.com" || e.source !== f.contentWindow) return;
if (!e.data || typeof e.data !== "object") return;
if (e.data.type === "instant-quote:height" && typeof e.data.height === "number" && Number.isFinite(e.data.height) && e.data.height > 0 && e.data.height <= 20000) f.style.height = Math.ceil(e.data.height) + "px";
if (e.data.type !== "instant-quote:step" || ["address","confirm","result","no_data","booked"].indexOf(e.data.step) < 0 || e.data.brand !== new URL(f.src).pathname.split("/").pop() || e.data.step === lastStep) return;
lastStep = e.data.step;
if (e.data && e.data.type === "instant-quote:step" && e.data.step !== "address") {
f.style.minHeight = "0";
if (f.getBoundingClientRect().top < 0) f.scrollIntoView({behavior: window.matchMedia("(prefers-reduced-motion: reduce)").matches ? "auto" : "smooth", block: "start"});
}
if (e.data && e.data.type === "instant-quote:step" && window.dataLayer)
window.dataLayer.push({ event: "iq_step", step: e.data.step, brand: e.data.brand });
});
})();
</script>Starter prices one trade per widget. Pro and Multi-market can price several trades in one widget. Each trade has its own questions and its own price sheet, and all of them start from the same roof measurement. Wall area is estimated from the roof and the number of stories.
| Trade | What gets measured | Homeowners choose | On the sample house |
|---|---|---|---|
| Gutters & guards | Gutter footage | Guards on my existing gutters, New gutters with guards, New gutters only, Downspouts only, Clean my gutters | 118 ft |
| Painting | Paintable wall area | Stucco, Wood or fiber cement siding, Some of each, Not sure | 1,574 sq ft |
| Siding | Wall area | All walls, About three-quarters, About half, Gables and accents only | 1,666 sq ft |
| Roofing | Roof area | Asphalt shingle, Tile, Metal | 2,344 sq ft |
| Permanent lighting | Roofline footage | Front of the house, Front and sides, All the way around | 67 ft |
| Christmas lights | Roofline footage | Front of the house, Front and sides, All the way around | 67 ft |
| Pressure washing | Wall and roof area | No driveway, 1-car, 2-car, 3-car | 1,851 sq ft |
Some houses can't be measured from above. The widget still takes the lead.
Three common ways to answer “what will it cost?” on a contractor's site.
| Question | Contact form | Calculator builder | Measured Bid widget |
|---|---|---|---|
| Does the homeowner see a price? | No | Yes, from what they type in | Yes, a range for their house |
| Where does the size come from? | Nobody measures | The homeowner types or guesses it | Aerial roof data for the address |
| Who builds the pricing? | Nobody | You build the formulas | You fill in a price sheet made for your trade |
| What comes with the lead? | Name and a message | Their inputs | Measurements, the range, answers and ad source |
| What if the house can't be priced? | Same form | Depends on the setup | The visit form still takes the lead |
Comparing named products? See the instant quote software comparison.
Every plan includes team estimates and the website widget. Estimates from both count toward your monthly total.
One trade, one website.
$99/month
150 estimates included, then $0.50 per extra estimate
Start free trialSeveral trades or brands under one company.
$249/month
600 estimates included, then $0.35 per extra estimate
Start free trialFor companies with several brands or locations.
$499/month
2,000 estimates included, then $0.30 per extra estimate
Start free trialSeveral brands, trades or locations under one company. Email us and we'll set it up with you.
14 days or 25 estimates, whichever comes first. No card required. Pro features during the trial. No setup fee. Month to month.
If your plan lapses, your website widget still takes visit requests. It stops showing prices until you resubscribe.
Sacramento Gutter Guard
Rocklin Gutter Guard
Boise Gutter Guards
ProFlow Painting
916 Exteriors
Sierra Siding
Iron Crest Exteriors
GutterFXYes. It shows your company name and your colors. There is no Measured Bid badge on the widget or on your homeowner page.
Yes. Send ad clicks to the page with the widget. The WordPress plugin and the website code pass UTM tags and Google Ads click IDs (gclid, gbraid and wbraid) into the widget, and every lead keeps them. Each step is also pushed to the page's dataLayer as an iq_step event for Google Tag Manager.
The homeowner always sees a range, never one number. By default the range is plus or minus 10% when the measurement is solid, 15% when it is less certain and 25% when the data is weak, and you can change those widths. You confirm the measurements and the final price on site. On 9 invoiced gutter jobs, Measured Bid's quoted gutter footage had a median absolute error of 14.2% and a mean absolute error of 16.2%. We also used these jobs to tune the engine, so new houses may miss by more.
Google Business Profile has an online estimates option for some home-service categories, and you turn it on in your profile. Which businesses get it depends on the category and region. The widget gives the option something real behind it: a page where a homeowner gets a price range for their own house. It does not guarantee the label or a higher ranking.
Yes. It is built for phones first and works on screens as narrow as 320 pixels. It sizes itself to fit your page, so there is no scroll box inside a scroll box.
Yes. You set a city and a radius on the widget, and address suggestions only show homes inside that area.
A new estimate that successfully measures a house and shows a price in the widget or in the dashboard's New estimate tool. Edits to the same estimate don't count again. Addresses with no roof data and demo widgets don't count.
Set your rates, run a few estimates, then add the widget to your site. 14 days or 25 estimates free, no card.