Ad Generator · HVAC
Facebook & Instagram ad generator for HVAC companies
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.
Enter your heating and cooling company's website
That is the whole brief. No questionnaire, no uploads, no brand kit to fill in. Free to start, no card — and every ad lands paused, which in this trade is where the financing sentence gets checked.
No credit card · 50 free credits (about 5 ads or Instagram posts)
What it takes off an HVAC company's website
- Your services list, and which end of it you lead with. A contractor sells a dozen distinguishable things at prices spanning two orders of magnitude — an $89 diagnostic and a $14,000 replacement are both in the book — and one $79 coupon aimed at everybody spends the budget qualifying for the cheapest job on the list. The page tells the generator which jobs your trucks are actually short of.
- Your service area, as you write it. The towns, the counties, the ZIPs, the “within 25 minutes of the depot” line — because a contractor's market is a drive time rather than a circle, and one of the offers below quietly takes your ability to draw it. See the caution.
- Your financing page: the partner, the term, and whether the rate is anywhere on it. This is the most consequential thing on an HVAC site and the most commonly incomplete. A page that states a monthly payment and no annual percentage rate is the shape the caution below is about, and the generator will write ads from whatever it finds there.
- Your maintenance plan — the monthly price, the two visits, whether it auto-renews and what cancelling actually takes. It is the only offer in this trade that completes in a checkout with nobody leaving the depot, and it is the only reason Sales is a real objective for a contractor.
- Your emergency and after-hours block. Whether you publish an arrival window, whether there is a dispatch fee, whether a call at six in the morning reaches a human. That decides whether it writes a phone ad at all, and a published window is worth more than every adjective in the category.
- The proof a homeowner can check: whether you pull permits, whether technicians are on salary or on commission, which equipment you are a dealer for, what your own job records say. This trade has almost no verifiable proof in its advertising, which is exactly why the checkable kind wins — and why the generator inventing it is the failure named below.
- Your photographs, colours and type, so the ads look like your vans and your invoices rather than a stock library of condensers.
What one click gives you
A concept pinned to one job at one price
An emergency call, a $219 duct test and a $9,700 replacement are three different ads to three different people at three different moments, and the generator writes one per brief rather than blending them. The blended version — “repair, replacement, maintenance, air quality” — is the ad every contractor in your market is already running.
A finished image, and in this trade it is usually a document
Rendered in your brand's colours and type. What this category's best ads show is paperwork: a two-column quote, a permit card, a pay stub, a financing disclosure, a whiteboard sketch of a compressor. That is a strength — a document is checkable where an adjective is not — and it is also where the fabrication risk lives, because a rendered number sits in the pixels where no alternate headline reaches it.
All four Meta shapes
The same image re-framed for 4:5 feed, 9:16 Stories and Reels, and the 1.91:1 asset that routes to Facebook's right column and search. Facebook has nine image surfaces to Instagram's four and their recommendations disagree — Marketplace wants a square — so the portrait is composed to survive a square crop, and the wide slot is where the diagrams go.
Five headlines, five body texts, a description
One run, so you are choosing between versions of the same argument rather than between five arguments. Worth knowing before you pick: across six Facebook batches here, 21 of 300 headlines fit Facebook Feed's recommended 27 characters and 283 fit Marketplace's 40. Twenty-seven characters is room for a noun, not for a claim.
Published paused, into an ad set you pick
It never creates campaigns or ad sets, never edits your existing ads, and never spends. The pause is where you read the financing line and check every rendered number against your own records — see the caution.
The step-by-step path swaps the one click for choosing the audience, the angle, the concept and the image style from a gallery of 66 — same output, more decisions.
What it made for four contractors that do not exist
Generated by best-in-slot. Published exactly as they came back — nothing retouched, every flaw named on the page they came from. Four documents rather than four photographs of a van: a financing disclosure whose arithmetic foots to the cent, a pay stub with four correct derived figures, a whiteboard whose drawn sensors match its own annotation, and a subscription card for the one offer in this trade that completes in a checkout.

Offer & Economics · 1:1 · Leads
The rate matters. We print it.
Written for: Households facing a replacement they did not budget for.
How this one was made →

