Ad Examples · HVAC × Facebook · 10 ads
HVAC Facebook ad examples
Ten finished ads for HVAC contractors — emergency dispatch, replacement financing, maintenance plans and duct work — with the brief behind each, because we generated them rather than collected them.
HVAC advertising online is a genre with three entries: a stock photograph of a smiling technician giving a thumbs-up beside a condenser, a snowflake-and-flame graphic with a phone number, and a $79 tune-up coupon. All three are collected images, and a collected image cannot tell you the only things that transfer — who the ad was written for, what it argued, and what it was supposed to make happen.
So these were not collected. Every ad below was generated with the audience, the angle and the objective pinned before the run, which means the brief printed beside each one is the brief that produced it rather than a caption written afterwards about somebody else's work. The contractors are invented — ten of them, a duct-testing specialist, a six-truck shop that pays salary instead of commission, a maintenance plan sold entirely online, none of them real — so no competitor's creative is borrowed and no technician's face is used.
The thing that makes this trade unusual on Facebook is not what you may say. It is what one very ordinary offer costs you. A system replacement sold on a monthly payment is a credit advertisement, which puts the campaign in Meta's financial products and services special ad category — and that category takes away location exclusion, ZIP and neighbourhood targeting, and any radius under fifteen miles. A housing advertiser can absorb that because a housing market is fifteen miles wide. A contractor cannot, because a truck has a drive-time limit. The most-run ad in the trade is the one that removes your ability to advertise only where you actually go, and almost nobody in the category knows it. There is an ad below that does exactly this, and the guide alongside this page works the whole rule out.
All ten angle families appear once each, and the objective split is five Leads, three Traffic, one Sales and one Awareness — which sits between the dentist batch's seven-Leads shape and the gym batch's, for a reason you can read off the offers. Almost nothing here completes in an ad session, because almost nothing here is bought without somebody coming to the house. The single Sales buy is the maintenance plan, which genuinely is a checkout.
Nine of the ten came back in one pass. One failed outright when the model returned malformed JSON and was regenerated from the same brief; one more was regenerated after its brief was corrected, for a reason worth reading in full below — it originally produced an ad for a bicycle maintenance company. Neither is a second attempt at a result somebody disliked, which is the distinction that keeps the rest of this page honest.
Every price is invented. $219 for a duct test, $89 for a diagnostic, $129 for a tune-up, $5,400 for a variable-speed system, $9,700 for a matched replacement, $128 a month at 9.9% APR — all of it belongs to contractors that do not exist. Read them as placeholders marking where a real number goes, and note how much work the specific ones do. So are the proof figures, and there are more of those than there should be: five of the ten ads carry an invented statistic, and one of them renders a claim to be quoting public county records. Each note below says which, and what the fix is.
What changes because it is Facebook
Start with who is there, because for this trade the platform choice is nearly settled by it. HVAC sells to the person who owns the building, and Pew's November 2025 survey puts Facebook at 80% of 30- to 49-year-olds and 74% of 50- to 64-year-olds, against Instagram's 62% and 40%. That is the homeowner, and it is also the person who signs a five-figure replacement. Instagram is not useless here — it is where the newer, smaller-ticket end of the trade lives — but a replacement, a maintenance plan and an emergency call are all bought on this app.
Then the rule that makes this page different from every other Facebook page in this cluster, and it is not about what the copy may say. HVAC is not a special ad category. Heating and cooling is not health, not housing, not employment — every targeting lever survives, and a contractor may draw the two-mile radius their trucks actually serve. Until they advertise financing. A system replacement on a fixed monthly payment promotes a credit opportunity, and financial products and services has been a required US special ad category since January 2025. Meta's own reference page gives the start date twice and disagrees with itself — 14 January in the banner, 21 January in the milestones — so treat it as live for anything running now.
What that category does is the expensive part, and it is worth listing because the trade press does not. Location exclusion is unsupported. ZIP codes, neighbourhoods, sub-city and metro-area targeting are all unsupported as location types. The radius floor becomes 15 miles or 25 kilometres in the US and Canada, 15 kilometres in Europe. Age fixes to 18–65+ and gender goes to all. Lookalike and saved audiences are removed, though custom audiences and Advantage+ Audience survive. For a housing advertiser that is an inconvenience. For a contractor whose service area is a drive time rather than a circle, it is paying to reach households you will decline to visit — and the ad that triggers it is the single most common ad in the category.
The practical resolution is a structural sibling of the ones this cluster found for real estate and apparel. Real estate: qualify on a property event, not a person. Apparel: qualify on the garment, not the body. HVAC: split the campaign, not the message. Run the financing ad in its own declared campaign and accept the wide radius as the price of that offer, and keep the tune-up, the duct test, the emergency dispatch and the maintenance plan in an ordinary campaign where the tight radius still works. What you must not do is put a financing line in an ad set you want to keep local, or leave a credit ad undeclared — Meta reads the creative regardless of what was declared, and treats working around a category as evasion rather than oversight.
The received wisdom about budget is the other thing to correct, and it is the whole of the trade's playbook. Every HVAC marketing guide says to follow the weather: raise the budget in a heat advisory, pull it back in a mild week. Nothing in Ads Manager reads a forecast. Ad scheduling — dayparting — can only be set on an ad set with a lifetime budget, not a daily one, and it takes exact hour boundaries at least an hour apart. Automated rules can adjust a budget, but their conditions are performance metrics, and they are evaluated at least once every thirty minutes. So following the weather is a hand edit, a rule you scheduled in advance on dates you guessed, or your own script against the API. There is no fourth option, and a guide implying otherwise is describing software that does not exist.
One dayparting trap worth carrying, because it produces a false alarm rather than a failure: a schedule is applied in the audience's local time zone, but Ads Manager reports in the ad account's. Advertise into a neighbouring time zone and you will see delivery outside the hours you set. Meta's own documentation warns that a system expecting delivery in account time "might falsely detect an under delivery issue and make an incorrect decision".
Finally the shape and the copy budget, which are the same on this app for every trade and are measured here again. Meta's ads guide recommends 4:5 at 1440 × 1800 for Facebook Feed with primary text of 50–150 characters and a headline of 27, and no description line at all; Marketplace, one of the eight other image surfaces Facebook has, recommends a square at 1080 × 1080 with 125 characters, a 40-character headline and a 30-character description. Leave Advantage+ placements on and one ad fills all nine from a single export. This run wrote fifty headlines: two fit 27 and forty-five fit 40, and for the first time in this cluster not one of the ten lead headlines fits Facebook's own recommendation — though all ten fit Instagram's. None of the fifty primary texts fits 150; they run from 328 to 548 characters, the highest floor of any batch here. Five of the ten descriptions fit Marketplace's 30, in a field the feed will not show.
Source: Meta Marketing API — Special Ad Categories (page dated Updated: May 21, 2026; FINANCIAL_PRODUCTS_SERVICES replaced CREDIT on 14 January 2025; audience restrictions, location types, error codes 2859024 and 2909035) · Meta for Developers — ad scheduling (dayparting requires a lifetime budget; exact hour boundaries; audience-local time zone against account-time reporting) · Meta Business Help Centre — about automated rules (conditions are performance metrics; rules checked at least every 30 minutes) · Meta ads guide — image ad specifications, Facebook Feed (4:5 at 1440 × 1800; primary text 50–150, headline 27, no description line; 3% aspect-ratio tolerance) · Meta ads guide — image ad specifications, Facebook Marketplace (1:1 at 1080 × 1080; primary text 125, headline 40, description 30) · Meta Advertising Standards — privacy violations and personal attributes · Pew Research Center — Americans' social media use, November 2025
Want the campaign, not just the creative? Facebook ads for HVAC companies → is the playbook these ads came out of: which objective to buy, the offers worth running, the targeting levers this trade keeps, and the policy that decides what the copy may say.
Generate Facebook ads for your own contracting business
Paste your site and best-in-slot reads it the way these invented contractors were read — services, service area, positioning — then writes the concepts, renders the images and drafts the copy. Free to start, no card.
The Attic Eats the Upgrade
TrafficYour new AC is fine. Something else is eating the cold air.
- Audience
- Homeowners who have already replaced the unit — Paid for a new air conditioner two summers ago on the promise that the upstairs would finally cool, still sleep with a fan on, and have started to assume the house is just like that.
- Angle
- Hidden Problem (Problem & Pain) — Reveals a problem the customer may not realize they have.
Your new AC is fine. Something else is eating the cold air. You paid for the upgrade. The compressor runs constantly. And the upstairs still feels like August at 9 PM. The problem isn't the unit — it's the duct leaks bleeding cold air into a 140°F attic before it ever reaches your bedroom. A 25-minute pressure test gives you the actual number: how much conditioned air you're losing, and whether sealing costs $1,200 or replacing costs $9,000. Get the reading before the next quote.

