What low Event Match Quality scores do to your Meta leads (and the CAPI setup that fixes it)
If your Meta leads have been getting worse over the past year or two, and you can't point to anything obvious you changed, the problem might be sitting inside your Events Manager, not your ad creative or your targeting. Specifically, it might be your Event Match Quality score. Most contractors who've hired agencies to run their ads have never been shown this number. Most agencies never mention it.
What Event Match Quality actually measures
Meta's algorithm matches a conversion event (a form submission, a call, a booked appointment) back to an actual Facebook or Instagram user profile. The better that match, the more precisely Meta understands who converted, and the better it can find more people who look like them. Event Match Quality (EMQ) is the score, on a 0-to-10 scale, that tells you how clean that matching is.
Drop below 6.0 and the matching starts to fall apart. Meta is still recording that conversions happened, but it's working with incomplete information about who those people actually are. The practical consequence: the algorithm starts optimizing toward users it can only partially identify, which tends to mean lower intent, harder to reach, geographically scattered, or just wrong-fit leads. You don't see this directly in the campaign dashboard. What you see is leads who don't pick up, leads who were looking for something different, or a cluster of inquiries from areas you don't serve. For a solo detailer or a one-truck painter, one week of that costs real money.
The reason EMQ degrades is usually a signal loss problem. iOS privacy changes reduced the data the standard Meta pixel can capture from website traffic. If your landing page or lead form is passing only an email address back to Meta, you're giving the algorithm one data point to match against. If you're passing email plus phone number plus first and last name plus location, the match rate goes up substantially. The difference between a 4.5 EMQ and a 7.5 EMQ is often just the difference between passing one customer data field and passing five.
Why GoHighLevel setups often cause this problem by default
GoHighLevel is the CRM most home service marketing agencies use to host funnels and route leads. It works. But the default GHL setup does not automatically pass customer data back to Meta's Conversions API in a way that improves EMQ. Out of the box, many GHL funnels fire a pixel event when someone lands on a thank-you page, and that's it. One server-side event, minimal customer data, no phone number, no name fields mapped.
Conversions API (CAPI) is Meta's server-side tracking method, designed specifically to replace or supplement the browser-based pixel after the iOS signal loss. The difference between a browser-side pixel firing and a CAPI event firing is the difference between Meta seeing a shadow of a conversion and Meta seeing the actual customer data. When CAPI is configured properly inside GHL, the form submission passes hashed versions of every field the prospect filled out: name, phone, email, city, zip. Meta matches that against its user database and the EMQ score goes up.
The specific configuration that matters: inside GHL, under the funnel settings, there is a "Meta Pixel" tab and a separate "Conversions API" section. Both need to be active. The CAPI integration requires a system user access token from Meta Business Manager, linked to the correct ad account and pixel. The event must be mapped to the right funnel step, typically the thank-you page after form submission, not the landing page itself. And the form fields must be mapped to the correct CAPI parameters: "fn" for first name, "ln" for last name, "ph" for phone, "em" for email, "ct" for city, "zp" for zip. If any of those mappings are missing or pointed at the wrong field, the data doesn't pass, and your EMQ stays low regardless of whether CAPI is technically "enabled."
Duplicate event firing is a separate issue. If the browser pixel and CAPI are both firing the same event without deduplication enabled, Meta sees the conversion twice. This inflates your reported conversion count and, more importantly, corrupts the optimization signal. GHL has a deduplication field, the event ID, that needs to be populated and consistent between the browser event and the CAPI event. Most out-of-the-box agency setups skip this step.
What a properly configured setup looks like in practice
A correctly configured GHL-to-CAPI pipeline for a local service business looks like this: prospect fills out a landing page form requesting a quote; GHL fires both a browser-side pixel event and a CAPI event simultaneously; the CAPI event passes hashed customer data (name, phone, email, zip at minimum); the event ID matches between the two events to prevent duplicate counting; Meta receives the CAPI event, matches it to a user profile with enough data points to hit an EMQ above 6.0; the campaign's optimization signal improves; and over the following weeks, the algorithm finds more people who resemble the actual customers, not just the partial data shadows it was working with before.
The Safe Step account (rubber resurfacing, $2,800 total ad spend) generated 247 leads at $11 per lead. That cost-per-lead only works if the algorithm is finding the right people efficiently. Geographic and demographic precision at that scale is not an accident; it requires clean conversion data flowing back to Meta so the system knows exactly who to keep targeting. EMQ is part of what makes that math possible.
For a contractor in a specific service area, say a detailer who can only work within a 30-minute radius, this matters more than it does for a national brand. Every dollar of ad spend optimizing toward the wrong geography is a wasted dollar. A low EMQ score means Meta is partially guessing about who converted and where they were, which means the lookalike targeting drifts. Sabro, a detailer who came to ASN after a previous agency generated leads from 1.5 hours away, was experiencing exactly this. Geographic targeting settings alone don't solve a signal quality problem. The data flowing back to Meta has to tell it which conversions actually mattered.
What to ask before running another Meta campaign
Before agreeing to run ads with any agency, ask to see two things in your Events Manager: the EMQ score on your primary conversion event, and whether CAPI is active on your pixel. Both are visible inside Meta Business Suite under Events Manager, then your pixel, then the "Overview" tab. An EMQ below 6.0 with no CAPI active means the agency is running campaigns on degraded signal. Ads can still generate leads that way, but you're paying for the algorithm to learn slowly, with incomplete information, in a geography that might not match your actual business.
If you want to see how ASN sets up tracking before you decide anything, the contact page is the right starting point. There's no setup fee and no contract, so the question of whether the configuration is done right gets answered before you've committed to anything.
ASN manages Meta ads for home service contractors with no setup fee and no contract. If you want to see what this looks like for your trade before committing to anything, the contact page is the right next step.
See how it works for your business