MBE Commerce Onboarding

This guide consists of the main prerequisites for the MBE Commerce flow along with a high-level overview of the steps required to complete the process.

The Meta Business Extension (MBE) allows businesses to easily set up tools to manage their Facebook ads and set up Instagram and Facebook Shops. The MBE Commerce onboarding flow can be used for both commerce offsite and onsite shops.

A key difference between offsite and onsite shops is that checkout for offsite shops is redirected to the seller’s website and checkout for onsite shops happens within the Facebook or Instagram app.

The Commerce onboarding flow allows businesses to set up or integrate the following:

  • Meta Pixel
  • Catalog
  • Ad account
  • Facebook Page Shop
  • Instagram Shop
  • Messenger chat (optional)
  • Business Manager
  • Commerce Manager

To use Instagram Shopping for offsite or onsite flows, an Instagram business account is required. The account must satisfy the eligibility requirements.

Example — Onboarding Flow from Partner Surface (Business Login)


Before You Start

Shops onboarding flows are currently only available to select partners in a closed beta. If you are interested in receiving access in the future, please contact your Facebook representative.

  1. Register as a Meta Developer to access our developer tools and create Facebook apps.
  2. If you haven’t yet, create a Facebook app.
  3. Your Facebook app must be owned by a Business Manager that is a verified business. Learn more about how to verify your business.
  4. Create a test app from your live/production app and use it to perform all new development and testing.
  5. Private permissions: manage_business_extension — This is a private permission that requires your Facebook representative to add your app to the allow list. Once this capability is issued to your app, you can find the FBE Developer Panel under Products.
  6. Request the following permissions via App Review for your Facebook app:

    • catalog_management — Allows a user with admin rights to create, read, update and delete business-owned product catalogs. Alternatively, you can request the ads_management permission if you also want to manage ads on behalf of sellers that use your app.
    • business_management — Required to use the Business Manager API to manage business assets.
    • Instagram_basic - This is required when using instagram shopping. The instagram_basic permission allows your app to read an Instagram account profile's info and media.
    • pages_read_engagement — Needed for generating a Page Access Token later.
    • [Onsite] commerce_manage_accounts (read/write) or commerce_account_read_settings (read only) — These granular permissions are required through App Review to manage a commerce account.
    • [Onsite] commerce_account_manage_orders (read/write) or commerce_account_read_orders (read only) — These granular permissions are required to list, view or update orders through a commerce account.
    • [Onsite] commerce_account_read_reports — Allows your app to read finance reporting data to build custom tax, cash reconciliation and reimbursement reports for a commerce account.
  7. Instagram shopping may require domain verification if the seller’s domain is not already verified. Learn how to verify your domain.

  8. Set up authentication with the required configurations and launch the FBE onboarding flow through business login or the Facebook App Store.

Required Configurations

Extras

FieldDescription

setup

Type: setup

Required.

Seller’s Facebook setup, such as their unique identifier (external_business_id) or the currency of their catalog (currency). See setup object details.

business_config

Type: business_config

Required.

Configuration object that the Meta Business Extension uses to configure the Meta Business Extension workflow. See business_config object details.

repeat

Type: boolean

Required.

Set this value to false.

Setup

FieldDescription

external_business_id
string

Required
Unique business ID to represent your client's business. We use this as a unique identifier. For example, if the seller's company is called "Fubar", then "fubar-123" could be their external_business_id.

timezone
string

Required
The time zone in which the business is located. See possible time zone values.

currency
string

Required
Three-letter ISO currency code of the default currency used by the business's catalog items. See supported currency codes.

business_vertical
enum

Required
Vertical associated with the business
Value: ECOMMERCE

merchant_settings_id
string

Optional
Used when upgrading from Facebook Business Extension, v1. Contact your Facebook representative if you are migrating from v1 to v2.

domain
string

Required for COMMERCE and COMMERCE_OFFSITE channels
Domain used for Instagram manual approval. For example: https://exampleshop.partnersite.com.

channel
enum

Required
Provides a way for the partner to express intent for the user regarding features that require additional steps or constraints: COMMERCE and COMMERCE_OFFSITE.

  • COMMERCE — Flow that allows the sellers to create a commerce account with Page Shop and Instagram Shopping Channel with onsite checkout, option to select offsite checkout is also available in this flow.
  • COMMERCE_OFFSITE — Flow allowing sellers to create a Commerce Account with Offsite Facebook Shop and Offsite Instagram Shopping.

Note: Partners should request the instagram_basic permission for all commerce flows (COMMERCE and COMMERCE_OFFSITE). The instagram_basic permission is required for an app to support the Instagram onboarding/seller access policy. This permission requires App Review.

business_manager_id
string

Optional
Business Manager ID for user's existing Business Manager that a partner can enter to preselect for the user in the setup flow.

ad_account_id
string

Optional
Ad Account ID for user's existing ad account that a partner can enter to preselect for the user in the setup flow.

page_id
string

Optional
Page ID for the user's existing Facebook Page that partner can enter to preselect for the user in setup flow.

ig_profile_id
string

Optional
Instagram Business Profile ID for the user's existing Instagram Business Profile that a partner can enter to preselect for the user in the setup flow.

pixel_id
string

Optional
Pixel ID for the user's existing Pixel that a partner can enter to preselect for the user in the setup flow.

catalog_id
string

Optional
Catalog ID for the user's existing catalog that a partner can enter to preselect for the user in the setup flow.

Business Config

Use this object to configure the business settings for an end user; this includes Messenger and more. Each field includes a "type" linked to the respective tables below.

FieldDescription

business
FBEBusinessPropertiesConfigData

Required
Information for the end user's business

messenger_chat
FBEMessengerChatConfigData

Optional
Messenger chat features on the end user's Facebook page, such as enabled and domains

catalog_feed_scheduled
FBECatalogFeedConfigData

Optional
Determines if the Facebook Business Extension should use a feed approach, which grabs catalog items from a feed_url

page_cta
FBEPageCtaConfigData

Optional
Call to action (CTA) button on end user's page, such as cta_button_text, cta_button_url, etc.

ig_cta
FBEIGCtaConfigData

Optional
Features for the Instagram call-to-action feature, such as enabled, cta_button_text, cta_button_url, etc.

messenger_menu
FBEMessengerMenuConfigData

Optional
Features for the Messenger call-to-action (CTA) button when a user is messaging the business, such as cta_button_text and cta_button_url.

After Installation