Your new AC is fine. Your ducts aren't.
$219 test. Know before you replace.
Hidden Problem is the correct family for the most common wasted purchase in this trade, and the reframe is what makes the ad worth running. The reader has already paid for a new air conditioner and the upstairs is still hot, so they are being told — by the ad, gently — that they were sold the wrong thing. The blame lands on the duct system rather than on the reader or on the contractor who sold it, which is both true often enough to be honest and commercially useful: it opens with a $219 test rather than a $9,000 replacement, which is the cheapest possible first transaction in a category where the usual first ask is enormous.
The picture carries the argument, which is rare and worth stealing. A cutaway house with the duct run drawn through a 140°F attic and orange bleed marks where the air escapes — no technician, no van, no thumbs-up. It is also the only 1.91:1 in the batch that had to survive a wide crop and did so completely: a diagram has nothing in the top and bottom margins to lose, which is exactly why the wide slot suits explainers and not photographs.
Two things before it runs. The callout reads "median 21% of cooled air lost before it reaches the room" and the headline set repeats it as "21% of your cold air never reaches the room" — that figure was invented, and the word "median" dresses it as a measurement. Real published ranges for duct loss exist and a contractor should cite one, with its source, or cite their own test data. And the small labels on the outdoor unit degrade into texture at that point size, which is this pipeline's reliable failure: rendered numbers survive, rendered sentences do not.
Other headlines from the same run
- The upgrade didn't fail. The ducts did.
- 21% of your cold air never reaches the room
- Get the leak number before the next quote
- The attic is stealing your air conditioning
Call to action
This ad has changed a belief and not yet sold anything, and the honest next click is the page explaining what a duct pressure test measures — which is why it is a Traffic buy. Book now is worth testing only if that page opens on the test itself with a price on it, rather than on a general contact form.
The Clock Versus the List
LeadsFour calls said 'this week.' This one said 3:40 PM.
- Audience
- People whose air conditioning died on the hottest day — Are calling down a list of contractors at nine in the morning, have been told 'sometime this week' four times, and are watching the indoor thermometer climb while nobody will commit to a day.
- Angle
- Speed (Benefit & Outcome) — Emphasizes achieving the desired result faster.
Four contractors said 'this week.' One posted 3:40 PM before you hung up. During a heat advisory, every emergency dispatch gets a four-hour arrival window — published the moment your ticket opens, visible on a public board, tracked against actual arrival. 94% on-time last 30 days. $89 trip fee. Miss the window and the fee is removed automatically.

