Introduction

The honest answer to how to check if Conversion API is working is this: ignore every status dashboard inside your plugin or gateway, and go directly to three specific diagnostic areas inside Meta Events Manager instead. Real-time payload receipt, event deduplication matching, and Event Match Quality scores are the only signals that actually confirm your server-side data is reaching Meta's machine learning engine in a usable form. Everything else is a UI comfort blanket.

Here's the context that matters. Most media buyers set up CAPI through a WordPress plugin, a Shopify app, or a server gateway like Stape, see a green dot labeled "Connected," and move on. Weeks later, they're staring at purchase numbers that look inflated, CPAs that don't match their payment processor, or a sudden drop in reported conversions after an iOS update. None of that is random. It's almost always a tracking problem hiding behind a checkmark. This guide walks through how to test Meta server events properly, how to run a real Facebook CAPI deduplication check, and how to read event match quality in Events Manager so you actually know what Meta is receiving.

Why the "connected" status means almost nothing

I'll be blunt: that green checkmark is one of the most misleading UI decisions in digital advertising. It confirms a handshake happened. It does not confirm clean data is flowing.

Think of it this way. A green status tells you the door between your server and Meta's endpoint is open. It says nothing about whether the packages being delivered through that door are intact, correctly labeled, or being accepted without errors. You could have a CAPI integration showing "Active" while simultaneously sending malformed payloads, duplicate events without matching IDs, or customer information so incomplete that Meta can't match it to a real person.

This is why knowing how to check if the Conversion API is working goes beyond the plugin dashboard. Server events run entirely in the background. The Meta Pixel Helper browser extension, which a lot of people reflexively open when troubleshooting, only reads browser-side events. It's blind to server events. You need Meta's native diagnostic tools for this, full stop.

The three pillars I'm about to walk through are what separate a CAPI setup that's genuinely training the algorithm from one that's creating noise.

Pillar one: verifying real-time payload receipt in Events Manager

Go to Events Manager inside Meta Ads Manager. Select your pixel, then click the "Test Events" tab. This is where you test Meta server events in real time, not after the fact.

In the Test Events tool, you'll see a field for a "Test Event Code." Your CAPI integration, whether it's a plugin, Stape's CAPI gateway, or a custom server setup, should have a field where you paste this code. Once connected, trigger a real event on your site: load a page, add a product to cart, or complete a purchase in a test environment. Watch the Test Events panel. You should see two rows appear for each action: one labeled "Browser" and one labeled "Server." Both should fire. If you only see "Browser," your server events aren't reaching Meta.

Honestly, this is the step most people skip entirely. They send traffic, wait 24 hours, and look at Ads Manager reporting. By then you've already wasted the budget on a broken integration.

One thing to check immediately: latency. Server events should arrive within a few seconds of the browser event. If you see a significant delay, or events arriving in batches hours later, Meta's optimization algorithm is working with stale signals. That degrades bidding performance in ways that are hard to diagnose later.

Pillar two: the Facebook CAPI deduplication check you're probably skipping

This is probably the most misunderstood part of a dual browser-plus-server setup. When you run both the Meta Pixel and CAPI simultaneously (which you should), Meta needs a way to know that the "Purchase" event from your browser and the "Purchase" event from your server are the same transaction, not two separate sales.

That mechanism is the Event ID. Every browser event your pixel fires needs to carry a unique Event ID. Your server event needs to send the exact same Event ID for the same transaction. Meta matches them and deduplicates, counting it as one event.

To run a proper Facebook CAPI deduplication check, go back to the Test Events tool. After triggering a test purchase, look at the event log. If deduplication is working correctly, you'll see the event pair labeled "Deduplicated" in the panel. If you see two separate events with no deduplication label, your Event IDs aren't matching. That means every transaction is being double-counted in your reporting, and your reported ROAS is inflated compared to actual revenue.

I've seen accounts where reported purchases were nearly double the real number because of this exact failure. The fix isn't complicated, but finding it requires actually running this check rather than assuming it works.

To fix mismatched Event IDs: verify that your pixel code is generating the Event ID client-side and passing it to your server integration. Most quality CAPI plugins handle this automatically, but custom setups often break here. The Facebook CAPI deduplication check in the Test Events tool will show you immediately whether the IDs align.

Pillar three: event match quality in Events Manager and why it controls your CPAs

Event Match Quality (EMQ) is a score from 0 to 10 that Meta assigns to your server events based on how much usable customer data they contain. To find it, go to Events Manager, select your pixel, and look at the "Overview" tab. Your server events will show an EMQ score next to them.

Anything below 6.0 is a problem. A score above 7.0 is where you want to be. Event match quality in Events Manager directly impacts how well Meta can match your server events to actual Facebook users, which in turn controls how effectively the algorithm can optimize your campaigns. Low EMQ means Meta is receiving events it can't reliably attribute to a person, so that data barely moves the needle for bidding optimization.

The parameters that drive EMQ higher are: email address (hashed), phone number (hashed), first name, last name, and external ID. The more of these your server events include, the higher your score. If you're running CAPI through a checkout page and only passing IP address and user agent, your EMQ is going to be terrible, and you'll wonder why your CPAs keep climbing despite having "tracking set up."

To fix Facebook tracking data loss from low EMQ: audit what data your CAPI integration is actually sending. Most plugin dashboards will show you the parameters included in recent events. Cross-reference that against what your checkout or lead form is actually collecting. The gap between what you could send and what you are sending is usually where the problem lives.

