Offline conversion upload
Telling Meta which of the leads it sent you turned into actual work, by uploading that outcome back as a conversion event.
A homeowner fills in your instant form on Tuesday. Your office calls them Wednesday, books a system replacement for Friday, and the job goes into your CRM. Meta knows about the form fill. It knows nothing about the install, because the install happened in a driveway and no pixel fires in a driveway.
An offline conversion upload closes that gap. The booked job is sent back to Meta through the Conversions API, carrying a hashed email address or phone number so Meta can match it to the person who filled in the form. The campaign now has a signal about which leads became customers.
Why it matters for HVAC
HVAC has a wide gap between a lead and a job, and the money lives in that gap. A tune-up enquiry and a full system replacement both arrive as one form fill. They are worth wildly different amounts, and an account optimising on form fills treats them as the same event.
Meta goes looking for more of whatever you tell it is good. Tell it a form fill is good and it finds people who fill in forms, which in some markets is a specific kind of person who fills in a great many forms. Tell it a booked install is good and it goes looking for the homeowner whose eighteen-year-old condenser is about to fail.
How you would know it was working
Three numbers, and an agency doing this will have all three to hand. CRM match rate, the share of uploaded jobs Meta can tie back to a real person. Event match quality on the uploaded event, scored out of ten. And cost per booked job, before and after, which is the one that matters and the one almost nobody in this market reports.
A worked example
A contractor spends $6,000 in a month on instant-form campaigns and gets 120 leads, so $50 a lead. The office books 12 of them. Cost per booked job is $500, and that is the real number even though every report on the desk says $50.
Break those 120 leads apart by ad set and something the average was hiding shows up. One ad set produced 74 leads at $38 and booked 3, which is $937 a booked job. Another produced 46 leads at $67 and booked 9, which is $342. The cheaper leads were nearly three times more expensive once they turned into work, and an account optimised on cost per lead would have moved budget toward the worse one.
Uploading those 12 booked jobs back to Meta hands the delivery system the same conclusion the contractor just reached with a calculator, and it applies it to every auction from then on rather than at the next monthly review. These figures are invented to show the arithmetic and they describe no real business.
What it is not
This is not your leads appearing in your CRM, although the two get described in the same words. Lead delivery moves a name into your software. An offline conversion upload moves an outcome back to Meta. An agency can do the first perfectly and never do the second, and on this ledger that gap is worth ten points.
Where this is demonstrated
The Tracking and the Conversions API pillar scores every listed agency on what they document here, and gives you the questions that tell you which one you are being sold.