Upsert campaign
PUT/ad-publishing/facebook/campaigns
Create or update a Facebook campaign
Request
API Version
v3- application/json
- Body
- Example (auto)
Bodyrequired
Campaign identifier
Location identifier
Campaign name
Campaign objective
OUTCOME_LEADSOUTCOME_TRAFFICOUTCOME_ENGAGEMENTOUTCOME_SALESSpecial ad categories
EMPLOYMENTCREDITFINANCIAL_PRODUCTS_SERVICESHOUSINGISSUES_ELECTIONS_POLITICSONLINE_GAMBLING_AND_GAMINGNONECampaign data source
User-provided overrides for custom_values merge tags used in ad copy
{
"id": "camp_123",
"locationId": "loc_abc123",
"name": "Summer Campaign",
"objective": "OUTCOME_LEADS",
"specialAdCategories": [
"NONE"
],
"source": "facebook",
"customValueMappings": {
"{{ custom_values.pet_name }}": "Fluffy"
}
}
The saved campaign, without its ad sets
- application/json
- Schema
- Example (auto)
Schema
Campaign identifier
Campaign name
Location identifier
Ad account the campaign belongs to
Facebook campaign id, set once published
Campaign objective
Special ad categories declared for the campaign
Publishing status of the campaign itself. Independent of its children — pausing one ad set leaves the campaign PUBLISHED.
DRAFTSCHEDULEDPUBLISHINGPUBLISHEDPAUSEDIN_REVIEWWITH_ISSUESREJECTEDARCHIVEDFAILEDDespite the name this is not always an error. Reads return null when there is nothing to report and the upsert returns "", but pausing an ad set or an ad overwrites it with an informational notice — One or more adsets are paused or One or more ads are paused — which the matching resume clears back to null. Treat it as a status line, not a failure signal.
Where the campaign was created from
Ancillary campaign metadata
Whether the campaign has edits not yet published
Created at
Updated at
{
"id": "6a323f3e4454921db1498ccf",
"name": "Spring promotion",
"locationId": "fRMewNQIxSyZ5R4nQyit",
"fbAdAccountId": "act_357046700569338",
"fbCampaignId": "120250378905720122",
"objective": "OUTCOME_LEADS",
"specialAdCategories": [
"NONE"
],
"publishingStatus": "DRAFT",
"fbError": null,
"source": "AD_MANAGER",
"meta": {
"evaluate": "{\"opportunityScore\":25,\"band\":\"Low\",\"categories\":[],\"fixItems\":[],\"sacCompliance\":{\"applicable\":false}}"
},
"unpublishedChanges": false,
"createdAt": "2026-06-17T06:31:26.599Z",
"updatedAt": "2026-08-19T11:45:39.340Z"
}