The Facebook Business Extension, v1 is currently only available to whitelisted Partners. Please contact your Facebook representative for access.

The Facebook Business Extension (FBE) is a popup-based solution that allows users to easily set up the Facebook Pixel, Catalog and, optionally, Facebook Page Shops. Extensions are small software programs that customize the browsing experience. They enable users to tailor Chrome functionality and behavior to individual needs or preferences. They are built on web technologies such as HTML, JavaScript, and CSS.

Use Cases

We recommend that you integrate with the FBE to give your clients a simple place where they can create Facebook presence to sell products and enable them to to serve ads on our ecosystem. Currently, the methodology on our native interfaces requires extensive understanding of ad technologies and we understand that many small-to-medium-sized businesses might not have the resources to learn the complexity.

As a solution, we recommend that your clients use your platform integrated with FBE. FBE is a popup that Facebook has built to allow your platform to onboard your platform’s clients on to the Facebook platform.

What does “onboard” mean for a merchant or advertiser?

Facebook has a few necessary requirements to be able to advertise or sell via Page Shops or Marketplace:

  • Facebook page (merchant creates)
  • Product Catalog (your platform provides)
  • Pixel (FBE can create for the user)

Who onboards?

With FBE, you can help these types of clients onboard:

  • Ecommerce site owners who want to sell on Pages, Shops, or Marketplace
  • Merchants who want to onboard to Facebook to deliver ads

How it Works

The Facebook Business Extension architecture has 2 main components:

  • A native platform integration, or plugin, that you build
  • The Facebook Onboarding Flow popup, already built by Facebook, that your plugin opens

There are 3 high-level steps to integrate with FBE:

Step 1: Provide an entry point for the FBE popup.

Step 2: Message pass between FBE popup box and browser.

Step 3: Use the data received from FBE to:

  • Set up the pixel on the front end.
  • Sync product catalog on back end.
  • Store pixel ID and Product Catalog ID to database for later use.
  • (Optional) Reset all DB stored entities.

Learn more about the FBE Architecture.


Your implementation may differ slightly from this example. However, there are several specific requirements you must fulfill to fully integrate with Facebook Business Extension:

  • To use the Facebook Business Extension framework, you need to build a plugin for a platform. This plugin should open a popup to Facebook. The popup should contain the Facebook Onboarding Flow, which allows the user to select and create the necessary Facebook objects to upload all of their products to Facebook and install the Facebook pixel on their site. As part of this process, use your Facebook-assigned platform name when integrating with our framework. If you don't have one, ask your Facebook representative.

  • You must fire the Facebook pixel on all standard events supported by Facebook:

    • Order of importance (most to least)—Purchase, CompleteRegistration, Lead, InitiateCheckout, AddToCart, ViewContent, Search, ViewCategory, PageView, and more. For the full list, see this Standard and Custom Events.

    • Content ID—In the ViewContent, AddToCart, and Purchase for a specific product, you must fire these events with a specific content ID to enable Dynamic Ads. Note: This must be the same content ID you used when you uploaded or created a feed file with that product. In Magento, we use the Magento product ID; you could use the SKU or whatever is available, as long as you ensure consistency between pixel and catalog.

    • Value—For Purchase events specifically, you should pass back the transaction value.

  • You need to include an agent string in every pixel fire that helps our systems analyze downstream pixel traffic; for example, see WooCommerce Implementation. Note: The agent hash is the fourth parameter in the init pixel code. Adding version for for platform and plugin in pixel fires is recommened. For example, {'agent': 'exopencart-'} is for OpenCart, where platform is and plugin is 1.0.0. When initializing the pixel, the parameters are as follows:

    • First parameter is 'init'
    • Second parameter is pixel id
    • Third parameter is pii information
    • Fourth parameter is agent string
fbq('init', '<pixel_id>', {<pii_data>}, {'agent':'pl<platform_name>'});
  • You must implement functionality to receive a message from the Facebook Onboarding Flow pop-up containing a pixel ID, and mechanisms to save that ID for use; for example, see JS Listener, Pixel Controller, and Config DB in the WooCommerce Implementation. See also Message Passing.

  • If possible, you should include advanced pixel matching in pixel fires. Learn more about Advanced Pixel Matching.

Next Steps

  1. Learn more about FBE Architecture.
  2. Get Started with implementation steps.