|

|  How to Use Facebook Marketing API to Create Lead Ads in Node.js

How to Use Facebook Marketing API to Create Lead Ads in Node.js

October 31, 2024

Discover step-by-step instructions for leveraging Facebook Marketing API to create effective lead ads using Node.js. Boost your marketing strategy today!

How to Use Facebook Marketing API to Create Lead Ads in Node.js

 

Set Up Your Environment

 

  • Ensure you have Node.js and npm installed on your machine. You will need these to run your scripts and manage dependencies.
  •  

  • Install necessary packages such as 'axios' for API calls and 'dotenv' for managing environment variables. Use the command below:

 

npm install axios dotenv

 

Configure Environment Variables

 

  • Create a `.env` file in the root directory of your project to keep sensitive data like your Facebook Access Token, App ID, App Secret, and Ad Account ID secure. Below is a sample format:

 

FACEBOOK_ACCESS_TOKEN=your_facebook_access_token
APP_ID=your_app_id
APP_SECRET=your_app_secret
AD_ACCOUNT_ID=your_ad_account_id

 

Set Up Facebook Marketing API

 

  • Install the Facebook SDK for Node.js, which will help you easily interact with the Facebook Marketing API.

 

npm install facebook-nodejs-business-sdk

 

  • Initialize the SDK in your project:

 

const bizSdk = require('facebook-nodejs-business-sdk');
const { Ad, AdCreative, LeadgenForm, Campaign } = bizSdk;
const api = bizSdk.FacebookAdsApi.init(process.env.FACEBOOK_ACCESS_TOKEN);

 

Create a Campaign

 

  • Begin by creating a campaign for your Lead Ads. Note that you need to specify the 'objective' as 'LEAD\_GENERATION'.

 

const campaign = new Campaign({
  name: 'Lead Campaign',
  objective: 'LEAD_GENERATION',
  status: 'PAUSED',
});

campaign.create(process.env.AD_ACCOUNT_ID).then((result) => {
  console.log('Campaign created with ID:', result.id);
});

 

Create a LeadgenForm

 

  • Create a lead generation form which will be associated with the ad

 

const leadgenForm = new LeadgenForm({
  name: 'Sample Lead Form',
  questions: [
    { type: 'EMAIL' },
    { type: 'FULL_NAME' }
  ],
  privacy_policy: {
    url: 'https://www.example.com/privacy'
  }
});

leadgenForm.create(process.env.PAGE_ID).then((result) => {
  console.log('Leadgen form created with ID:', result.id);
});

 

Create an Ad Creative

 

  • Generate an ad creative using the Facebook Marketing API to specify how the ad looks.

 

const adCreative = new AdCreative({
  name: 'Creative for Lead Ad',
  object_story_spec: {
    page_id: process.env.PAGE_ID,
    link_data: {
      image_hash: '<IMAGE_HASH>',
      link: 'https://www.example.com',
      message: 'Check out our new product!',
      call_to_action: {
        type: 'SIGN_UP',
        value: { lead_gen_form_id: leadgenFormId }
      }
    }
  }
});

adCreative.create(process.env.AD_ACCOUNT_ID).then((result) => {
  console.log('Ad creative created with ID:', result.id);
});

 

Create an Ad

 

  • Use the campaign ID and ad creative to set up your ad. Make sure to target your audience appropriately.

 

const ad = new Ad({
  name: 'My Lead Ad',
  adset_id: '<ADSET_ID>',
  creative: { creative_id: adCreativeId },
  status: 'PAUSED'
});

ad.create(process.env.AD_ACCOUNT_ID).then((result) => {
  console.log('Ad created with ID:', result.id);
});

 

Testing and Verifying

 

  • Enable logging to troubleshoot and verify that the requests are successfully hitting Facebook's API endpoints.
  • Use Facebook's Graph API Explorer or API testing tools like Postman to validate that your configurations are correctly set up.

 

Deploy and Monitor

 

  • After thoroughly testing, deploy your application to a live server environment.
  • Consistently monitor the performance of your lead ads and adjust parameters as needed based on analytical insights.