How are Event Match Quality Scores Calculated?

Overview

Learn how to understand and resolve event match quality warnings, diagnostics errors in Meta Events Manager, and investigate unexpected events after setting up PixelFlow's Conversions API (CAPI).

What You'll Learn

This guide will help you:

  • Understand why PageView events show warnings about empty user data

  • Diagnose and fix reduced lead counts after CAPI installation

  • Investigate phantom or unexpected events in Meta Events Manager

  • Resolve common diagnostics warnings without affecting ad performance

Understanding Event Match Quality Scores

What is Event Match Quality?

Event match quality is a score from 0 to 10 that measures how effectively the customer information sent with your events matches to Meta accounts. Higher scores mean better ad performance and more accurate conversion attribution.

Meta calculates this score based on:

  • The quality of customer information parameters you're sending

  • The percentage of events successfully matched to Meta accounts

  • Data from the last 48 hours of activity

What's a good score? PixelFlow typically achieves event match quality scores of 8.3-9.3/10 for conversion events like Lead, Purchase, and ViewContent. PageView events naturally score lower (often 5-7/10) because they happen before user data is collected.

How EMQ Scores Are Actually Calculated

Through extensive testing and analysis, PixelFlow has reverse-engineered Meta's event match quality scoring algorithm. Here's exactly how much each parameter contributes to your score:

Base Score (Always Available): 5.2/10

These parameters are automatically captured by PixelFlow on every event:

  • fbp (Facebook Browser ID): Cookie identifying the browser

  • IP address: User's network location

  • User agent: Browser and device information

  • Geographic data: Country, state, city derived from IP

Together, these provide a baseline score of 5.2 out of 10, which is why PageView events (with no user-provided data) typically score around 5-6/10.

Additional Parameters and Their Values

Adding user information increases your score as follows:

Parameter

Score Increase

Cumulative Score

Base (fbp + IP + user agent + geo)

5.2/10

Email

+1.7

6.9/10

fbc (Facebook Click ID)

+1.5

8.4/10

Phone number

+1.1

9.5/10

Gender

+0.5

10.0/10

Important finding: First name and last name provide 0 increase to event match quality scores, despite Meta listing them as acceptable parameters. PixelFlow's testing shows they have no measurable impact on EMQ.

Why This Matters for Your Tracking

Understanding the actual score calculation helps you prioritize which data to collect:

  1. Email is the highest-value user parameter (+1.7), making form fields that capture email critical for high EMQ

  2. fbc (click ID) is nearly as valuable (+1.5) and is automatically captured when users click Facebook ads

  3. Phone numbers add significant value (+1.1), so including phone fields in forms boosts scores meaningfully

  4. Don't waste time on first/last names for EMQ purposes - they help with audience building but don't improve match quality

Optimal setup: A Lead event with email + phone number from a user who clicked a Facebook ad (fbc present) will score: 5.2 (base) + 1.7 (email) + 1.5 (fbc) + 1.1 (phone) = 9.5/10 - exactly what PixelFlow typically achieves.

How PixelFlow Discovered This

PixelFlow's engineering team conducted systematic testing by:

  • Sending thousands of test events with different parameter combinations

  • Measuring the exact EMQ score for each combination in Meta Events Manager

  • Isolating the contribution of individual parameters

  • Validating results across multiple ad accounts and data sources

This research allows PixelFlow to optimize which data to capture and send, ensuring you achieve the highest possible event match quality without collecting unnecessary information.

Why Different Events Have Different Scores

It's completely normal for PageView events to have lower match quality scores than events like Lead, Purchase, or ViewContent. Here's why:

  • PageView events fire the instant someone lands on your website, before PixelFlow has any identifying information (name, email, phone)

  • Conversion events (Lead, Purchase, AddToCart) happen later in the journey after users interact with forms or provide information

  • Engagement events (ViewContent, Schedule) occur when users browse products or book calls, when cookies and tracking data are established

For a detailed explanation of why PageView scores are lower, see How To Improve PageView Event Match Quality Score.

Empty User Data Warnings in PageViews

Why This Warning Appears

When you see diagnostics warnings about "empty" values in PageView events, this is by design and does not indicate a problem with your setup.

PixelFlow sends empty values for user data fields (name, email, phone, gender) that aren't available yet when someone first arrives on your page. This prevents confusion where you'd constantly see a low event match quality score (like 5/10) with no clear way to improve it.

Important: These empty data warnings will not affect your ad performance or tracking accuracy. Meta is simply informing you that the event match quality score reflects the actual available data, not missing data.

What Meta's Warning Actually Says

The diagnostics warning typically states something like: "Event match quality score may drop if empty values are sent for user data parameters."

