Facebook Login for Business Configuration Using Conversions API Template
Updated: May 5, 2026
This template is under beta. For access, please contact your Meta representative.
This document outlines the prerequisites and onboarding flow for a partner platform to integrate the Conversions API using Facebook Login for Business.
Facebook Login for Business is the preferred authentication and authorization solution for Tech Providers and business app developers who need access to their business clients’ assets. It allows you to specify the access token type, types of assets, and permissions your app needs, and save it as a set or configuration. You can then leverage the configuration to onboard your business clients and grant your app access to their business assets.
Conversions API Partner Onboarding Flow Overview
- Create your Facebook Login for Business configuration using the Conversions API partner integration template
- Embed the Facebook Login for Business button on your platform
- Exchange the authorization code for a business integration system user (BISU) access token
- Retrieve the client business ID from the BISU token
- Retrieve datasets owned by or shared with the client business
Step 1: Create Facebook Login for Business Configuration using Conversions API Template
This step explains how to navigate through your app settings to create a Facebook Login for Business configuration using the Conversions API partner integration template
1.1: In the App Dashboard, navigate to your app and select Facebook Login for Business from the left menu and click Templates
1.2: Click the Use template button for the Conversions API partner integration
1.3: Since all the template configuration details have been set, simply click Create from template
Required Permissions
The template includes ads_read and business_management as recommended permissions to set up the Conversions API.
The configuration can be modified after creation; you can add additional permissions required for your use cases in the configuration settings.
For Conversions API partner platform, your app should get the following features and permissions:
Note: advanced access of the Marketing API Access Tier feature must be approved through App Review on an individual permission and feature basis in the App Dashboard. The permission is required when the third-party app is used in production. Your app needs to meet these requirements before applying for the feature:
- Have successfully made at least 1500 Marketing API calls in the last 15 days.
- Have made Marketing API calls with an error rate of less than 15% in the last 15 days.
If you’re managing someone’s ads, use the scope parameter to prompt them for the ads_management/business_management or ads_read permissions. Your app gets access when they click Allow.
Refer to the
Conversions API end-to-end guidebook for the full list of permissions and features. Some permissions require
App Review approval before they can be used in production. Submit your app for review before launching your integration.
1.4: Copy and retain the Configuration ID — you will need this value when setting up the Login Dialog.
This step covers embedding the Facebook Login for Business onboarding button on your platform. It includes setting up the JavaScript SDK, configuring the login dialog, and creating the trigger button.
2.1: Set Up and Configure Facebook JavaScript SDK
Follow the
basic setup for instructions on loading the Facebook JavaScript SDK.
The fbAsyncInit function must be attached to the window object before the line of code loading the JavaScript SDK as the SDK calls this function to set up the Facebook Login information.
Example:
<script>
window.fbAsyncInit = function() {
FB.init({
appId: 'your-facebook-app-id', // Meta App ID
xfbml: true, // Parses social plugins on the page
version: 'v24.0' // Meta Graph API version
});
};
</script>
// Load the JavaScript SDK asynchronously
<script async defer crossorigin="anonymous" src="https://connect.facebook.net/en_US/sdk.js"></script>
2.2 Configure Login Dialog
After loading the JavaScript SDK, configure the FB.login() function to trigger the business integration system user (BISU) token Conversions API onboarding flow.
Set the response_type to code, since BISU’s require the authorization code grant type, and override_default_response_type must be set to true. When true, any response types passed in the response_type will take precedence over the default types.
function launchCAPIOnboarding() {
FB.login(function (response) {
if (response.authResponse) {
const code = response.authResponse.code;
// Send the code to your backend for token exchange
sendCodeToBackend(code);
} else {
console.log('User cancelled login or did not fully authorize.');
}
}, {
config_id: '<CONFIG_ID>', // Configuration ID from Step 1
response_type: 'code', // Must be 'code' for BISU token
override_default_response_type: true // Required when using response_type
});
}
2.3 Set Up a Button to Launch Onboarding
Create a button or link on desired location on your website to launch the Conversions API onboarding flow. Use the onClick function to call the login function configured in Step 2.2
<button onclick="launchCAPIOnboarding()">
Connect with Facebook
</button>
Step 3: Exchange Code for BISU Token
When the user completes the onboarding using the login dialog flow, we will redirect the user to your redirect URL and include a code. You must then exchange this code for an access token by performing a server-to-server call to our servers.
When a user successfully completes the login flow, the FB.login() callback (configured in Step 2.2) receives an authorization code in response.authResponse.code. This code must be exchanged for a business integration system user (BISU) token.
GET
https://graph.facebook.com/v24.0/oauth/access_token?
client_id=<APP_ID>
&client_secret=<APP_SECRET> // Meta App Secret
&code=<CODE>
Step 4: Retrieve Client Business ID from BISU Token
To get a client business ID from the business integration system user access token, send a GET request to the /me endpoint with the fields parameter set to client_business_id and the access_token parameter to your app user’s business integration system user access token
curl -i -X GET \ "https://graph.facebook.com/<API_VERSION>/me?fields=client_business_id&access_token=<BUSINESS_INTEGRATION_SYSTEM_USER_ACCESS_TOKEN>"
On success, your app receives a JSON response with user’s client business ID:
{
"client_business_id": "<CLIENT_BUSINESS_ID>",
"id": "<APP_SCOPED_ID>"
}
Step 5: Retrieve Datasets
With the generated token and the client business ID, you can retrieve the list of datasets owned by or shared with the business.
Get Owned Datasets
curl -i -X GET \
"https://graph.facebook.com/<API_VERSION>/<BUSINESS_ID>/owned_pixels?access_token=<ACCESS_TOKEN>"
Get Shared Datasets
curl -i -X GET \
"https://graph.facebook.com/<API_VERSION>/<BUSINESS_ID>/client_pixels?access_token=<ACCESS_TOKEN>"
Uninstall Facebook Login for Business
Once your customers are logged in, you also need to give them a way to log out, disconnect their account, or delete it altogether. In addition to being a courtesy, this is also a requirement of our
Developer Policies for Login. When a user wants to offboard the integration in their business, we should revoke the corresponding granular BISU on that Meta dataset by revoking the access token using the
process outlined here and uninstall the app.
Alternatively, if a user desires to offboard a specific dataset that has the Conversions API integration in the Business Manager, you can redirect the user by using the deeplink: https://business.facebook.com/latest/settings/connected_apps/?business_id=<BUSINESS_ID>, or the user can go to Business Manager’s Settings > Connected apps to remove the access to the dataset from the app manually.
Frequently Asked Questions
Q: How do I set up the Conversions API for clients but limit only to see 1 dataset in the drop down to ensure only one onboarding at a time?
A: Currently the permission is based on the user access. We will look into how to make this available in the near future.
Q: My business is a booking agency. Is Facebook Login for Business supporting booking onboarding?
A: Booking is not supported yet in Facebook Login for Business. Meta will consider supporting this in the future.
Q: My integration has multiple capacities and I need to add additional permissions to the template. Is this possible?
A: Yes, once the template is used, the template is still modifiable in configurations. You can add any new permissions which are required for your use cases.