Posted window. Not 'this week.'
$89 advisory dispatch. Window posted live.
Speed is the whole product in emergency HVAC, and the reason this ad works is that it refuses to claim speed. It claims a published window. Everybody in the category says "fast, reliable, 24/7"; this one says 3:40 PM, posted at booking, tracked against arrival, and the fee removed if it is missed. That is a falsifiable promise, and a falsifiable promise is the only kind that differentiates in a trade where every competitor makes the same unfalsifiable one.
The composition is the argument again: four crossed-out contractor callbacks on the left, one enormous 3:40 PM on the right. The count check passes — four contractors are listed and the copy says four calls, which is precisely the check the gym batch's whiteboard failed. It is also the batch's clearest case for the 1:1 export, because it is built as two columns and survives Marketplace's square recommendation without recomposition.
The flaw is in the pixels and it is the batch's recurring one: "ON-TIME 94% — LAST 30 DAYS" is an invented operational metric rendered where no alternate headline can reach it. A contractor with real dispatch data can put the true number there and it becomes the strongest thing on the ad; a contractor without it has to remove the line rather than estimate it, because it is the sort of claim a customer will hold you to on the phone.
Other headlines from the same run
- 3:40 PM. Not sometime today.
- Four-hour window. Published at booking.
- 94% on-time. Or the fee is removed.
- Arrival time posted. Not estimated.
Call to action
Emergency demand converts on a phone call, and call ads are mobile-only and deliver on Facebook Feed, Marketplace, Reels and Video feed as well as Instagram Feed and Stories — two of those surfaces are Facebook-only. Judge this ad on 60-second calls rather than on clicks; a 20-second call is usually somebody discovering you cannot come today.
The Percentage, Not The Fight
LeadsIt doesn't pick a winner between rooms, it picks a percentage.
- Audience
- Households where one thermostat argues with everybody — Live with a system that blasts cold air until the hallway sensor is satisfied and then stops, so the house swings between too cold and too warm all afternoon and nobody agrees on a number.
- Angle
- How It Works (Product & Mechanism) — Explains the process from input to mechanism to result.
Your house doesn't need a thermostat war. It needs a system that reads every room and picks one steady output level—not full blast until the hallway wins, then silence. Multiple sensors feed one control panel. The compressor runs at 38%, or 52%, or whatever percentage keeps the whole house within a degree of your target. No swings. No arguments. Installed from $5,400.

