Call Ads
Updated: May 21, 2026
Copy for LLM
Ads in WhatsApp Status are available via the Marketing API. Learn more about ads in WhatsApp Status.
This guide explains how to create and publish call ads using the Marketing API from Meta.
Before you start
This guide assumes you have:
- An ad account with Meta with a valid payment method
- Uploaded any assets, such as images or videos, to be used in your ads to Meta servers
To make successful calls to all endpoints in this guide, you will need:
- A Page access token requested by a person who can perform the
ADVERTIZEtask on the Page - A person using your app must grant the following permissions:
ads_managementpages_manage_adspages_read_engagementpages_show_list
Recommendations
Be sure to set the open hours for your business in your
Facebook Page Settings.
When testing an API call, you can include the
access_token parameter set to your access token. However, when making secure calls from your app, use the access token class.Limitations
- The target audience must be 18 years old or older
- The phone number included in Call to Action must be from the same country as the target audience
Step 1: Create a Campaign
To create your ad campaign send a
POST request to the act_ad_account_id/campaigns endpoint where ad_account_id is the ID for your Meta ad account. Your request must include:
nameobjective– set to one of the following supported objectives:OUTCOME_AWARENESSOUTCOME_ENGAGEMENTOUTCOME_LEADSOUTCOME_SALESOUTCOME_TRAFFIC
special_ad_categories
Example request
Formatted for readability. Replace bold, italics values, such as ad_account_id, with your values.
curl -X POST "https://graph.facebook.com/v26.0/act_ad_account_id/campaigns" \
-H "Content-Type: application/json" \
-d '{
"name":"Call_ad_campaign_name",
"objective":"OUTCOME_TRAFFIC",
"special_ad_categories":["NONE"],
}'
On success your app receives a JSON response with the ID for your campaign.
{
"id": "campaign_id"
}
Step 2: Create an Ad Set
To create an ad set, send a
POST request to the act_ad_account_id/adsets endpoint where ad_account_id is the ID for your Meta ad account. Your request must include:
bid_amountbilling_eventset toIMPRESSIONScampaign_iddaily_budgetdestination_typeset toPHONE_CALLnameoptimization_goalset toQUALITY_CALLfor call adstargeting
Example request
Formatted for readability. Replace bold, italics values, such as ad_account_id, with your values.
curl -X POST "https://graph.facebook.com/v26.0/act_ad_account_id/adsets"
-H "Content-Type: application/json"
-d '{
"bid_amount":"Your_bid_amount",
"billing_event":"IMPRESSIONS",
"campaign_id":"Your_campaign_id",
"daily_budget":"Your_daily_budget",
"destination_type":"PHONE_CALL",
"name:"Your_call_adset_name",
"optimization_goal":"QUALITY_CALL",
"targeting":{
"geo_locations": { "countries":["US","CA"] },
"device_platforms": ["mobile"],
"publisher_platforms": ["facebook"]
}
}'
On success your app receives the following JSON response with the ID for the ad set.
{
"id": "adset_id"
}
Step 3: Create Ad Creative
The ad creative allows you to add assets to your ads. Carousel, image, text-only, and video ads are supported.
To create an ad creative, send a
POST request to the /act_ad_account_id/adcreatives endpoint where ad_account_id is the ID for your Meta ad account. Your request must include:
nameobject_story_specobject_story_specwith alink_dataobject that defines thecall_to_actionwithtypeset toCALL_NOWandvalueas the phone number for your business
Image ad example request
Formatted for readability. Replace bold, italics values, such as page_access_token, with your values.
curl -X POST "https://graph.facebook.com/v26.0/act_ad_account_id/adcreatives"
-H "Content-Type: application/json"
-d '{
"name":"Your_call_image_ad_name",
"object_story_spec":{
"page_id": "your_page_id",
"link_data": {
"picture": "Your_image_URL",
"link": "Your_business_page_URL",
"call_to_action": {
"type":"CALL_NOW",
"value":{ "link":"tel:+Your_business_phone_number_with_country_code" }
}
}
}
}'
On success your app receives the following JSON response with the ID for the ad creative.
{
"id": "ad_creative_id"
}
Step 4: Create the Ad
To create the ad you need to associate the ad creative and the ad set. To create the ad, send a
POST request to the /act_ad_account_id/ads endpoint where ad_account_id is the ID for your Meta ad account. Your request must include:
Ad with creative example request
Formatted for readability. Replace bold, italics values, such as ad_account_id, with your values.
curl -X POST "https://graph.facebook.com/v26.0/act_ad_account_id/ads"
-H "Content-Type: application/json"
-d '{
"adset_id": "Your_ad_set_id",
"creative": { "creative_id": "Your_ad_creative_id" },
"status": "PAUSED"
}'
On success your app receives the following JSON response with the ID for the ad.
{
"id": "ad_id"
}
Next steps
Visit the Get Started guide to learn how to submit your ad for review.
Learn more
Learn more about the Marketing API and additional options for call ads.