How to Set Up Meta Signals Gateway with Usercentrics

Meta Signals Gateway
How to set up Meta Signals Gateway

Meta Signals Gateway is one of the most effective ways to improve the quality of data you send to Meta. Instead of relying only on the standard Meta Pixel, you can serve a first-party pixel from your own domain and route data through a managed gateway. This can make tracking more reliable, reduce the impact of browser restrictions and ad blockers, and improve attribution for your campaigns.

Facebook's product page covering Meta Signals Gateway

If you want to implement Meta Signals Gateway without setting up and maintaining your own server, Usercentrics offers a managed hosting solution that makes the process much simpler. You can also combine it with their consent management platform, so you only send consented data to Meta.

In this guide, I'll walk you through the complete setup including creating the gateway, configuring your pipeline, adding a custom domain, installing the Signals Gateway Pixel with Google Tag Manager, setting up event deduplication, and verifying that everything is working.

You can also watch the video below to follow along:

Table of Contents


What Meta Signals Gateway does

Before you begin the setup, it helps to understand what Meta Signals Gateway actually is and why it matters for your advertising.

Meta describes Signals Gateway as a solution for connecting first-party data from your website, apps, and other sources to Meta. One of the key components is the Signals Gateway Pixel, which is a first-party pixel that is served from your own domain rather than a Meta-owned domain.

This matters because first-party tracking reduces the impact of ad blockers, browser restrictions, and shortened cookie durations. Meta has said that advertisers using Signals Gateway can see improvements in conversion tracking and reductions in cost per acquisition. The goal is to send higher-quality data to Meta so your campaigns have better signals to work with.


Step 1: Create your gateway in Usercentrics

Head to the Usercentrics website and log into your account. If you don't have an account yet, you can create one by clicking 'Start Free'. Once you're logged in, navigate to 'Server-Side Tagging'.

Usercentrics' server-side tracking solutions

From the server-side overview, select 'Meta Signals Gateway' and then create a new gateway. You'll be prompted to:

  • Enter a name for your gateway
  • Select the server location for hosting
  • Agree to the terms and conditions, privacy policy, and data processing agreement

I recommend using a short, descriptive name like your business name or website name. Keeping names consistent makes the rest of the setup easier, particularly once you create your pipeline and pixel.

Create your signals gateway with Usercentrics

At this point you'll also notice that Usercentrics offers a managed solution for Google Tag Manager server-side containers. This is worth exploring separately if you want to improve data accuracy beyond Meta.

After you create the gateway, Usercentrics may send you an activation email. This step can be a little confusing because you'll need to create a separate password for the Signals Gateway Hub. This is different from the password you use for your main Usercentrics account. Check your email including your junk folder, click 'Activate Account', and create your gateway password.

Usercentrics' account activation email for signals gateway

Step 2: Create a pipeline

Once you access the Signals Gateway Hub, you'll be prompted to create a pipeline.

A pipeline is the connection between your data source and your destination. For this setup, the data source is the Signals Gateway Pixel on your website and the destination is Meta.

Click 'Get Started' and select 'Signals Gateway Pipeline'. There is also an option for a 'Conversions API Gateway Pipeline', but for this setup you want the Signals Gateway Pipeline option.

Screen showing the data pipeline options for signals gateway

Next, you'll need to enter a name for your pipeline. I recommend keeping it similar to your gateway name. Then configure the following:

  • Data source: Signals Gateway Pixel
  • Destination: Meta

Continue through the setup and give your Signals Gateway Pixel a name. You'll also be asked whether you already have the standard Meta Pixel installed on your website. If you do, select 'Yes'. This is important for event deduplication, which we'll cover in a later step.

Next, authenticate with your Meta Business Account, authorize access, select the correct business portfolio, and choose the dataset you want to use.

Screen showing that authentication step to connect to your Meta pixel

You'll then see pixel code to add to your website. For this implementation, you won't paste that code directly. Instead, you'll use Meta's tag template in Google Tag Manager. You still need to copy the code at this stage to move through the workflow, but the actual installation happens in GTM.

Once you complete these steps, you'll see your new pipeline in the hub. The Signals Gateway Pixel is on the left as your data source, and your Meta dataset is on the right as the destination.

Step 3: Configure a custom domain

Before installing the pixel, I recommend setting up a custom domain for your gateway. This step is important because it allows data to flow through your own website domain rather than a third-party domain. This can improve data accuracy, help cookies last longer, and support better attribution for your campaigns.

In the Signals Gateway Hub, navigate to 'Account Settings' and select 'Data Routing'. Then click 'Optimize'.

You'll need to choose a subdomain for the gateway. Make sure it's a subdomain you're not already using on your website. A short name like sgw works well. Then enter your website's top-level domain and copy the generated Signals Gateway Domain.