The Reddit community on Facebook Ads frequently flags EMQ as the overlooked fix for mysteriously rising CPAs. Target a score above 6.0 as a baseline, and push toward 8.0 or higher if your data collection allows.

How to fix Facebook tracking data loss when all three pillars fail

When you've run the diagnostics and found failures across payload receipt, deduplication, and EMQ, here's the order I'd fix them.

First, confirm your server events are reaching Meta at all using the Test Events tool. No server events showing up means the integration itself is broken, either a misconfigured webhook, a wrong access token, or a gateway issue. Fix this before anything else. Knowing how to check if the Conversion API is working starts here.

Second, address Event ID mismatches for the Facebook CAPI deduplication check. Your pixel and your server event must share the same unique string per transaction. If you're on a platform like Shopify or WooCommerce with a quality CAPI plugin, check the plugin settings for an "event deduplication" or "event ID" option. Enable it if it's off.

Third, improve your EMQ score by enriching the data your server events send. Add email and phone as hashed parameters at minimum. If your platform supports it, include external customer IDs. Each additional parameter can push your event match quality in Events Manager up meaningfully.

Finally, use the Diagnostics tab in Events Manager to check for any active warnings. Meta-surfaces errors there that won't appear anywhere else: things like parameter format issues, duplicate event ID collisions, or high-latency warnings. This tab is underused, and it often contains the exact error message you need to fix Facebook tracking data loss.

How Roaspy fits into this

Running these manual audits inside Events Manager is necessary, but it's also tedious when you're managing multiple campaigns or client accounts. This is exactly where I lean on Roaspy.

Roaspy is the tracking tool I built because I got tired of legacy platforms that charged a premium to do less. Tools like HYROS start at $230/month (and climb fast depending on your revenue), ClickMagick starts at $79/month for a limited Starter tier, and AnyTrack starts at $100/month. Roaspy's paid plan starts at $47/month, and the free plan covers accounts up to $1,500 in ad spend. No gated features. Every plan gets the full customer journey, CAPI for both Meta and Google Ads, and the Chrome extension that surfaces real-time data directly inside your Ads Manager.

What makes it different for CAPI specifically is the use of FingerprintJS technology. This dramatically improves user identification accuracy, which directly lifts your Event Match Quality scores. Better EMQ means your server events are actually training the Meta algorithm rather than creating noise. I started using Roaspy after spending months frustrated with inflated numbers from a mismatched deduplication setup on a client account. The difference in data accuracy was visible within days.

If you're serious about knowing how to check if Conversion API is working on an ongoing basis rather than just once, you need a tool that monitors this continuously, not just when you manually log in to Events Manager.

Start with the free plan at https://roaspy.com and see what your actual data looks like.

Frequently asked questions

Q: Can I use the Meta Pixel Helper to check if my CAPI is working? 

A: No. The Meta Pixel Helper only reads browser-side events fired by your pixel code. It's completely blind to server-side events sent through CAPI. To test Meta server events, you need to use the Test Events tool inside Meta Events Manager.

Q: What's a good Event Match Quality score in Events Manager? 

A: Aim for 7.0 or above. Scores below 6.0 indicate your server events don't contain enough customer data for Meta to reliably match them to real users, which weakens your campaign optimization significantly. Passing hashed email and phone numbers will usually push a low score up fast.

Q: How do I know if my Facebook CAPI deduplication check is passing? 

A: Trigger a test event using the Test Events tool in Events Manager and watch the event log. If deduplication is working, you'll see the event pair (browser + server) labeled "Deduplicated." If you see two separate events without that label, your Event IDs aren't matching and you're double-counting conversions.

Q: Why are my reported conversions in Ads Manager higher than my actual sales? 

A: This is almost always a deduplication failure. When your browser pixel and server events fire without matching Event IDs, Meta counts them as two separate conversions. Run the Facebook CAPI deduplication check in the Test Events tool to confirm whether this is happening.

Q: Does CAPI replace the Meta Pixel, or do I need both? 

A: You need both for the strongest signal. The Pixel captures browser-side data including the fbp cookie, a strong match parameter while CAPI sends events server-side. Running both with proper deduplication gives Meta the most complete picture. That said, CAPI-only is valid and fully supported, and it's the standard approach for offline conversions and CRM events where browser tracking isn't available.

Q: How often should I audit my CAPI setup? 

A: At minimum, check it after any site update, plugin update, or platform change. I also recommend a monthly check of your Event Match Quality scores in Events Manager. Scores can degrade over time as checkout flows change or data collection settings shift.

My final thoughts

Most media buyers treat CAPI as a one-time setup task. Install the plugin, see the green dot, move on. I used to approach it the same way. It took a client account where we were reporting 2x the actual purchase volume before I dug into what was really happening.

The verification process I've laid out here takes maybe 20 minutes the first time you do it. Checking real-time payload receipt in the Test Events tool, running a proper Facebook CAPI deduplication check, and reviewing your event match quality in Events Manager aren't advanced technical tasks. They're just steps that most people don't know exist because nobody talks about them clearly.

If you fix Facebook tracking data loss at the source, everything downstream gets better. Your CPAs make sense. Your ROAS figures match your payment processor. Your budget decisions are based on real data instead of inflated numbers. That's the whole game.

The next time someone asks you how to check if the Conversion API is working, send them this. And if you want a tracking setup that handles a lot of this monitoring automatically and sends cleaner data to Meta than most setups I've ever audited, go try Roaspy for free at https://roaspy.com. The free plan is a real starting point, not a stripped-down teaser.

Your ad spend deserves accurate data. Go verify your setup today.