HVAC direct mail works in Charlotte when the routes are picked on house age rather than the ages of the people in them. Every Door Direct Mail lets a contractor drop a piece on every address in a carrier route without a mailing list, and the Postal Service's own route filters do not measure the thing that predicts a replacement.
What EDDM costs, and the limits that shape the drop
Every Door Direct Mail Retail costs 26 cents a piece for a flat weighing up to 3.3 ounces, as of October 2026, on top of whatever the printing costs. A mailing runs from 200 pieces up to 5,000 per ZIP code per day, bundled in stacks of 50 to 100, and no names or street addresses are needed at all.
| Constraint | The number | What it means for a drop |
|---|---|---|
| Postage per piece | 26 cents, flat up to 3.3 oz | Postage is the predictable half; print is the half you negotiate |
| Minimum per mailing | 200 pieces | A single route is almost always above the minimum on its own |
| Maximum per ZIP per day | 5,000 pieces | A big ZIP has to be split across days, so a drop is a schedule |
| Bundling | Stacks of 50 to 100 | Someone banding bundles is a real labor line, not a rounding error |
| Addressing | None required | No list to rent, and no way to suppress your own customers |
That last row cuts both ways. The Postal Service's own description of the product is that "you don't need address lists or stamps for your direct marketing mail and ad campaigns", which is the appeal. It also means a saturation drop reaches your maintenance members at full price, so the piece has to read sensibly to a current customer as well as a stranger.
The route filter that reads the wrong age
The EDDM tool's age filter measures residents, not houses. The Postal Service's user guide defines the column plainly: "AGE indicates the percentage of each route that matches a given age range criteria." The other two filters are average household income and average household size. None of the three says anything about when the equipment inside those houses went in.
For a retailer, resident age is the right variable. For an HVAC company it mostly is not. Replacement demand tracks the age of the system, the system usually went in with the house or with the last major renovation, and a route full of 25 to 44 year olds in new construction is a route full of equipment under warranty. The income filter is useful for financing and for ticket size. The age filter, used as every EDDM guide suggests, points at the wrong streets.
Where the house-age number actually comes from
House age comes from the Census and from county records, not from the mailing tool. The American Community Survey publishes median year structure built as table B25037 in its five-year estimates, and Mecklenburg County's property records carry a year built on every parcel. Both are free, and neither is inside the EDDM map.
The method: pull the median year built for the neighborhoods a route covers, rank candidate routes oldest first, then set the income filter as a floor rather than a target so the list stays inside the ticket you can finance. Two honest limits: carrier routes do not line up with Census geographies, so this is an approximation, and your own install history beats both sources. A shop with ten years of invoices already knows which streets it replaced systems on in 2011, which is a better predictor than any public table.
Charlotte routes get written in heat pumps, not furnaces
North Carolina is a heat pump state, so the vocabulary on the piece decides whether it reads as local. The 2020 Residential Energy Consumption Survey counts 1.54 million of 4.01 million North Carolina homes, about 38%, running a central heat pump as main heating equipment, the third-highest share among states with reported data.
So the headline is aux heat, dual fuel or a cooling season starting in April, and the replacement offer is about a heat pump. A postcard that leads with furnace tune-ups was designed for a different climate, a homeowner here can tell on sight, and it is the cheapest edit on the project.
The tracking code, or the drop never happened
A mail drop is untrackable unless the piece carries something the caller has to say, dial or type. One tracking number per route group, or a short code printed on the piece and asked for at booking, is what matches the drop against booked jobs in your dispatch software. Without it the spend lands in the unattributed column.
Then read the result as a floor rather than a total. A piece on the counter makes people search your name, tap the map pack listing and call the main line, and none of that carries your code. To see that half, watch branded search and direct calls for two weeks after a drop against the two weeks before, and write the drop dates somewhere a report can line up against.
The cost math, run on your own close rate
Direct mail math only holds when the response rate in it is yours. Published industry response averages circulate without a disclosed method behind them, so leave that cell empty until the first drop fills it. The sequence is pieces times postage plus print, then tracked response, then your booking rate, then cost per booked job.
| Input | What goes in it | Where it comes from |
|---|---|---|
| Postage | 26 cents per flat up to 3.3 oz | USPS EDDM Retail price list, as of October 2026 |
| Your per-piece price at your size and stock | A printer's quote, never an online estimate | |
| Pieces | Addresses in the routes you selected | The EDDM tool's own route counts |
| Tracked response | Calls and bookings carrying the number or code | Call tracking plus your dispatch software |
| Booking rate | Share of those calls that reach the schedule | Your own last 90 days |
| Cost per booked job | Total cost divided by booked jobs | The output, and the figure that is comparable across channels |
Expect the booking rate line to be the uncomfortable one. ServiceTitan published platform data in June 2022 covering more than 3,000 US and Canadian trade businesses: HVAC booked 38% of qualified inbound calls, and shops with fewer than five technicians booked 24%. A drop that feeds calls into a 24% booking rate is paying postage to generate work for a competitor.
It is also the fair comparison against paid channels. Local Services Ads charge per lead, and Google's documentation says regularly failing to answer calls or respond to messages may affect ad ranking, so a dropped call there costs twice. Mail charges per piece whether anybody reads it. Different billing, same bottleneck, and it is not the mailbox.
What happens to the call nobody answers after the drop lands
Speed to lead and missed calls decide what a drop returns, because the mail arrives in a batch and so do the calls. Missed-call text-back within seconds, a booking link that reads real availability, and follow-up that continues until the homeowner answers either way are the systems that catch a spike no dispatcher can staff for.
Those systems exist and run in production for Charlotte businesses. The booking system behind this site's discovery-call page calculates real availability and confirms automatically; the online booking and repair-status software Quick Auto NC runs its bays on is ours, as is the website for Carolina Sky Painting, a Charlotte home-services contractor. The reporting matches: one report led by booked jobs per channel, with the drop carrying its own line and its own cost per booked job rather than vanishing into a blended average.
Sources
- USPS, Every Door Direct Mail - The product page: no address lists or stamps required, and ZIP code and carrier route selection with age, income and household size filters drawn from US Census data.
- USPS, EDDM Retail fact sheet - The volume limits: at least 200 and up to 5,000 mailpieces per day per ZIP code, flats of 3.3 ounces or less, bundled in stacks of 50 to 100.
- USPS, EDDM Retail price list, 2026 - EDDM Retail flats up to 3.3 oz at $0.260 per piece, effective July 12, 2026; read October 2026.
- USPS, Price List Notice 123, effective July 12, 2026 - The full postal price list the EDDM Retail rate sits in.
- USPS, Every Door Direct Mail User Guide - Defines the route columns: AGE as the percentage of each route matching a chosen age range, defaulting to 25 to 44 years old; SIZE as average household size; INCOME as average household income.
- US Census Bureau, ACS table B25037, Median Year Structure Built - The five-year American Community Survey estimate of median year structure built, the public source for ranking neighborhoods by house age.
- US Census Bureau, Year Built and Year Moved In - What the ACS year-built question is and how the Census Bureau describes its uses.
- US EIA, Residential Energy Consumption Survey 2020, state space-heating table - North Carolina: 4.01 million homes, 1.54 million of them, about 38%, with a central heat pump as main heating equipment; third-highest share among states with reported data.
- ServiceTitan, Data Report: Average Call Booking Rates - June 2022 platform data from more than 3,000 US and Canadian trade businesses: HVAC 38% of qualified inbound calls booked, shops under five technicians 24%.
- Google Local Services Help, Getting started with Local Services Ads - Leads are paid for per lead, and regularly failing to answer calls or respond to messages may affect ad ranking.