Create a custom subdomain for your signals gateway

Now you need to add a CNAME record in your DNS settings. The steps below use Cloudflare as an example, but the same approach applies regardless of where your DNS is managed.

In Cloudflare, navigate to your domain's DNS records and click 'Add Record'. Select 'CNAME' as the record type. Enter your chosen subdomain as the name. Paste the Signals Gateway Domain as the target. Disable the proxy and save the record.

Configure the CNAME record in Cloudflare for your signals gateway

Return to the Signals Gateway Hub and click 'Continue'. Once the record is verified, your custom domain setup is complete.

Step 4: Find your pixel details for Google Tag Manager

Now it's time to find the values you'll need to install the Signals Gateway Pixel in GTM.

This pixel is separate from your standard Meta Pixel. For the best results, you should run both on your website. The standard pixel still plays an important role, and the Signals Gateway Pixel complements it by improving how data is collected and routed.

To find the values you need, navigate to 'Data Pipelines' and then 'Data Sources'. Click the name of your pixel and open the 'Setup Guide' tab. Select 'Google Tag Manager' from the dropdown at the top.

Details for the Signals Gateway Pixel including the Pixel ID, Host, and Script URL

You'll need to copy three values:

  • Signals Gateway Pixel ID
  • Pixel Host
  • Pixel Script

These values need to be exact. If any of them are entered incorrectly, the implementation won't work. If you run into issues later, this is one of the first things to check.

Step 5: Add the Signals Gateway Pixel template in GTM

Open your Google Tag Manager container and navigate to 'Templates'.

If you're already using the standard Meta Pixel, you may already see the Meta Pixel template for the base code. Now you need to add a separate template for the Signals Gateway Pixel.

Click 'Search Gallery' in the top right corner and search for 'signalsgateway' as one word without a space. Select 'Signals Gateway Pixel' by Facebook Incubator and add it to your workspace.

Facebook's tag template for Meta Signals Gateway

There is one important step after adding the template. Click the template name, go to the 'Permissions' tab, and select 'Inject Scripts'. Remove the placeholder URL and paste in the Pixel Script URL you copied from Usercentrics. Then save the template.

Add the Pixel Script URL to the tag template in Google Tag Manager

This step is easy to overlook, but it's essential. Without updating the script URL in the template permissions, your tag won't work correctly.

Step 6: Create the Meta Signals Gateway tag

Navigate to 'Tags' and create a new tag. Name it something descriptive like 'Meta | Signals Gateway Pixel | All Pages' so it's easy to identify later.

For the tag configuration, select the Signals Gateway Pixel template you just added to your workspace.

Then enter the three values you copied from the Signals Gateway Hub:

  • Pixel ID
  • Host
  • Script URL
Signals Gateway Pixel tag configured in Google Tag Manager

You can enter these values directly in the tag, or you can create variables for each of them so they can be reused across multiple tags. Using variables is the cleaner approach if you plan to send multiple event types to Meta, but either approach will work.

Step 7: Set up event deduplication

If you're running both the standard Meta Pixel and Meta Signals Gateway, you need to configure event deduplication. This prevents the same event from being counted twice when both pixels fire at the same time.

Inside your Signals Gateway tag, open 'More Settings' and find the 'Event ID' field. You'll need to assign a unique ID to each event so that when both pixels fire, Meta can match them up and avoid double-counting.

The 'Event ID' option under 'More Settings'

To do this, create a new variable in GTM with the following settings:

  • Variable type: Custom JavaScript
  • Name: Event ID

Then paste the following code into the variable. Before saving, replace GTM-ABC123 with your own container ID.

// IMPORTANT: Replace GTM-ABC123 with your container ID
function() {
  var eventId = window.google_tag_manager['GTM-ABC123'].dataLayer.get('gtm.uniqueEventId');
  window._eventIds = window._eventIds || {};
  if (!window._eventIds[eventId]) {
    window._eventIds[eventId] = Date.now().toString(36) + Math.random().toString(36).substring(2, 10);
  }
  return window._eventIds[eventId];
}

Important: Don't forget to replace GTM-ABC123 in the code with your own container ID.

Once you've added the code, your variable should look something like this:

Custom JavaScript variable for 'Event ID'

This code generates a unique ID for each event on your website. When both pixels fire at the same time, Meta uses this ID to match the events and avoid counting them twice. You could also use a variable template from the Community Template Gallery if you prefer that approach.

Once you've created the variable, apply it to the Event ID field in your Signals Gateway tag.

You then need to open your standard Meta Pixel base code tag and apply the same Event ID variable there too. This is what makes deduplication work correctly – both pixels need to reference the same Event ID for each event.