Picks a percentage, not a winner
Variable-speed from $5,400
How It Works is the right family for variable-speed equipment because the benefit is genuinely unintuitive: the reader has to understand that a system running constantly at low output is cheaper and more comfortable than one that blasts and stops, which is the opposite of how most people think about machines. The ad picks the household argument as its way in — the thermostat war, which every multi-person house recognises — and then resolves it mechanically rather than emotionally.
The whiteboard sketch is internally consistent, which this direction has not always been. Three sensors are drawn and three are labelled; the control panel reads 38%, the copy says the compressor runs at 38%, and the annotation gives the range as 25% to 100% — so the number in the picture sits inside the range the picture claims. That is three separate agreement checks passing on one diagram, and it is worth noticing after the gym batch produced a whiteboard whose drawn items did not match its own headline.
The one number to replace is $5,400, and in this category the risk is not the figure but the phrase around it. "Installed from" on equipment whose real installed cost swings with ductwork, electrical and the size of the house is the sort of anchor that produces an angry conversation in a hallway. Either publish a figure you will honour for a defined scope, or describe what the scope excludes.
Other headlines from the same run
- Multiple rooms. One output level.
- Stop the thermostat argument
- Steady output. Every room happy.
- No blast, no stop. Just one number.
Call to action
Pinned to Leads in the brief, and the tension is worth naming rather than hiding: an ad that has just taught a mechanism is usually one step from the form rather than on it. Send this to a page that finishes the explanation and puts the form at the bottom, and treat the lead as the second click.
The County's Own Count
Leads212 straight jobs passed on first inspection — county records, not our word.
- Audience
- Homeowners who intend to sell within five years — Know that unpermitted mechanical work surfaces in a sale, have already had one contractor tell them a permit is an unnecessary expense, and would rather pay for the paperwork than argue about it in escrow.
- Angle
- Third-Party Validation (Proof & Trust) — Uses awards, certifications, media coverage, independent testing, or industry recognition.
212 consecutive jobs passed on first inspection. Not marketing. County records. Every furnace and AC replacement we install gets a mechanical permit filed, an inspection scheduled, and a signed card handed to the homeowner when the job passes. No shortcuts, no excuses, no unpermitted work that shows up later in a sale. Flat pricing includes the permit and inspection. From $4,350 for a furnace changeout, $5,900 for cooling, $9,700 for a matched system.

212 straight jobs passed inspection
Permit included. Always.
Third-Party Validation is the strongest available family here and almost nobody in the trade uses it, because the proof is boring and public: unpermitted mechanical work is common, it surfaces during a sale, and a contractor who pulls a permit on every job has a genuine and checkable differentiator. The audience brief is the sharp part — homeowners intending to sell within five years — because it converts a compliance detail into a financial one for a reader with a date in mind.
And this is the ad on the page that must not run as it is. The image renders 212 CONSECUTIVE JOBS PASSED ON FIRST INSPECTION at full height, with PER COUNTY INSPECTION RECORDS — NOT OUR WORD beneath it and a PASSED rubber stamp in the corner. Every part of that is invented. It is the most dangerous shape a fabricated statistic can take, because it does not merely assert a number — it names an external public record as its source and pre-empts the reader's scepticism in the same breath. A reader who checks will find nothing, and the claim is in the pixels where no alternate headline reaches it.
The fix keeps the entire argument and costs nothing. A contractor who does pull permits has the real count in their own job records and can render it; one who has not counted can render the practice rather than the tally — "every job permitted, every inspection card handed over" — which is checkable by the customer at the end of their own job, and is the claim the ad actually wants to make. The prices in the body copy ($4,350, $5,900, $9,700) are invented too, but they are the ordinary kind of placeholder, and the $9,700 is at least consistent with the financing ad elsewhere in this batch.
Other headlines from the same run
- County records, not our word
- Every job permitted and inspected
- First-pass rate: 212 consecutive
- Proof on file, card in hand
Call to action
The offer is a quote for a replacement, so the click is a conversation rather than a booking. Send it to a page that shows a sample inspection card and the flat pricing, because this ad's whole premise is documentation and a generic contact form contradicts it.
One Quote vs. Two Numbers
TrafficThe old quote shows one system. Ours shows both, side by side.
- Audience
- Owners of a twenty-year-old furnace — Have been told the furnace has a season or two left, want to make the decision once rather than in an emergency in January, and cannot get anyone to put the two options on the same page.
- Angle
- Old Way vs. New Way (Comparison & Positioning) — Contrasts the traditional method with your newer approach.
Most HVAC quotes show you one system and mention the other as 'an option.' Ours shows both — heat pump and furnace + AC — side by side, with installed cost and projected annual run cost calculated from your utility's actual rates. One visit. One document. You decide on the numbers, not on what the estimator prefers to sell. $89 quote visit, credited toward any install. Over 3,100 comparison quotes issued.