This is Meta's way of saying: "We're receiving your events, but without user data the match quality will be what you see—not artificially inflated."

Should You Fix This?

No action needed. You can safely ignore these warnings for PageView events. Here's why:

  • PageView events are meant to track anonymous traffic at the top of your funnel

  • The warnings don't impact your ad delivery or conversion tracking

  • Your valuable conversion events (Lead, Purchase) will have high match quality with complete user data

  • PixelFlow automatically enriches events with user data as soon as it becomes available

Pro tip: Focus your attention on the event match quality scores of your conversion events (Lead, Purchase, Schedule, SubmitApplication). These are the events that drive ad optimization and should consistently score 8+/10.

Diagnosing Reduced Leads After CAPI Setup

Common Symptoms

After installing PixelFlow's CAPI, some users notice:

  • Fewer leads showing in Meta Events Manager than before

  • Lead counts that don't match form submissions or bookings

  • Diagnostics warnings appearing alongside the drop in leads

Why This Can Happen

The most common causes are:

  1. Deduplication working correctly: Before CAPI, you may have been counting duplicate events. CAPI with proper deduplication removes those duplicates, showing the true lead count.

  2. Tracking configuration issues: Event tracking might need additional setup for forms, buttons, or specific pages.

  3. Bot blocking: PixelFlow blocks bot traffic and duplicate page reloads, which may have been inflating your previous lead counts.

  4. Diagnostics errors: Technical issues that need resolution (covered in next section).

Step-by-Step Diagnostic Process

1. Check Your Event Match Quality

Go to Meta Events Manager and click on your data source:

  1. Navigate to the Overview tab

  2. Look at your Lead or conversion event

  3. Click on the event match quality score

  4. Review which parameters are being sent

Good sign: If your Lead events show 8+/10 event match quality, your CAPI setup is working correctly and sending proper user data.

2. Review the Diagnostics Tab

Check for active errors that might be blocking events:

  1. Go to Events Manager

  2. Click Data sources on the left

  3. Select your Pixel/data source

  4. Click the Diagnostics tab

  5. Review any active issues

Common diagnostics errors and their meanings:

  • "Event parameter value is invalid": Check that your event URLs or tracking classes are configured correctly

  • "Missing required parameters": Ensure value and currency are set for Purchase events

  • "Multiple Pixels detected": Remove any duplicate Meta Pixel code from your site

3. Verify Your Tracking Setup

Ensure your forms, buttons, and conversion pages are properly configured:

  • For form tracking: Check that you've added the required classes to capture name, email, and phone fields. See tracking guides for your platform.

  • For URL-based tracking: Verify that your thank you pages or confirmation URLs are correctly entered in the PixelFlow dashboard

  • For button clicks: Confirm that click tracking classes are applied to your CTA buttons

4. Test Your Events in Real-Time

Use Meta's Test Events tool to see events as they fire:

  1. Go to Events Manager

  2. Select your data source

  3. Click Test events in the left menu

  4. Enter your website URL or select browser tracking

  5. Perform a test conversion on your website

  6. Watch for the event to appear in the Test Events panel

Important: If test events show up correctly but you're still seeing reduced leads in reporting, wait 72 hours. Meta diagnostics can take up to 3 days to clear after issues are resolved.

5. Check the PixelFlow Events Log

Your PixelFlow dashboard shows every event sent to Meta:

  1. Log into your PixelFlow account

  2. Navigate to Events Log

  3. Filter by event type (Lead, Purchase, etc.)

  4. Compare the count to what Meta Events Manager shows

If PixelFlow shows more events than Meta, there may be a matching or deduplication issue. If counts are similar, your tracking is working correctly.

Common Fixes for Reduced Leads

Fix 1: Add Missing Tracking Classes

If you're tracking form submissions, you need to add specific classes to form fields so PixelFlow can capture user data:

  1. Identify which form fields need tracking (email, name, phone)

  2. Add the appropriate PixelFlow classes to each field

  3. Publish your changes

  4. Test the form submission

Without these classes, PixelFlow can detect the form submission but cannot send user information parameters, resulting in lower event match quality.

Fix 2: Remove Duplicate Pixel Code

If you have the Meta Pixel installed directly on your site and PixelFlow is also running, you'll get duplicate events and diagnostics errors:

  1. Check your website's code injection areas or header scripts

  2. Look for scripts starting with <script>!function(f,b,e,v,n,t,s)

  3. Remove the old Meta Pixel code

  4. Keep only the PixelFlow script

PixelFlow provides both client-side (Pixel) and server-side (CAPI) tracking automatically, so you don't need separate Pixel code.

