Construction work is almost always chased too late — by the time a project is being bid, three other companies are already in the room. The permit record moves earlier than that. A filing, a stall or a loss event tells you a project exists and needs somebody, often before the owner has worked out that they need somebody.
A homeowner who pulled the permit themselves has taken on a job most of them will not finish. A meaningful share convert to a GC within ninety days, and they convert without a bid war because nobody else is watching that record.
An expired permit means the work stopped. Usually the contractor walked, was fired, or ran out of money. The owner needs somebody to finish, has already spent money, and is highly motivated.
A structural loss is a funded rebuild with an insurer behind it. The window between the claim being filed and the owner choosing a restoration contractor is short and almost entirely uncontested if you are in it early.
We build your campaign from the evidence above, wall it off from every other account we run, and settle on booked work at day 30. No household we find for you is worked for anyone else.
It can be more than one, but your budget never bids against theirs. Overlapping accounts are separated by ZIP, keyword and audience before any spend goes live, and a household is only ever worked for one client. If two service areas cannot be cleanly split, we will say so on the first call.
A customer on your calendar with a date and an address, a quote accepted in writing, a signed agreement, or an issued work order. Not a name nobody called, and not a click.
That depends entirely on how often the source jurisdiction publishes. Some county portals update daily and some weekly, and we will tell you which applies to your territory before you subscribe rather than after.
Tell us the counties and ZIPs you cover and how much work your crew can absorb. We will come back with what that territory actually produces, what the county's publishing cadence allows, and an honest read on whether 30 in 30 is realistic there.