One quote. Both systems. Real numbers.
$89 visit, credited toward install
Old Way vs. New Way is the honest framing for the decision this trade is currently built around, and the ad avoids the trap the family usually falls into. It does not argue that heat pumps are better. It argues that you should be shown both prices, installed and running, on one page — which is a claim about the quote rather than about the equipment, and is therefore defensible whichever system the reader ends up buying. In a category where the estimator's preference is a real and widely-felt problem, that is a sharper wedge than any efficiency argument.
The comparison chart is the batch's most interesting near-miss with its own trap. It was briefed as one of two ads deliberately set up to render numbers, on the theory that this pipeline gets sums right and quantities wrong — and instead of inventing run-cost figures it wrote "projected from utility's published rates" in the cell where the numbers would go. That is the model declining to fabricate, in the one place it was most invited to, and it is worth recording next to the failures on this page.
Two things before it runs. "The Old Way vs. The Honest Way" characterises standard industry practice as dishonest, which is a comparative claim about named-in-effect competitors that a real business should be willing to defend. And "3,100+ comparison quotes issued" is invented, in the footer, in small type — the same fabricated-proof pattern as the rest of the batch, just quieter.
Other headlines from the same run
- Heat pump vs. furnace, side by side.
- See both options before you decide.
- The quote that prices both paths.
- Installed cost + run cost, one page.
Call to action
A Traffic buy, correctly — the reader is comparing and the ad's promise is a document, so the click should land on a page showing the two-column quote format itself. Book now only if that page can take the $89 visit as a booking with a card, which turns the promise into a transaction rather than a lead.
The Button, Not the Call
SalesStopping this plan takes one tap, not a Tuesday off work.
- Audience
- People still paying for a plan they cannot leave — Signed up to a service agreement at the door years ago, have been charged every month since, and found out the only way to stop it is a phone call in office hours that goes to a retention script.
- Angle
- No Commitment (Objection & Risk Reversal) — Emphasizes cancel-anytime, no contract, or no long-term obligation.
Ever tried canceling a home service contract? Then you know: phone calls during office hours, hold music, a retention script designed to keep you trapped. This plan works differently. Cancellation is a button inside your account dashboard. No phone call. No script. No fee. Your furnace and AC still get checked twice a year, you still pick your scheduling windows by text, and if you decide to stop, you tap once and it's done. $18/month, month to month, no annual lock-in.

Cancel anytime. Literally one button.
Month to month. No lock-in.
This is the one genuine Sales buy on the page, and the only offer in the batch that completes without anybody driving to the house: a maintenance plan at $18/month, bought online, cancelled from a dashboard. No Commitment is exactly the right family, because in this trade the service agreement sold at the door is notorious — it auto-renews, and leaving it means a phone call in office hours that routes to a retention script. The ad's whole argument is a button, which is a small, checkable, unglamorous promise of precisely the kind this category never makes.
This ad was regenerated, and the reason is the most useful thing this batch produced. Its original brief read "a twice-yearly maintenance plan bought online at a fixed monthly price, with no auto-renewal and a cancel button in the account rather than a phone call" — a billing mechanism with no heating or cooling noun anywhere in it, and the only one of the ten written that way. It came back as a subscription bicycle maintenance service: $17 a month, two seasonal tune-ups, Commuter Care and Fleet Care plans, a genuinely good ad for a business in the wrong trade. Nothing malfunctioned. "Tune-up" and "seasonal service" belong to bicycles as much as to furnaces, and with no other anchor the invented brand resolved the ambiguity the other way.
The brief was corrected to name the trade — one furnace service before winter, one air-conditioning service before summer — and nothing else was changed. It came back as heating and cooling immediately. That is a fixed specification rather than a re-rolled draw, and the distinction matters on a page whose entire value is that the ads are unedited: nothing here was regenerated because somebody preferred a different result. The rule it produces is worth having if you brief this tool yourself — name the physical thing, not just the commercial mechanism. Nine briefs in this batch named a duct, a furnace, a heat pump, a damper or a permit, and nine came back in the right industry.
Other headlines from the same run
- No phone call to cancel. Just a tap.
- Exit as easily as you entered.
- The cancel button is in your dashboard.
- Stop paying without the phone tree.
Call to action
The only ad on the page where the button should complete the purchase rather than start a conversation. Subscribe matches both the offer and the objective; if the plan needs a card and an address first, Sign up is the honest label and the checkout is the next screen.
The Missing Number
LeadsIf the payment plan doesn't show a rate, ask why.
- Audience
- Households facing a replacement they did not budget for — Have a condemned heat exchanger and a five-figure quote, are being offered a payment plan with no rate on it, and cannot tell whether the monthly figure is a good deal or an expensive loan in disguise.
- Angle
- Financing / Installments (Offer & Economics) — Focuses on affordability through payment structure rather than absolute price.
If a payment plan doesn't show the rate, ask why. Most HVAC financing quotes give you a monthly number and nothing else. No APR. No total repayable. Just a payment that sounds manageable — until you do the math yourself. We print everything: $128/month, 9.9% APR fixed, 120 months, $15,360 total. Same clarity you'd expect from a car loan or mortgage. Compare it to any other quote before we ever knock on your door.

