A key component in Nosto’s Facebook integration is the Facebook Pixel, how it’s managed, what capabilities it enables, and how you can troubleshoot potential errors.
What is a Facebook Pixel?
Facebook Pixel is a snippet of code that is loaded on a website that helps Facebook track its users. This dataflow is required to enable Facebook to track how well your ads perform by seeing what a user does on a website after viewing an ad in Facebook’s network, which also includes Instagram and Messenger.
Each Facebook ad account has a Pixel associated with it and every time an ad is created, the same Pixel is associated with that ad. The Pixel sends small signals to Facebook, which are called “events”. When a user is browsing a website, the Pixel triggers events on the website, and sends them to Facebook. Based on the events that were triggered, Facebook can trace back to the ad account, and even single ads and a user. The event data collected typically includes the context of what the shopper was doing, such as browsed products, what they added to the shopping cart, and eventually bought and so on. To conclude, the Pixel is the conversion and event tracking method by Facebook.
How does Nosto manage the Pixel and audiences?
When the Nosto script loads on your site, it checks if there’s a connection to your Facebook ad account. If the connection exists, Nosto script loads your ad account's Pixel and triggers the appropriate event to the Pixel, depending on which page the script has loaded. To emphasise the methodology: Nosto’s script used in the integration loads your Facebook pixel, adds the events, which are directly sent from a client-browser to Facebook.
The listing of the events the Nosto script triggers can be useful for developers and ad agency specialists. The Nosto integration includes and adds standard e-commerce related events to your Facebook Pixel, listed below:
All pages: PixelInitialized, PageView
Product page: ViewContent
Viewed category: content_category
Cart page: AddToCart
Order confirmation page: Purchase
The first event: PixelInitialized also incorporates a custom parameter “Segments”, which includes Nosto segment value for accounts using “Segmentation & Insights”. The value for the parameter can be used as a targeting option by creating custom audiences based on the segment name.
How to create a custom audience with Facebook Ad Manager
Scenario: Nosto segments
The core concept is that there are no pre-created audiences, but you need to create these yourself depending on your need yourself. We do this to avoid flooding your business manager account with unused segments.
Technically, when the Nosto script loads your Facebook Pixel, it sets the visitor’s current Nosto segment and sends it to Facebook. Consequently this allows to create an audience in Facebook based on users that have that segment detail associated with their profile.
Practically this is done through a few simple steps familiar to most ad managers, in screenshots screenshots below. (please note that your Facebook business manager experience might differ)
First step is to find option create a new audience, which is an advanced option in Audience step.
Select audiences by webpage activity
Choose the right pixel and pixel event: Pixel Initialized
refine by parameter: segment
Insert segment name, in the example: prospects
Using the option contains is typically the safest option, but you can also fully match the segment name
Give your audience a name and create it.
The Nosto script triggers the ViewContent Pixel event when a shopper has viewed a product. If the same shopper doesn’t finalize their purchase, that event can be used to create a retargeting audience out of users who went on viewing products instead of just visiting the site in the past 7 days as seen in the example below. As a friendly tip: Remember to exclude audiences who have already bought.
Nosto and an Existing Pixel On The Website
To create targeting audiences on Facebook based on Nosto segments, Nosto needs to add the Pixel to your website. This process is also called “Pixel management”. Consequently if you wish to use Nosto segment-based audiences, the Nosto integration needs to include the pixel management instead of using another service for pixel management or by populating the Pixel “manually” to the website.
Most ecommerce websites already have the Facebook Pixel in place, which means that enabling the Nosto Facebook integration might either interfere with the existing Pixel setup or simply might require one or two additional steps before moving ahead. Most common issue is called “double-pixel attribution” and explained thoroughly at the end of this article. Typical setups as suggestions helping you to avoid the issue are listed and described below.
[recommended] Remove existing Pixel and let Nosto entirely handle Pixel management: With this setup you’ll have just one Pixel and ad account and the Pixel management and placement is fully managed by Nosto. This typically requires removing an existing pixel or an app handling the management from the website.
[recommended] Use an additional Pixel, but one ad account: With this setup you will have one ad account, using two Pixels as a data source. The other Pixel is managed and placed by Nosto, another by yourself as you do today. You don't need to change the current method for Pixel management, but the setup requires connecting Nosto to another ad account associated with another Pixel and later connecting the Pixel as a data source to your primary ad account in Facebook native interface.
Use two ad accounts and two Pixels, but share audiences in between: With this setup you will have two ad accounts and ad accounts like in the previous setup, but audiences are shared between two ad accounts managed by the same Facebook Business manager. The setup is relatively quick to set up, but comes with a weakness that Facebook might disable unused and idle ad accounts after a certain period. Use primarily for evaluation,.
Run Nosto powered ads from separate ad accounts: Fourth option is creating a separate ad account to use with Nosto and operate ads on that one. This requires managing ads on two separate ad accounts, which might increase ad management overhead and reporting requirements.
“Double-Pixel Attribution Issue”
Despite the chosen method, these all help you to avoid tracking issues caused by the same Pixel populated to the website twice, which is the most common tracking issue. This is typically if not always caused by connecting the Nosto account to an ad account and Pixel, which is already populated to the website either by another app or by yourself “manually”.
The double attribution is caused because another script is firing the same Pixel events as the Nosto script, which means Facebook processes the same events multiple times (e.g. two purchases when only a single purchase was made), which might severely harm your ad performance analytics. In order to avoid the issue to a degree possible, Nosto implements trackSingle operation as advised by Facebook, however if the other party adding the pixel does not use this, but instead uses track operation, it forces and might cause attributing events like purchase conversions twice.
Before connecting Nosto to your Facebook ad account, review with your administrator how you manage the Facebook Tracking Pixel and whether you should remove the existing one or use two Pixels under the same ad account.
How To Review Existing Pixel Setup
As a rule of thumb, the Pixel that Nosto adds to the website should only be placed by the Nosto script on your page and not by any other app or mean. If you have any code or a third party plugin running on your site that manages the same Pixel, this should be removed. You can use Facebook's Pixel Helper plugin to check which Pixels are running on your site and which events are being fired to the Pixel. If the Pixel helper shows an event has been fired to the Pixel, which is not one of PixelInitialized, ViewContent, AddToCart or Purchase, then something other than the Nosto script is firing events to the Pixel.
Below is a screenshot of the Pixel Helper plugin showing that 3 events have been fired. The Nosto script only fires the PixelInitialized event, so this site has something else triggering events to the Pixel.
How can I find what's interfering with the Nosto script's Pixel management?
Open Chrome's developer tools
Click the three dots on the right hand corner of the developer tools and choose search.
Paste your Pixel id in the search box and hit enter. You should only see results for connect.nosto.com in the search results. The screenshot below shows results for connect.facebook.net and www.googletagmanager.com, so in this example, Google Tag Manager has been configured to manage the Pixel.