Using Facebook conversion API, you can send events from your server to the Facebook server. Server-side tracking with configured custom subdomain helps to bypass ad blockers, ITPs, and iOS 14/15 restrictions.
Together with Facebook Conversion API events, you should send additional parameters.
These parameters can be divided into three parts:
1. Server Event Parameters
2. Custom Data Parameters
3. Customer Information Parameters
The latter helps Facebook Conversion API match events you send from the server to real users. It can be any information like email or last name. These parameters were created to help Facebook identify users.
For every server event you send, FB will show you an event match quality score. This match quality score depends on the number of customer information parameters you send and their accuracy.
Facebook CAPI event match quality can significantly impact your campaign’s results and audience accuracy. Let me walk you through some tips on how to increase the Facebook match quality score in this blog post.
The key to proper FB conversion API setup is the event match quality score. Why? Well, Facebook utilizes user data sent from your server to match event instances like adding a product to a cart to a specific FB account. In other words, events match quality grades the customer information you share. The number of the parameters sent affects the percentage of sent events.
User data can be divided into the following subcategories:
1) Parameters that require hash and can be sent as is.
Such parameters as zip code, email, or state need to be hashed (basically, all parameters that contain personal user information). But parameters like client user agent, IP address, or browser ID do not require a hash.
Facebook pixel automatically ads _fbp cookie when it is using first-party cookies. This unique identifier consists of version (always FB), subdomain index (for example, 0 for stape.com, 1 for app.stape.com, etc.), creationTime in the UNIX time standard, and it represents time in milliseconds when _fbp cookie was saved and a random number.
Here is the example: fb.1.1596403881668.1116446470
When the Facebook pixel is installed on a website and uses first-party cookies, the pixel automatically saves a unique identifier to an _fbp cookie for the website domain if one does not already exist.
When a user clicks on the FB ad, it includes the fbclid query parameter. If they land on the site that uses a first-party cookie with enabled browser tracking, then the fbclid query parameter is saved inside the _fbc parameter.
It’s important to understand that not all your events will have _fbc parameters. Traffic from organic searches, google ads, or email campaigns won’t contain _fbc since interactions with the site don't happen on Facebook.
The maximum score you can get for the FB server event is 10. Getting to the ultimate point will be complicated. This score means that you have to send all user information parameters for your server events, and these parameters are sent on all occasions.
For events such as PageView, where you do not have any user parameters, the match score will be around 4. Everything that you will be able to send is _fbp, _fbc, IP Address, and User-Agent.
If you decided to set up Facebook Conversion API through the Google Tag Manager, we recommend using a custom subdomain for the tagging server URL. This way, you can move from the 3rd party to the 1st party cookie. It will also help to increase tracking accuracy and set _fbp and _fbc correctly.
Before setting up ss tracking or browser tracking, you need to have a proper data layer. This way, you can ensure that your trigger, variables, and tags will work correctly if the page URL, element ID, or CSS selector changes.
Here's an example. When a user logs in, you can send a data layer event that includes the user name, ID, and email. This way, you can increase the match quality of all events with these user data.
Ask developers to set up a data layer or use a plugin for your CMS that generates a data layer.
Facebook will decrease event match quality if you have any errors for the server events. Check this blog post that describes some popular Facebook CAPI issues and tips on fixing them.
To find if there is any error, open the events manager and click on the diagnostics tab.
Let’s say users subscribed to a newsletter on your site. By default, you can send their email only when subscribe events happen. But there is a way to store user data in the browser. In this case, you can send their email as long as it’s stored in the browser. You can use data tags to store user data. Here is a more detailed explanation of what a data tag is and how to use the store data tool.
One of the best ways to improve FB event match quality is by enriching it with first-party user data. With the newest feature release of sGTM, it is now possible to store and enrich user data using Firestore and Google Sheet. Connecting server Google Tag Manager with Firesore or Google Sheet might seem a little bit complicated, but it gives you unlimited possibilities for improving analytics data.
The logic of enriching sGTM data using Firestore and Google Sheet is similar: assigning a unique identifier to a user and writing user data for Firestore or Google Sheet when user data is available, such as purchase events. Then extract user data using a unique identifier when you need it.
If you are interested in enriching sGTM data, check these articles:
You can also enable Event Enhancement to use HTTP only secure cookie (gtmeec) in order to enhance event data.
When this feature is enabled tag will store user data in cookies and enrich events with user data when user data is not available. This way you can increase event match quality and as the results conversion attribution to campaigns.
We receive a lot of questions about the Facebook event match quality scores. But there is no way to say if the event quality score is good or bad. If the quality score on your server events is lower than 3, then it might be a red flag.
A lot of people are worrying when they have a match quality around 6. It’s an astounding number. Do not worry. Facebook is sending so many suggestions on improving quality match scores because they want to collect as much user data as possible.
Suppose you send the most straightforward 4 customer data parameters (_fbc, _fbp, IP address, and User-Agent). Most likely, FB already has enough data to associate this event with a real user. If you add user email, then chances are even higher.
Ultimately, if your goal is to increase the event match quality score, follow the tips described in this article.
Setting up the Facebook conversion API may be confusing. But after you did the tremendous job of moving FB tracking to the server and think that job is done, you might log in to your events manager the next day and see red and yellow warnings. In this blog post, I will describe the most popular Facebook conversion API errors and warnings. Plus, share some tips on how to fix it.Edited Jan 24, 2024
Meta’s Conversions API Gateway is the newest approach in setting up Conversions API and it looks like it’s the easiest one. Meta’s Conversions API Gateway receives events from the browser and sends them to the Conversions API. With Meta’s Conversions API Gateway, you won’t need to set up event deduplication, send user parameters and events from the server. Another huge advantage is having multiple domains/pixels within a single instance of Meta’s Conversions API Gateway.Edited Oct 24, 2022
In this article, I want to show you how to use Data Tag. This custom tag sends parameters from the Google Tag Manager Web Container to the Server Container. When used together with the Data Client for the Google Tag Manager server container, it allows sending data layer variables, custom parameters, and other data from the web to the server container. As a result, Data Client retrieves information from the Data Tag into the Google Tag Manager Server Events.