The rate matters. We print it.
HVAC replacement, plainly priced
This is the ad the whole page is about. Financing / Installments is the trade's most-run offer and this execution is a good one — it attacks the category's standard practice of quoting a monthly payment with no rate attached, and answers it by printing everything: $128 a month, 9.9% APR fixed, a 120-month term, $15,360 total repayable. "If a payment plan hides the rate, ask why" is a strong hook precisely because the reader has almost certainly just been handed a quote that does.
The arithmetic is correct, and this is the most rigorous rendered document this cluster has produced. $128 × 120 = $15,360 exactly. A 9.9% APR over 120 months implies a principal near $9,700, which is the same figure the permit ad on this page quotes for a matched system — two independently generated ads agreeing on a price. After several batches in which this pipeline got rendered sums right and rendered quantities wrong, a four-line financial disclosure with no internal contradiction is worth recording.
And it is the ad that costs you your radius. Rendered exactly as it is, this promotes a credit opportunity, which means the campaign declares financial products and services and loses location exclusion, ZIP and neighbourhood targeting, lookalikes, saved audiences and any radius under fifteen miles. The recommendation on this page is to run it in its own declared campaign and leave the rest of the account local, rather than either mixing a finance line into a local ad set or leaving this undeclared. The second footer line — "0% APR 24-month option on Foundation installs booked within 30 days" — is a second credit offer, and the invented "over 14,000 systems installed since 2015" in the body copy is the batch's fabricated-proof pattern again.
Other headlines from the same run
- Every number, before you sign
- $128/mo, 9.9% APR, $15,360 total
- Compare the total, not just the payment
- Financing you can actually check
Call to action
A five-figure purchase does not convert from an ad, so this is a lead however it is dressed. Send the click to a page carrying the same four numbers, because the ad's entire promise is that the figures survive contact with the next screen — a landing page that reverts to "as low as" language undoes the ad.
The Closing Calendar
LeadsSeptember has thirty days. So does the booking calendar.
- Audience
- People who call in the middle of the cold snap — Have not thought about the furnace since March, will discover it does not light on the first genuinely cold night, and will then join a queue with several hundred other households in the same week.
- Angle
- Seasonal Deadline (Scarcity, FOMO & Timing) — Uses a holiday, season, event, or calendar moment as a natural deadline.

September closes in eight days. So does the booking calendar. Every autumn we release a fixed number of tune-up slots. Once they're gone, the next available appointment is winter — at winter rates. This year we're down to the last handful of open dates. If your furnace hasn't been serviced since last heating season, this is the week to book. $129 flat, 45 minutes, done before the first freeze.
2 tune-up slots left this month
Book your autumn tune-up
Seasonal Deadline is the family this trade was built for, and the ad gets the mechanic right: the scarcity is real, not manufactured. A tune-up in September and the same visit in January are different products at different prices, because in January it is an emergency call-out competing with several hundred other households in the same week. The ad sells the calendar rather than a discount, which is the honest version of urgency in a category that mostly fakes it.
The lock-screen mock-up passes every interface-consistency check, which is worth stating because this is exactly where the fashion batch failed. Read the clock as 6:12 PM and the stack runs correctly newest to oldest — now, 2h ago, 9:04 AM, Yesterday, Sat. "September closes in eight days" matches a screen dated 22 September. The rendered offer, $129 and two remaining slots, matches the headline and the body copy. Rendered interfaces have consistency rules a reader has internalised over twenty years, and this one obeys them.
One defect, and it is now a documented pattern rather than a one-off: the screen reads "Monday, September 22", which is a real pairing — for 2025. This batch ran in September 2026, when the 22nd is a Tuesday. The pipeline builds a coherent document and anchors it to its own sense of now rather than to today, exactly as the dentist Instagram lock screen and the real-estate document set did. Check any rendered date against a calendar before publishing.
Other headlines from the same run
- September closes in 8 days. So do we.
- Last 2 dates before winter rates kick in
- Book now or call from a cold house later
- $129 now. January rates later. Your pick.
Call to action
The only ad in the batch where the click should land on a calendar with dates on it. The whole argument is that the slots are finite, and a contact form that replies tomorrow contradicts the ad — if the booking cannot be live, the ad should say when you will call back.
The Nightly Check
TrafficStop tiptoeing down that hallway every night to check on her.
- Audience
- Households heating the whole house for one room — Have a parent in the back bedroom who feels the cold, run the whole system harder all winter so that one room is bearable, and have settled on a space heater and a closed door as the answer.
- Angle
- Relief / Peace of Mind (Identity & Emotion) — Sells the removal of stress, uncertainty, worry, or mental load.
You check on her every night. Not because she asks — because you can't not. Her room's the cold one, and you know it before your hand even touches the door. A single-room thermostat means her space holds the temperature she needs, independent of the rest of the house. No more hallway checks. No more guilt about cranking the heat everywhere just to keep one room livable. $249, installs in half a day.

