CRM match rate
The share of the booked jobs you upload that Meta can tie back to someone it showed an ad to.
When you upload booked jobs back to Meta, it tries to match each one to a person in its own records using the hashed identifiers you sent. Some match, some do not. The match rate is the share that did.
Why it matters for HVAC
A low match rate quietly cancels the whole exercise. You can do everything right, wire the CRM up, upload every booked install, and still teach Meta nothing, because it could not work out who those installs were. The effort is invisible from the dashboard, which shows the upload succeeding either way.
For contractors the usual culprit is phone number formatting. A CRM holding numbers as typed by whoever answered the phone produces a dozen formats, and only some of them normalise cleanly.
How it is measured
Events Manager reports it per upload. As a rough working line, below about half and the upload is not doing enough to change delivery. Above about three quarters and it is genuinely feeding the auction.
A worked example
A contractor uploads 40 booked installs a month. At a 35% match rate Meta learns from 14 of them, which is too few to shift how it buys. Normalising phone numbers to a consistent international format and adding email where the office captured it takes the same 40 uploads to a 78% match, and now 31 real customers are shaping who the campaign looks for.
These figures are invented to show the arithmetic. They describe no real business.
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.