Facebook Event Match Quality Score – Everything You Need to Know


In this detailed article today, we focus on the Facebook Event Match Quality score. This score is a key indicator of how effectively server-sent customer data matches Facebook user accounts, which has a direct impact on the performance and accuracy of FB ad campaigns.

We discuss what this score means, why it matters, and how recent privacy changes, such as the iOS 16 update, have affected the dynamics of event matching. In addition, we provide insight into techniques to improve Event Match Quality, such as setting up a custom domain and identifying the right parameters for effective data transfer.

Key Points 🔑

  1. The Facebook Event Match Quality Score is a key indicator that measures how accurately server-sent customer data matches Facebook user accounts, essential for targeted ad campaigns.
  2. Effective user matching techniques such as deterministic and probabilistic matching play a key role in improving Event Match Quality.
  3. Recent changes in privacy laws, such as the iOS 16 update, have significantly impacted event matching methods and effectiveness.
  4. Optimizing the Event Match Quality Score requires strategies such as setting up custom domains and carefully selecting relevant data parameters.

What is the Facebook Event Match Quality Score?

The Facebook Event Match Quality Score is an indicator of the effectiveness with which customer data submitted by servers link events to Facebook user accounts.

If the score increases, it means more accurate customer data has been submitted to Facebook. This results in better-performing ads because Facebook uses this data to more effectively target and tailor ads to the right audiences.

By comprehensively evaluating the customer information sent, this score allows marketers to fine-tune their targeting strategies and achieve maximum impact.

Below is an example of an EMQ score from the event new registration.


General User Matching Techniques

  1. Deterministic Matching: This is the most direct form of user matching. It requires specific and unambiguous user data, such as email addresses or phone numbers, that allows Facebook to establish a direct link between an action on your site and an individual user on the platform.
  2. Probabilistic Matching: This method is more complex and uses statistical models to calculate probabilities that an anonymous visitor matches a known user. This technique is useful when the available information is insufficient for deterministic matching.

The Rise of Privacy and the Consequences for Event Match Quality:

With recent developments in privacy laws, such as the iOS 16 update, the way personal data is collected and used has changed dramatically. These shifts have a major impact on the quality of event matching, as traditional methods of data collection have become less effective. In response, marketers must develop new strategies that both meet privacy requirements and maintain the effectiveness of their campaigns.

Why Event Match Quality is Important

A high EMQ score means that ads can be more accurately attributed to specific user actions, leading to better targeting and optimization of ad delivery.

Here is a more comprehensive table of the customer information parameters Facebook uses for matching, ranked by estimated importance:

Customer information parameterDescriptionImportance for Event Match Quality.
EmailPersonal or business e-mail address of the user.Important for unique user identification.
Mobile numberUser phone number.Important for instant communication and identification.
IP address & user agentUser’s unique network address and browser characteristics.Necessary for all web events.
fbp (browser ID)Unique browser identifier, often used for tracking.Must be submitted with each server event.
fbc (click ID)Unique ID for click events from Facebook ads.Important for tracking ad interactions.
First nameThe first name of the user.Helps refine user matching.
SurnameUser’s last name.Supports more accurate user identification.
Date of birthUser’s date of birth.Can help with demographic targeting.
GenderGender of user.Useful for gender-specific marketing strategies.
AddressAddress information, including city, state, zip code and country code.Important for location-based targeting.
Facebook login IDUnique identifier for users on Facebook.Important for direct user matching.

Leads ID
The ID associated with a lead generated by Meta’s Lead Ads.Helps for tracking lead-specific activity.
Subscription IDUnique identifier for subscriptions or memberships.Can help identify customer loyalty.
External IDExternal identifier used for linking user data.Useful for linking data from different sources.

How Event Match Quality Is Calculated.

Calculating Event Match Quality is a complex process that looks at both the quality and quantity of customer information sent. It takes into account the precision of the data and the frequency with which it matches Facebook accounts. This score is updated daily and provides valuable insights into the effectiveness of your data collection methods.

Where can you find the EMQ?

You can find this EMQ score in the Events Manager. Go to Facebook Business Manager ⮕ Data Sources ⮕ Datasets ⮕ Open in Events Manager ⮕ select pixel ⮕ Overview.


What is an Average Event Match Quality Score?

The average Event Match Quality score (max 10/10) may vary depending on the event type and the quality of the data submitted.

Page View and View Content events normally have the worst match quality. This is mainly because these events are captured when visitors leave the site and have not yet provided data.Quality scores for such events usually range from 3/10 to 5/10.