Her room holds temp. You sleep.
Retrofit kit for one wrong room
The offer is exactly right for this trade and under-advertised in it: one room in the house is always ten degrees wrong, households solve it by running the whole system harder and closing a door, and a zoning damper with its own thermostat is a $249 retrofit rather than a replacement. Relief / Peace of Mind is the natural family, and the side-by-side scene executes it well — the same woman in both panels, a space heater on the floor in the first and a thermostat reading 70° in the second, with the change legible at a glance.
And this is the ad that broke the batch's experiment, which is why it is the most instructive thing here. All ten offers were deliberately written as machines and contracts, on the finding from the apparel batch that steering works when the offer is a thing and fails when the offer is a person. This offer is a damper. The ad still rendered "Stop tiptoeing down that hallway to check on her" across the top of the image, with "every night, another check" beneath it — second person, telling the reader a fact about their own household and implying a family member who needs looking after. That is the same structural failure as the dental vernacular's "Missing teeth?": the ad is not describing a product, it is telling the reader something about themselves.
The lesson is a boundary on the earlier rule rather than a contradiction of it. The offer being a thing is not sufficient, because the angle can put the person back — Identity & Emotion exists to name a feeling the reader has, and a feeling is a fact about the reader. If you want this offer, brief it with a mechanism angle and let the room do the work: "one room, its own thermostat, $249" reaches every household with a cold back bedroom and asserts nothing about any of them. Same selection, no assertion — which is the resolution the real-estate and apparel pages in this cluster each arrived at from their own direction.
Other headlines from the same run
- One thermostat for the cold room
- Stop checking. Start sleeping.
- The worry-check ends here
- Her own setpoint. Your peace.
Call to action
Traffic is right for a retrofit most readers have never heard of — the click has to explain what a zoning damper is before it can sell one. Send it to a page that shows the part and the price, and keep the landing copy on the room rather than on the occupant, for the same reason the ad should have.
The Paycheck Doesn't Change
AwarenessMy hourly rate is the same whether I find a screw or a system.
- Audience
- People who have been upsold in their own hallway — Called someone out for a noise, were shown a photograph of a cracked part on a tablet and quoted for a whole system within twenty minutes, and have not trusted a technician's diagnosis since.
- Angle
- Employee / Operator POV (Story & Founder POV) — A team member, specialist, operator, or insider explains how the company thinks or works.
My hourly rate is the same whether I find a screw or a system. I'm not saying other techs are dishonest. I'm saying their paycheck changes when yours does — and mine doesn't. $89 flat diagnostic, and I'll tell you what I see, not what I need to sell. If you've been burned in your own hallway before, you'll understand why that matters.