Story & Founder POV · 1.91:1 · Awareness
Same pay stub, small fix or big one
Written for: People who have been upsold in their own hallway.
How this one was made →

Product & Mechanism · 4:5 · Leads
Picks a percentage, not a winner
Written for: Households where one thermostat argues with everybody.
How this one was made →

Objection & Risk Reversal · 4:5 · Sales
Cancel anytime. Literally one button.
Written for: People still paying for a plan they cannot leave.
How this one was made →
The offers it will propose
Twelve, not a list to run at once — pick the two or three that match what your trucks are short of this month and let the season pick the rest. Each has a row on the Facebook guide naming who it is for, which angle family argues it best and which objective buys it. One of them costs you your service radius, and its row says so.
- Emergency repair with a published arrival window
- The duct test that explains the upstairs
- The tune-up before the first freeze
- A maintenance plan with a cancel button
- Both systems priced side by side
- Replacement on a fixed monthly payment
- The system that runs at thirty percent
- One room, its own thermostat
- Every job permitted, every card handed over
- Technicians on salary, not commission
- Filtration, humidity and what the meter reads
- The rebate window that closes
A monthly payment is a regulated sentence, and the category's standard ad gets it wrong.
Every other caution on this site is a platform policy. This one is federal law, and it applies whether or not the ad ever reaches Meta. Under Regulation Z — 12 CFR 1026.24(d) — four things are triggering terms in a consumer credit advertisement: the amount or percentage of any downpayment, the number of payments or period of repayment, the amount of any payment, and the amount of any finance charge. State any one of them and the ad must also state the downpayment, the terms of repayment “which reflect the repayment obligations over the full term of the loan, including any balloon payment”, and the “annual percentage rate”, using that term. Subsection (c) adds that a stated rate of finance charge has to be given as an annual percentage rate using that phrase, and (a) that an ad stating specific credit terms may state only terms that actually are or will be arranged or offered.
Now read the trade's house style against that. “New system from $99/month” states the amount of a payment, and states nothing else. It is a triggering term with none of the required disclosure attached, which makes the most-run ad in this category non-compliant by construction — and a generator asked for a financing ad will reach for exactly that shape, because it is the shape of every financing ad on the web.
The good news is on this page. Our own run produced the compliant version by accident: $128 a month, 9.9% APR fixed, a 120-month term, $15,360 total repayable — and $128 × 120 is $15,360 exactly. Its hook is “If a payment plan hides the rate, ask why”, which is a strong line precisely because the reader has probably just been handed a quote that does. Compliance and the better ad are the same ad here. Printing the rate is the differentiator in a trade built on not printing it.
So the instruction is not “consult a lawyer”. Your finance partner already has approved advertising language and a compliance function whose entire job is this rule — ask them for the block and paste it in place of whatever the generator wrote. And check the second footer line before you publish: our ad carried “0% APR 24-month option on Foundation installs booked within 30 days”, which is a second credit offer with its own disclosure obligation.
The same sentence costs you your service area on Meta, and that part is separate. An ad promoting a credit opportunity puts the campaign in the financial products and services special ad category, required in the US since January 2025. That removes location exclusion; removes ZIP, neighbourhood, sub-city and metro-area targeting; floors the radius at 15 miles in the US and Canada; fixes age to 18–65+ and gender to all; and drops lookalike and saved audiences, though Custom Audiences and Advantage+ Audience survive. For a contractor whose service area is a drive time, that is paying to reach households you will decline to visit.
The resolution is structural, not editorial: 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; keep the tune-up, the duct test, the emergency line and the maintenance plan in an ordinary campaign where the tight radius still works. What you must not do is drop a monthly-payment line into a local ad set, 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 trade's second wall is air quality, and it is Meta's. Filtration and humidity are this category's biggest add-on after financing, and the copy drifts into health constantly. “If anyone in your home has asthma” is a second-person assertion about the reader's health, which is on Meta's personal attributes list — the same prohibited construction as the dental “Missing teeth?”, and a question mark is not an exemption. Sell the filtration grade, the humidity range and what the meter reads before and after. Keep the outcome out of it.
And the angle can put the person back even when the offer is a machine. Ten briefs in our run were deliberately written as hardware and contracts — a damper, a duct test, a permit, a heat pump — and the one briefed as a $249 zoning damper still rendered “Stop tiptoeing down that hallway to check on her” across the top of the image, with “every night, another check” beneath it. That is the ad telling the reader a fact about their own household, baked into the pixels where no alternate headline reaches it. Brief the mechanism 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.
Then the failure that recurs most, which is invented proof. The permit ad on our page renders “212 CONSECUTIVE JOBS PASSED ON FIRST INSPECTION” at full height, with “PER COUNTY INSPECTION RECORDS — NOT OUR WORD” beneath it and a PASSED stamp in the corner. All of it invented — and 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. That ad must not run as it stands. The quieter versions are on the same page: “ON-TIME 94% — LAST 30 DAYS”, “median 21% of cooled air lost before it reaches the room”, “3,100+ comparison quotes issued”, “over 14,000 systems installed since 2015”. If a number is your proof, it comes out of your own job records or it comes out of the ad. The practice is always available as a substitute for the tally — “every job permitted, every inspection card handed over” is checkable by the customer at the end of their own job.
Two smaller checks that catch most of the rest. Rendered dates anchor to the model's sense of now rather than to today: our lock-screen ad reads “Monday, September 22”, a real pairing for 2025 and not for the year it ran. And “installed from $5,400” on equipment whose real cost swings with ductwork, electrical and the size of the house is the sort of anchor that produces an angry conversation in a hallway — publish a figure you will honour for a defined scope, or say what the scope excludes.
Last, the specifics are promises the dispatch board has to keep. A published arrival window is kept by the schedule, “cancel from the account, no phone call” by the billing system, a rebate amount by somebody else's programme — link to their page and let them state it. The generator only knows what your site says, so replace every specific with the one your business honours. Advertising a window you miss is the one ad in this trade guaranteed to generate its own rebuttal, in public, with a star rating attached.
Questions
- Does it handle the financing disclosure for me?
- No. It writes creative; it does not know your rate, your term or your lender, and Regulation Z attaches to what the ad says rather than to what the tool intended. The caution above is the rule in full, and the practical route is short: your finance partner has approved language for exactly this, so get the block from them and paste it over whatever came back. Then declare the campaign — the disclosure and the special ad category are two separate obligations that the same sentence triggers.
- Our demand follows the weather. Can it keep up with a cold snap?
- It can have the creative waiting, which is the part that actually helps — a run takes minutes, so generate the cold-snap ads during the shoulder season and hold them. What you should not do is the thing every HVAC guide recommends: nothing in Ads Manager reads a forecast, and a hand edit to an ad set's budget during the snap is a significant edit, which restarts the learning phase on the one morning of the quarter when demand is real. Keep an always-on ad set alive and swap the ads. The creative can chase the forecast; the ad set should not.
- Will it publish ads to my account on its own?
- No. It publishes into an ad set you choose in your own Meta Ads Manager account, and every ad lands paused. It never creates campaigns or ad sets, never edits ads you already have, and never spends budget. In this trade the pause is where the financing line gets read and every rendered number gets checked against your own job records.
- Can I see what it produces before signing up?
- Yes. The HVAC Facebook examples page has ten finished ads published exactly as they were generated, for contractors that do not exist — with the audience, angle and objective each was written for, and the flaws named rather than cropped out, including the one ad on the page that must not run as it stands. Four of the ten are on this page.
Not ready to generate anything yet?
- Facebook ads for HVAC companies → the playbook: objectives, offers, targeting and the mistakes specific to this trade.
- Instagram ads for HVAC companies → the playbook: objectives, offers, targeting and the mistakes specific to this trade.
- HVAC Facebook ad examples → every ad above and the rest of the batch, each with the audience, angle and objective it was written for.
- HVAC Instagram ad examples → every ad above and the rest of the batch, each with the audience, angle and objective it was written for.
Enter your heating and cooling company's website
That is the whole brief. No questionnaire, no uploads, no brand kit to fill in. Free to start, no card — and every ad lands paused, which in this trade is where the financing sentence gets checked.