Other events such as Add Payment Info and Purchase should provide much more customer information, as visitors at that stage of the funnel have usually shared many personal details such as e-mail address and zip code. You should expect a score of 6+ for events deeper in the funnel.

rating brakedown facebook emq score

Many people worry when they have an Event Match Quality around 6. This does not have to be so bad. Facebook sends so many suggestions to improve Event Match Quality because they want to collect as much user data as possible.

Optimizing Facebook Event Match Quality.

How Can You Improve Facebook Event Match Quality?

By making sure you are passing on all the parameters Facebook needs for best attribution, you increase the EMQ. By following the following steps, you can improve the amount and quality of data you send to Facebook, leading to a higher Event Match Quality score and better campaign results.

The most important thing is that the EMC of Conversions you bring in have a good score. This is where Facebook tries to steer the most.

1. Set up custom domain

If you set up the Facebook Conversion API through Google Tag Manager, it is advisable to use a custom subdomain for your tagging server URL. This is how you switch from a 3rd party to a 1st party cookie, which increases tracking accuracy and sets _fbp and _fbc correctly. Although not required, this helps improve your Facebook Match Quality score. To make the Facebook Conversion API work, you must first configure a server container.Learn to set up the basics of GTM Server Side Tracking.

2. What Parameters Do I Need?

Next, you need to determine for yourself what parameters you need. You can look at this by looking at the event quality score and see what parameters are missing there under Recommendation. You can also choose to forward everything for the most measurability. The example below shows a View Content event. This one already has a good score of 7/10. To further improve this score, Facebook provides the following recommendation of adding parameters:

  • Email
  • Phone number
  • Facebook Log ID
  • External ID
facebook event match quality score example events manager

Now that you know all the parameters you need to add, it’s time to set them up in Google Tag Manager. Not all parameters should be sent in the same way from GTM. These event parameters fall under 3 categories.

Add parameters by:

  • Data Layer
  • Built-in GTM variables.
  • Cookies
Data LayerBuilt in at GTMCookie
Hashed emailClient IP addressClick ID – fbc
Hashed phone numberClient User agentBrowser ID – fbp
Facebook Log ID
Date of birth
Last Name
First Name

Facebook Login ID – External ID – Subscription ID – Leads ID are parameters that are little used and therefore omitted in this blog. Should you do have this data available it does help to get the EMQ up.

1. User data layer parameters through Data layer.

The first category is adding parameters from a data layer. To collect certain customer data, it is necessary to implement a data layer on your website. A data layer allows you to collect and structure user data, allowing you to forward this data to Facebook, for example.

You can develop a data layer manually, but there are also good plugins for many platforms that will save you a lot of time:

Below is an example that includes everything, so you need to make sure you send as much customer data as possible:

    'event': 'purchase',
    'ecommerce': {
        'transaction_id': 'T12345',
        'affiliation': 'Online Store',
        'value': 69.98,
        'currency': 'EUR',
        'tax': 5.00,
        'shipping': 5.00,
        'coupon': 'TESTCOUPON',
        'items': [{
            'item_id': 'SKU12345',
            'item_name': 'Cool T-Shirt',
            'item_category': 'Apparel',
            'item_variant': 'Blue',
            'price': '19.99',
            'quantity': 1
        'user_properties': {
            'email': '[email protected]',
            'phone_number': '+11234567890',
            'address': {
                first_name: 'John',
                last_name: 'Doe',
                street: '123 Lemon',
                city: 'Some city',
                region: 'FR',
                country: 'NL',
                postal_code: '12345',

The user data(Enhanced Conversions) that now enters GTM via the data layer must then be sent along with Facebook Pixel / Conversion API. Below is an example of how to include Email data.

Send mail with Facebook (Web Container)

So you have a working data layer. Now we need to make sure that this data enters GTM properly. We do this by creating a variable and then adding it to the necessary tags. Go to Variables and click New. Enter the following:

  • Variable name = EC – email
  • Variable Configuration = Data Layer variable.
  • Data Layer Variable Name = ecommerce.user_data.email
  • Data Layer Version = can be left as is

Then save the Variable by clicking Save.

You can do this for all Customer Data. Below is a table with the variable + which Data Layer Variable Name belongs to it. The rest of the settings are described above.

The Key Paths below are based on standard GA4 Data Layer. If you are using a different kind of data layer, the key path may be different.

VariableKey Path
EC – Facebook login idecommerce.facebook_login_id
EC – email SHA256 hashedecommerce.user_data.email_hashed
EC – phone SHA256 hashedecommerce.user_data.phone_hashed
EC – first_nameecommerce.user_data.first_name
EC – last_nameecommerce.user_data.last_name
EC – genderecommerce.user_data.gender
EC – cityecommerce.user_data.city
EC – date of birthecommerce.user_data.date_of_birth
EC – regionecommerce.user_data.state
EC – zip codeecommerce.user_data.zipcode

Now that the email data arrives in GTM through a Variable we are going to add it to the necessary tags. Go to Tags and then choose the tags you want to add the Variable to. In our case (example), we are going to add the Variable to the Facebook Purchase event. Go to the Pixels and then under Customer Information Data Parameters put the variable as you see in the example below. Next, save the tag and then remember not to put the container live.


The mail data is now sent along to Facebook from the data layer via the GTM Facebook Pixel.

Send mail along with Facebook (Server Container)

We are going to do the same in the Server Container by adding a Variable to the Facebook Conversion API. Go to the Server Container and create a new variable.

  • Variable name = email
  • Variable Type = Event data.
  • Key Path = x-ga-mp2-user_properties.email

Below is a list of Key Paths belonging to the required variables. These Key Paths are based on standard GA4 Data Layer. If you are using a different kind of data layer, the key path may be different.

VariableKey Path
Hashed emailx-ga-mp2-user_properties.email
Hashed phone numberx-ga-mp2-user_properties.phone
First Namex-ga-mp2-user_properties.first_name
Last Namex-ga-mp2-user_properties.last_name
Date of birthx-ga-mp2-user_properties.date_of_birth

Then save the variable. Now we are going to send this variable along with the Facebook Conversion API. Go to the FB Conversion API tag and enter the following under User Data:


So you can eventually do this for all user data. This is what the Facebook Conversion API may eventually look like. You now send along as much customer data as possible.


2. User data included through built-in GTM parameters

The next category deals with adding parameters that are already tracked by default in Google Tag Manager, even without using an Enhanced Data Layer. One of the built-in GTM variables in this category is the IP address.

This variable,“ip_override,” is automatically sent with all GA4 events to the server containers, which then puts it ip override in the event data.

Create a new variable by going to Variables and clicking New here. Then enter the following.

  • Variable name: ip_override
  • Variable Type: Event Data
  • Key Path: ip_override
create ip override variable gtm webcontainer 1

For User agent this is.

  • Variable name: user agent
  • Variable Type: Event Data
  • Key Path: user_agent

You then add these to the Facebook Conversion API, again under User Data.


Now we have arrived at the last category. User data sent along from Cookies. As with the User Data, we are going to set these via the Data Layer in the Web Container and in the Server Container).

We are going to create a new variable first. Go to Variables and click New. In the example, we use the fbc cookie, but this works the same as for the fbp cookie.

Fill in the variable in the following way:

  • Name variable = Facebook – fbc
  • Variable Type = 1st-Party Cookie.
  • Cookie Name = _fbc

Then save the variable by clicking Save. We are then going to add this Variable to the GA4 Configuration tag (Google Tag) so that it is sent to the Server Container. Go to the Google Tag and under Event Parameter, add the Variables you just created. Then Save the Tag and put the container live.


Now that the Event data is forwarded in to the Server Container, we need to make sure it is received from the Server Container and forwarded to Facebook. Again, create a new Variable.

Next, for the fbc cookie, enter the following.

  • Variable name = fbc
  • Variable Type = Event data.
  • Key Path = x-fb-ck-fbc

For the fbc cookie, enter the following.

  • Variable name = fbp
  • Variable Type = Event data.
  • Key Path = x-fb-ck-fbp

We are going to add these 2 variables to the Facebook Conversion API. Go to the FB Conversion API and add the following Event Parameters under User Data.



This was it. We showed how to add customer parameters through GTM in 3 different ways. We hope you have now created a perfect Facebook Event Match Quality score. By applying the above strategies, you can significantly improve the effectiveness of your FB ad campaigns and stay one step ahead in the dynamic world of digital marketing. Want to refine your tracking even more? Then check out the complete Facebook Server Side Tracking set up for a good overview.

One more thing: Facebook wants you to send in as many parameters as possible, but often they are only available at the time of a purchase (that’s when the data is left behind). For web shops, this is often the situation. So you can add parameters (Enhanced Conversions) to each event, but it’s not always available. So always consider for yourself when certain data will become available.

About the author

Ate Keurentjes

Ate Keurentjes

Server Side Tracking Specialist at TAGGRS

Ate Keurentjes is a Server Side Tracking specialist at TAGGRS. He has experience with various Google Tag Manager concepts. Keurentjes has been editing and writing about the latest developments and trends in data collection / Server side tracking since 2023.

Ready for the next level?

Start with Server Side Tracking and generate more revenue and conversions in a world without third-party cookies.