Same pay stub, small fix or big one
HVAC, plumbing, electrical
This is the best-argued ad in the batch and the one a real contractor could most nearly run tomorrow. The trade's actual reputational problem is commissioned diagnosis — the technician whose pay rises when the recommendation is a whole system — and almost nobody advertises against it, because doing so requires having actually changed how you pay people. Employee / Operator POV is the right family: the claim comes from the technician rather than from the brand, which is the only voice that makes it credible.
The photograph fills the 1.91:1 frame edge to edge, and that matters more than it sounds. The re-frame padding defect this cluster has found twice — a square draft inset into a wide export with white bars above and below — did not recur anywhere in this batch, on any of the four non-square exports. Photographs were the ones that suffered it in the apparel run, and this is a photograph.
The rendered pay stub is the most internally consistent document this pipeline has produced, with exactly one error, and the pattern in that is worth having. Social Security is 215.76, which is 6.2% of the 3,480.00 gross; Medicare is 50.47, which is 1.45% of it; the year-to-date block subtracts 7,275.28 from 41,760.00 and gets 34,484.72, correctly; and 41,760 is exactly twelve times the gross, which is right for a biweekly stub dated mid-June. Four derived figures, all correct. The single mistake is a copied one: the Regular Earnings line reads 3,450.00 where its own hours and rate (80.00 at 43.50) and its own Gross Pay both say 3,480.00. This pipeline computes better than it transcribes.
Two things before it runs. The dates on the stub are 2024, the same year-anchoring drift the lock screen on this page shows. And the description line reads "HVAC, plumbing, electrical", which is the invented brand widening itself — fine for a home-services group, wrong if you only do heating and cooling, and the sort of detail that quietly mismatches an ad with its landing page.
Other headlines from the same run
- No commission. Just the diagnosis.
- $89 diagnostic. Honest answer included.
- My paycheck doesn't change. Yours shouldn't either.
- Hourly rate, not a cut of the sale
Call to action
The one Awareness buy, and it is defensible for the reason the dentist page's is: a contractor's addressable market is the households within a drive that will eventually need a technician, and being the shop they remember when the furnace fails at six in the morning is the whole product. Do not judge it on leads that week; judge it on whether the calls that arrive later name the reason.
Questions
- Do Facebook ads work for HVAC companies?
- They reach the right person: Pew puts Facebook at 80% of 30- to 49-year-olds and 74% of 50- to 64-year-olds, against Instagram's 62% and 40%, and that is the homeowner who signs a replacement. The bigger question is which offer you run. Emergency dispatch, tune-ups, duct testing and maintenance plans all work with a tight radius around your trucks. A financing ad does not, for a reason most contractors discover after they have paid for it — see below.
- Why does advertising monthly payments change my targeting?
- Because a system replacement sold on a monthly payment promotes a credit opportunity, which puts the campaign in Meta's financial products and services special ad category — required for US advertisers since January 2025. That category removes location exclusion, ZIP and neighbourhood targeting, lookalike and saved audiences, fixes age at 18–65+, and imposes a minimum radius of 15 miles or 25 kilometres. A housing advertiser absorbs that. A contractor whose service area is a drive time cannot, so run financing in its own declared campaign and keep everything else local. Do not leave it undeclared: Meta reads the creative regardless, and treats working around a category as evasion.
- Can I make my budget follow the weather?
- Not automatically, and this is the most common wrong advice in the category. Nothing in Ads Manager reads a forecast. Ad scheduling can only be set on an ad set with a lifetime budget, and takes exact hour boundaries at least an hour apart. Automated rules can adjust a budget, but their conditions are performance metrics and they are checked at least every thirty minutes. So following a heat wave means a hand edit, a rule you scheduled in advance on dates you guessed, or your own script against the API. Worth knowing too: a schedule runs in the audience's local time zone while reporting is in your account's, so advertising into a neighbouring zone will look like under-delivery when it is not.
- What size should an HVAC Facebook ad be?
- Render 4:5 at 1440 × 1800 — that is what Meta's ads guide recommends for Facebook Feed, and it is where most of the budget delivers. But Facebook has nine image surfaces to Instagram's four and their recommendations disagree: Marketplace wants a square at 1080 × 1080, a 40-character headline and a 30-character description, where the feed wants 27 characters and shows no description at all. With Advantage+ placements on, one ad fills all nine from one export. Compose the portrait so it survives a square crop, and reserve 1.91:1 for diagrams and explainers — it routes to the right-hand column and search results, and a wide crop costs a photograph more than it costs a drawing.
- Why do so many of these ads have invented statistics?
- Because that is what the run produced, and hiding it would defeat the point of the page. Five of the ten carry a fabricated proof figure — a 21% duct-loss median, a 94% on-time rate, 3,100 quotes issued, 14,000 systems installed, and a claim of 212 consecutive inspections passed "per county records". Where the visual direction offers a place to put proof, this pipeline fills it, and it fills it whether or not you asked. The fix is always the same and never costs the argument: substitute your own number, or describe the practice instead of the tally. Every note on this page says which figure is invented and what to put there.
- Were any of these ads regenerated?
- Two, and neither because we disliked the result. One failed outright when the model returned malformed JSON and was re-run from the identical brief. The other, the maintenance-plan ad, was re-run after its brief was corrected: as first written it described only a billing mechanism — a twice-yearly plan, fixed monthly price, cancel button — with no heating or cooling noun in it, and came back as an ad for a bicycle maintenance subscription. Adding the trade to the brief fixed it on the first attempt. Everything else on this page is a single pass, published exactly as generated.
Seen enough? Make your own.
Paste your site. It reads your services, your service area, your plan and your financing page, then writes the concepts, renders the images and drafts the copy — for the one trade in this set whose hardest rule is not Meta's.
No credit card · 50 free credits (about 5 ads or Instagram posts)
Every angle used above is documented in the best-in-slot ad angle library. More industries and placements are at all ad examples.