Fix 3: Mark Diagnostics Issues as Resolved

After fixing the underlying issues:

  1. Go to the Diagnostics tab in Events Manager

  2. Click Review Solution next to each error

  3. Select Mark as resolved or indicate you've fixed the issue

  4. Wait 72 hours for Meta to verify the fix

If the issue is truly resolved, Meta will automatically move it to "Previously detected." If it reappears, you'll need to investigate further.

Investigating Phantom or Unexpected Events

What Are Phantom Events?

Phantom events are conversion events (like Lead or Purchase) that appear in Meta Events Manager but don't correspond to actual form submissions, bookings, or purchases. They can also be events that fire multiple times for a single action.

Common Causes

1. Testing or Admin Traffic

If you or your team are testing forms or clicking through your site, those actions can trigger real events:

  • Form submissions during testing

  • Page visits to confirmation URLs

  • Button clicks while reviewing your site

2. Facebook's Web Crawlers

Meta's bots (FacebookExternalHit, Meta-ExternalFetcher) can crawl your site and trigger events if they visit event URLs like thank-you pages or confirmation pages.

How to identify bot traffic: Check the PixelFlow Events Log or Meta Test Events for the user agent. Bot events will show user agents like "FacebookExternalHit" or "facebookexternalfetcher."

3. Malformed Event Triggers

Events configured incorrectly can fire at the wrong time:

  • Lead events firing on button click instead of form submission success

  • Purchase events firing on product page views instead of order confirmation

  • Multiple event classes applied to the same element

4. Duplicate Event Code

If you have custom event tracking code in addition to PixelFlow, events may fire twice:

  • Old GTM (Google Tag Manager) tracking still active

  • Custom JavaScript triggering Meta Pixel events

  • Platform-specific integrations (like Webflow or Squarespace) also sending events

How to Investigate Phantom Events

Step 1: Get Event Details from PixelFlow

Contact PixelFlow support with the date and time of the unexpected event. They can provide the full event payload, which includes:

  • IP address and location: See where the event originated

  • User agent: Identify if it was a bot or real browser

  • Event source URL: The page that triggered the event

  • fbclid parameter: Shows if the user came from a Facebook ad click

  • User journey: All pages visited before the event

Example payload insight: If the fbclid parameter shows just "fbclid" instead of a long string like "PAZXh0bgNhZW0BMABhZGlk...", it indicates a test or bot visit, not a real user from an ad.

Step 2: Check Event Source URL

Look at where the event fired:

  • Is it the correct confirmation or thank-you page?

  • Did it fire on a page you're using for testing?

  • Is there custom code on that page triggering events?

If the event fired on an unexpected page, you may have:

  • The wrong URL configured in PixelFlow event settings

  • Event classes accidentally added to multiple pages

  • Custom code or integrations firing events

Step 3: Review Platform-Specific Integrations

If you're using Webflow, Framer, or Squarespace, check for:

  • Webflow: Custom code in page settings or interactions triggering events

  • Framer: Multiple tracking scripts or incorrect class assignments on components

  • Squarespace: Built-in Meta integrations that might duplicate PixelFlow events

Step 4: Use Test Events to Reproduce

Try to recreate the phantom event:

  1. Open Meta Events Manager Test Events

  2. Navigate to the page or perform the action that should trigger the event

  3. Watch for any unexpected events in the test panel

  4. Note the exact moment events fire (page load, button click, form submission)

This helps you identify whether events fire too early (on page load instead of form submit) or multiple times (once from PixelFlow, once from custom code).

Fixing Phantom Events

Fix 1: Block Meta Bots with robots.txt

To prevent Facebook's web crawlers from triggering events on confirmation pages:

  1. Access your website's robots.txt file (usually at yoursite.com/robots.txt)

  2. Add these lines:

User-agent: FacebookExternalHit
Disallow: /thank-you
Disallow: /confirmation

User-agent: Meta-ExternalFetcher  
Disallow: /thank-you
Disallow: /confirmation

Replace /thank-you and /confirmation with your actual conversion page URLs.

Note: Meta-ExternalFetcher may bypass robots.txt for security checks, and FacebookExternalHit may bypass it for user-initiated requests. This fix helps but may not block 100% of bot visits.

Fix 2: Move Event Trigger to Form Success

If Lead events fire on button clicks instead of successful form submission:

  1. Remove event tracking classes from the submit button

  2. Add them only to the form element itself

  3. Configure event triggers based on successful submission (thank-you page load or success message)

  4. Test to ensure events only fire after form validation passes

Fix 3: Remove Duplicate Tracking Code

