How to Measure ROI on Permit-Triggered Outreach
By the permits.llc team · Last reviewed May 12, 2026 · Optimal window: Any permit
TL;DR
- Most contractors judge permit outreach by gut feel, which means they repeat what feels good rather than what actually works.
- The four metrics that matter: cost per lead, response rate, close rate, and customer acquisition cost (CAC).
- A simple seven-column spreadsheet, updated weekly, gives you 90 days of clean data to make real decisions.
- The highest-value move is identifying which permit type converts best for your trade and concentrating your outreach budget there.
Most service contractors who try permit-triggered outreach end up in one of two camps. The first camp says it worked — they landed a few jobs and kept sending postcards. The second camp says it didn't work — they sent a hundred mailers, got two callbacks, and moved on. Neither camp actually knows what happened. They're measuring by feel, not by data.
That's a fixable problem. Permit outreach is more measurable than most marketing channels because every lead carries three built-in attributes from the moment it enters your pipeline: a source (the permit record), a date (when it was filed), and a status you control (contacted, quoted, won). You don't need a CRM with a six-figure contract. You need a spreadsheet, a consistent tagging habit, and enough patience to let the numbers accumulate before you draw conclusions. Permit lead ROI measurement isn't complicated — it's just rarely done with any discipline.
The goal of this post is to give Massachusetts service businesses — HVAC contractors, solar installers, roofers, dumpster haulers, painters, and anyone else who watches building activity for leads — a concrete framework for tracking outreach performance, reading the results honestly, and making better decisions about where to spend their time and money.
The metrics that matter
Permit lead ROI measurement starts with five numbers, and only five.
Cost per lead (CPL) is the total spend on outreach divided by the number of leads contacted. If you spend $300 on postcard printing and postage to reach 150 permit holders, your CPL is $2. That number sounds low until you realize it doesn't tell you whether any of those leads actually turned into revenue.
Response rate is the percentage of contacts who responded — called back, replied to an email, filled out a form. Formula: responses divided by contacts sent, times 100. A 3% response rate on a mailed campaign to cold permit leads is typical for many trades. If you're seeing 8% or higher, something in your message or timing is working unusually well and you should find out what.
Close rate is the percentage of responses that turned into signed jobs. Formula: jobs won divided by responses received, times 100. A 20% close rate on qualified permit leads is a reasonable benchmark for an established contractor with a clean estimate process — though it varies significantly by permit type and trade.
Customer acquisition cost (CAC) is the total cost to acquire one paying customer. Formula: total outreach spend divided by jobs won. If you spent $600 reaching 300 permit leads and closed 4 jobs, your CAC is $150. The U.S. Small Business Administration's marketing guidance recommends comparing CAC to average job value to understand whether a marketing channel is worth continuing.
Average job value is just the mean revenue per closed job in a given permit category. A generator installation job after an electrical permit might average $4,200. A gutter replacement after a roofing permit might average $900. Same CAC, very different return.
Once you have these five numbers, you can calculate a simple ROI: (average job value × jobs won) minus total spend, divided by total spend. Everything else is commentary.
A simple tracking sheet
You don't need software to start. A shared spreadsheet with nine columns gets you further than most contractors ever go.
The columns: Permit Type | Date Filed | Date Contacted | Channel | Responded | Quoted | Won | Job Value | Outreach Cost
Here's how a worked example might look for a plumbing company running a 60-day pilot in Middlesex County:
A water heater permit filed March 3 in Framingham. Contacted March 7 by direct mail. Responded: yes. Quoted: yes. Won: yes. Job value: $1,400. Outreach cost: $2.10 (printing and postage).
A bathroom renovation permit filed March 5 in Newton. Contacted March 9 by email. Responded: no. Quoted: no. Won: no. Job value: $0. Outreach cost: $0.40.
A sewer line permit filed March 11 in Somerville. Contacted March 14 by postcard. Responded: yes. Quoted: yes. Won: no. Job value: $0. Outreach cost: $2.10.
After 90 days and 200 contacts, this hypothetical plumber might see: 18 responses (9% response rate), 12 quotes, 5 jobs won (28% close rate on responses), $7,800 total job value, $460 in outreach spend, CAC of $92, and an ROI of roughly 1,600%.
Those numbers are illustrative — not a real customer result. But the structure is real. Without the sheet, you can't calculate any of it.
What if your numbers look nothing like that?
That's exactly the right question to ask at 90 days. If your close rate is 4% and your CAC is $300 on jobs averaging $700, you're spending more to acquire customers than the margin on the first job can absorb. That's not a failure of the channel — it might be a mismatch between permit type and trade, or a timing problem, or a message problem. The data tells you where to look.
Reading the numbers by permit type
Close rates differ meaningfully by permit type, and the gap is wide enough to change your entire strategy.
Electrical permits for EV charger installations tend to convert well for electricians because the homeowner has already committed to a purchase — they bought the car — and they need an installer quickly. Roofing permits filed after storm activity in Worcester County tend to attract early outreach from multiple contractors, which compresses response rates. Solar-adjacent permits — electrical service upgrades, battery storage — often carry higher average job values and longer decision windows, which means a lead that doesn't close in 30 days might still close in 90.
The pattern worth tracking: which permit type, at which contact window, closes most often for your specific trade. An HVAC contractor and a solar installer might both reach out to the same new-construction permits in Essex County and have completely different close rates — because they're offering different products to homeowners at different stages of readiness.
The HVAC contractor playbook goes deeper on seasonal timing by permit type in Massachusetts. If you're in demolition and hauling, the dumpster and junk removal playbook covers the specific permit types that signal renovation activity likely to need a roll-off.
Once you have 60 to 90 days of data, sort your tracking sheet by permit type and calculate a separate close rate for each row. You'll usually find one or two permit categories outperforming the rest by a factor of two or three. That's where your budget belongs.
Common attribution mistakes
Even contractors who build a tracking sheet often get the data wrong. Here are the four mistakes that consistently distort results.
Not tagging the source. If a customer found you on a search engine and also received a permit postcard, which source gets credit? You need a rule — first touch, last touch, or split — and you need to apply it consistently. Without source tagging, your permit campaign looks like it's underperforming because half the closed jobs are being credited to "referral" or "inbound."
Ignoring the long tail. A homeowner who received your mailer in February might not call until May. If you only look at 30-day close rates, you'll undercount closed jobs and overcalculate your CAC. Permit leads often close on longer cycles — 60 to 90 days is not unusual for renovation projects. See the permit email sequence guide for a multi-touch cadence that accounts for this.
Judging too early. Declaring a campaign dead after two weeks is the single most common way contractors make bad marketing decisions. You need at minimum 100 contacts and 60 days before the numbers are stable enough to act on. Everything before that is noise.
Conflating leads with sales. A lead is a permit record you've identified as relevant. A sale is a signed contract. The steps between them — contact, response, quote, close — each have their own drop-off rate, and each drop-off point points to a different fix. If responses are high but quotes are low, the problem is your estimate process. If quotes are high but closes are low, the problem is your price or your follow-up. The CRM guide for permit leads covers how to track each stage without overcomplicating your workflow.
How permits.llc fits in
Accurate permit lead ROI measurement depends on clean, timely source data — and that's where most manual approaches break down.
permits.llc aggregates more than 167,000 Massachusetts permit records across 92 cities and 11 counties, refreshed daily. Each record includes the permit type, filing date, property address, and declared work description — exactly the fields your tracking sheet needs for the source and date columns. When you pull a lead from permits.llc, attribution is clean from the start: you know what was filed, when it was filed, and when you contacted the homeowner.
That matters because the alternative — manually scraping municipal portals across Middlesex County, Suffolk County, and the rest of the state — introduces lag and inconsistency that corrupts your date-based analysis. A permit filed on the 3rd that you don't find until the 18th is a different lead than one you reach on the 5th, even if the address is the same.
The permit is a signal about the homeowner — their timing, their spending intent, their project stage — not about the contractor who pulled it. Clean source data lets you read that signal accurately and measure whether your outreach is actually reaching people at the right moment.
Frequently asked questions
Get started
Download the free 2025 Massachusetts permit dataset to see the real records, or set up daily alerts for the permits that trigger work in your trade.