If you're using a consent management platform, configure your Signals Gateway tag to only fire once the required consent has been granted. This is particularly important because the tag sends data to Meta.

Open the Signals Gateway tag, scroll to 'Advanced Settings', and look for 'Consent Settings'. Select 'Require Additional Consent For Tag To Fire' and add the following consent types:

  • ad_storage
  • ad_personalization
  • ad_user_data
Consent settings for the Meta Signals Gateway Pixel tag

You'll also need to add a trigger to the tag so it only fires after consent is updated and granted. If you're using Cookiebot, you can use a Cookiebot Consent Update trigger. If you haven't set this up yet, I've covered the steps in my tutorial on Cookiebot and Consent Mode.

Step 9: Preview and publish

Before publishing, use Google Tag Manager's preview mode to confirm everything is working correctly.

Click 'Preview' and enter the URL of your website. Once Tag Assistant connects and your site loads, check the Tag Assistant tab to confirm that the Meta Signals Gateway Pixel tag has fired.

Test that your tag fires with Google Tag Assistant

If the tag fires as expected, close Tag Assistant and return to Google Tag Manager. Click 'Submit' to publish your changes, enter a version name, and complete the publish.

The Signals Gateway Pixel is now live on your website and sending first-party data to Meta through your Usercentrics-hosted gateway.

Step 10: Verify events in the Signals Gateway Hub

After publishing, head back to the Signals Gateway Hub to check whether events are arriving.

It's normal not to see data immediately. There is usually a delay when you first set up Meta Signals Gateway. In many cases, you may need to wait around 30 minutes before events begin to appear.

The 'Event Activity' tab showing events that have been collected

Start by checking the 'Diagnostics' tab. You may see an alert here until events are detected. Once data begins to flow, the 'Event Activity' tab will show you a summary of all events collected by your Gateway Pixel. This is where you can monitor event volume and confirm that your setup is processing data correctly.


Troubleshooting Meta Signals Gateway

If your implementation isn't working as expected, work through the following checks:

  • Confirm you used the correct Signals Gateway Pixel template in GTM, not the standard Meta Pixel template.
  • Check that the Pixel ID, Host, and Script URL exactly match the values from the Signals Gateway Hub.
  • Make sure the Inject Scripts permission in the template includes the correct Pixel Script URL.
  • Verify that your custom subdomain and CNAME record are configured correctly.
  • If you're using both pixels, confirm the Event ID variable is applied to both tags so deduplication can work.
  • If you're using a consent management platform, make sure the tag is only allowed to fire after the required consent types are granted.
  • Wait at least 30 minutes before concluding that events are not arriving.

FAQ

What is Meta Signals Gateway?

Meta Signals Gateway is Meta's solution for connecting first-party data from your website, apps, and other sources to Meta and other advertising platforms. It includes a first-party pixel that is served from your own domain rather than a Meta-owned domain, which can improve tracking reliability and attribution.

Does Meta Signals Gateway replace the standard Meta Pixel?

No. For this setup, you should run both. The Signals Gateway Pixel is separate from your existing Meta Pixel and the two work together to give you the best results. If you run both, you'll also need to configure event deduplication so Meta doesn't count the same event twice.

Why should you configure a custom domain for Meta Signals Gateway?

Using a custom domain means data is sent through your own website domain rather than a third-party domain. This can improve data accuracy, help cookies last longer, and support better attribution for your ad campaigns.

Can you install Meta Signals Gateway using Google Tag Manager?

Yes. In this setup, the Signals Gateway Pixel is installed using Meta's tag template in Google Tag Manager rather than by pasting pixel code directly onto your website.

What is event deduplication in Meta Signals Gateway?

Event deduplication allows Meta to recognize when the same event has been sent by both the standard Meta Pixel and the Signals Gateway Pixel. By configuring both tags to use the same Event ID, Meta can match the events and avoid counting them twice.

How long does it take for events to appear after setup?

It can take a little while for the first events to appear in the Signals Gateway Hub. If you don't see data immediately, wait around 30 minutes and then check the Diagnostics and Event Activity tabs again.

Can Meta Signals Gateway work with consent management?

Yes. Usercentrics allows you to integrate Meta Signals Gateway with consent management so you only send consented data to Meta. In Google Tag Manager, you can also configure consent requirements such as ad_storage, ad_personalization, and ad_user_data so the tag only fires after the appropriate consent has been granted.

Why use Usercentrics for Meta Signals Gateway?

Usercentrics provides a managed hosting solution for Meta Signals Gateway, which means you don't need to set up or maintain your own server infrastructure. This makes the setup more accessible and also allows you to integrate with their consent management platform.