Search your website for any duplicate event tracking:

  • Check page-specific custom code sections

  • Review Google Tag Manager for old Facebook Pixel tags

  • Disable platform integrations (Webflow/Squarespace Meta apps)

  • Remove any fbq('track', 'Lead') calls in custom JavaScript

PixelFlow handles all event tracking, so additional tracking code will create duplicates.

Fix 4: Use Event Deduplication

PixelFlow automatically deduplicates events using unique event IDs. If you see duplicate events in Meta Events Manager:

  1. Check that you don't have multiple Pixels sending the same event

  2. Verify only PixelFlow is sending server events (check for "Server" label in Events Manager)

  3. Contact PixelFlow support to confirm deduplication is enabled

Learn more about how PixelFlow handles deduplication in Are events deduplicated by PixelFlow?

Understanding the Diagnostics Tab

Accessing Diagnostics

The Diagnostics tab in Meta Events Manager is your main tool for identifying issues:

  1. Go to Meta Events Manager

  2. Click Data sources on the left

  3. Select your Pixel or dataset

  4. Click the Diagnostics tab

A red icon next to your data source indicates critical issues that need attention.

Types of Diagnostics Messages

Critical Errors (Red)

These prevent events from being tracked and need immediate attention:

  • Pixel not firing on any pages

  • Invalid Pixel ID or access token

  • Events blocked by Content Security Policy

Warnings (Yellow)

These may affect data quality but don't stop tracking:

  • Empty user data parameters (covered above)

  • Missing value or currency on Purchase events

  • Event parameter formatting issues

Info Messages (Blue)

These are informational and rarely require action:

  • Suggestions to improve match quality

  • Notifications about event volumes

  • Tips for better tracking

How to Clear Diagnostics Warnings

  1. Click Learn how to fix this issue for detailed guidance

  2. Follow the recommended steps to resolve the issue

  3. For web and app issues, click Review Solution

  4. Mark the issue as resolved

  5. Wait 24-72 hours for Meta to verify

If Meta doesn't detect the issue the following day, it automatically moves from "Active" to "Previously detected."

Success indicator: When diagnostics warnings move to "Previously detected" and stay there, your fix worked. If they reappear after 3 days, the underlying issue isn't fully resolved.

Best Practices for Maintaining High Event Quality

1. Focus on Conversion Events

Prioritize event match quality for events that drive ad optimization:

  • Lead

  • Purchase

  • CompleteRegistration

  • Schedule (for booking appointments)

  • SubmitApplication

These events should consistently score 8+/10 in event match quality.

2. Send Complete User Data

Based on PixelFlow's research into EMQ scoring, prioritize capturing these parameters:

Priority

Parameters

EMQ Impact

Critical

Email

+1.7 points

High

fbc (Click ID - automatic from ads)

+1.5 points

High

Phone number

+1.1 points

Low

Gender

+0.5 points

None

First name, Last name

No measurable impact

PixelFlow automatically captures base parameters (fbp, IP, user agent, geo) worth 5.2 points. When you configure form tracking to capture email and phone, you can reach 9.5/10 for users coming from Facebook ads.

Quick win: Focus your form tracking setup on email and phone fields. These two parameters alone can take your score from 5.2 (base) to 8.0/10, even without ad click data.

For more details on event parameters, see Required Meta Events Parameters.

3. Monitor Regularly

Check your event match quality and diagnostics weekly:

  • Review scores in Meta Events Manager

  • Check the PixelFlow Events Log for unusual patterns

  • Look for spikes or drops in event volumes

  • Verify conversions match your actual business results

4. Test After Any Website Changes

Whenever you update your website, forms, or tracking setup:

  1. Test events using Meta's Test Events tool

  2. Submit a test form and verify the Lead event fires

  3. Check that user data parameters are captured

  4. Confirm event match quality remains high

5. Keep PixelFlow and Meta Pixel Code Separate

Never run both PixelFlow and standalone Meta Pixel code. PixelFlow includes:

  • Meta Pixel (client-side tracking)

  • Conversions API (server-side tracking)

  • Automatic deduplication

  • Bot blocking

Additional Pixel code creates duplicates and lowers data quality.

When to Contact Support

Reach out to PixelFlow support if:

  • Event match quality remains below 7/10 for conversion events after following this guide

  • You continue seeing reduced leads 72 hours after fixing diagnostics issues

  • Phantom events appear regularly and you can't identify the source

  • Critical errors in diagnostics persist after attempting fixes

  • You need the full event payload to investigate a specific event

PixelFlow support can access backend logs, event payloads, and server-side data that isn't visible in Meta Events Manager, making it easier to diagnose complex issues.

Was this helpful?