Skip to main content
Glama

Adbloop Meta Ads

create_campaign

Create ONE Meta campaign (created PAUSED for review). Free-plan friendly — counts toward your monthly campaign limit. To launch many at once or from a Drive folder, use bulk_create_campaigns (Pro). Needs a public imageUrl (or Drive/Dropbox share link) for image ads. WRITES live.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
appIdNoApp ID for App Promotion campaigns.
useCBONo
headlineNo
imageUrlNoImage for the ad. Paste a PUBLIC https image URL, OR a single Google Drive / Dropbox file share link (shared so 'Anyone with the link can view') — these are auto-converted. For a single campaign, ask the user for ONE image's share link. (Listing a whole Drive folder to spin up one campaign per image is a Pro feature.)
videoUrlNo
catalogIdNo
cboBudgetNo
countriesNoISO country codes; defaults to IN.
ctaButtonNo
objectiveYes
budgetTypeNoDAILY (default) or LIFETIME. LIFETIME needs lifetimeBudget and a scheduleEnd more than 24 hours after the start.
leadFormIdNoInstant-form ID for lead campaigns (instant_forms / website_and_instant_forms).
websiteUrlNo
appStoreUrlNoApp store URL for App Promotion campaigns.
bidStrategyNoLOWEST_COST_WITHOUT_CAP / COST_CAP / LOWEST_COST_WITH_BID_CAP / LOWEST_COST_WITH_MIN_ROAS.
dailyBudgetNo
descriptionNo
phoneNumberNoPhone number for Calls campaigns.
primaryTextNo
scheduleEndNoAd set end time, ISO 8601 datetime. Optional; when set, Meta stops the ad set at this time (auto-stop fail-safe). Required by Meta when a lifetime budget is used.
campaignNameYes
geoLocationsNoOPTIONAL specific places instead of whole countries (replaces countries when set). Get keys from search_locations. cities: [{ key, radius (km, 17-80; omit for the city only), country_code }], regions: [{ key, country_code }] (states), zips: [{ key e.g. "IN:380015", country_code }] (PIN/ZIP codes). Meta rejects overlapping places (e.g. a PIN inside a city radius). With a Special Ad Category: no zips, and cities need a radius of at least 25 km.
productSetIdNo
scheduleStartNoAd set start time, ISO 8601 datetime (e.g. 2026-09-20T09:00:00+08:00). Optional; defaults to ~1 hour from now.
lifetimeBudgetNoTotal budget for the whole schedule in the account currency, MAJOR units (e.g. 150 = SGD 150). Used when budgetType is LIFETIME; Meta will not spend more than this in total.
conversionEventNoPixel event for conversion goals, e.g. PURCHASE, LEAD, ADD_TO_CART.
meta_account_idNoAd account to create on (defaults to your primary).
performanceGoalNo
specialAdCategoryNoHOUSING / EMPLOYMENT / CREDIT / ISSUES_ELECTIONS_POLITICS (default NONE).
conversionLocationNo
regionalRegulatedCategoriesNoRegional regulated category codes required for certain locations (e.g. ["SINGAPORE_UNIVERSAL"] for Singapore Employment ads). Passed through to the ad set.
regionalRegulationIdentitiesNoVerified beneficiary/payer identity IDs, required together with regionalRegulatedCategories (e.g. { "singapore_universal_beneficiary": "<id>", "singapore_universal_payer": "<id>" }). Passed through to the ad set.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / budgetType
      Added value: +{
      +  "description": "DAILY (default) or LIFETIME. LIFETIME needs lifetimeBudget and a scheduleEnd more than 24 hours after the start.",
      +  "enum": [
      +    "DAILY",
      +    "LIFETIME"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / lifetimeBudget
      Added value: +{
      +  "description": "Total budget for the whole schedule in the account currency, MAJOR units (e.g. 150 = SGD 150). Used when budgetType is LIFETIME; Meta will not spend more than this in total.",
      +  "type": "number"
      +}
  2. Changed1 schema field changed
    • addedInput schema / properties / geoLocations
      Added value: +{
      +  "additionalProperties": true,
      +  "description": "OPTIONAL specific places instead of whole countries (replaces countries when set). Get keys from search_locations. cities: [{ key, radius (km, 17-80; omit for the city only), country_code }], regions: [{ key, country_code }] (states), zips: [{ key e.g. \"IN:380015\", country_code }] (PIN/ZIP codes). Meta rejects overlapping places (e.g. a PIN inside a city radius). With a Special Ad Category: no zips, and cities need a radius of at least 25 km.",
      +  "properties": {
      +    "cities": {
      +      "items": {
      +        "properties": {
      +          "country_code": {
      +            "type": "string"
      +          },
      +          "key": {
      +            "type": "string"
      +          },
      +          "radius": {
      +            "type": "number"
      +          }
      +        },
      +        "required": [
      +          "key"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "regions": {
      +      "items": {
      +        "properties": {
      +          "country_code": {
      +            "type": "string"
      +          },
      +          "key": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "key"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "zips": {
      +      "items": {
      +        "properties": {
      +          "country_code": {
      +            "type": "string"
      +          },
      +          "key": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "key"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    }
      +  },
      +  "type": "object"
      +}
  3. Changed2 schema fields changed
    • addedInput schema / properties / scheduleEnd
      Added value: +{
      +  "description": "Ad set end time, ISO 8601 datetime. Optional; when set, Meta stops the ad set at this time (auto-stop fail-safe). Required by Meta when a lifetime budget is used.",
      +  "type": "string"
      +}
    • addedInput schema / properties / scheduleStart
      Added value: +{
      +  "description": "Ad set start time, ISO 8601 datetime (e.g. 2026-09-20T09:00:00+08:00). Optional; defaults to ~1 hour from now.",
      +  "type": "string"
      +}
  4. Changed2 schema fields changed
    • addedInput schema / properties / regionalRegulatedCategories
      Added value: +{
      +  "description": "Regional regulated category codes required for certain locations (e.g. [\"SINGAPORE_UNIVERSAL\"] for Singapore Employment ads). Passed through to the ad set.",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • addedInput schema / properties / regionalRegulationIdentities
      Added value: +{
      +  "additionalProperties": true,
      +  "description": "Verified beneficiary/payer identity IDs, required together with regionalRegulatedCategories (e.g. { \"singapore_universal_beneficiary\": \"<id>\", \"singapore_universal_payer\": \"<id>\" }). Passed through to the ad set.",
      +  "type": "object"
      +}
  5. Changed10 schema fields changed
    • addedInput schema / properties / appId
      Added value: +{
      +  "description": "App ID for App Promotion campaigns.",
      +  "type": "string"
      +}
    • addedInput schema / properties / appStoreUrl
      Added value: +{
      +  "description": "App store URL for App Promotion campaigns.",
      +  "type": "string"
      +}
    • addedInput schema / properties / bidStrategy
      Added value: +{
      +  "description": "LOWEST_COST_WITHOUT_CAP / COST_CAP / LOWEST_COST_WITH_BID_CAP / LOWEST_COST_WITH_MIN_ROAS.",
      +  "type": "string"
      +}
    • addedInput schema / properties / catalogId
      Added value: +{
      +  "type": "string"
      +}
    • addedInput schema / properties / conversionEvent
      Added value: +{
      +  "description": "Pixel event for conversion goals, e.g. PURCHASE, LEAD, ADD_TO_CART.",
      +  "type": "string"
      +}
    • addedInput schema / properties / countries
      Added value: +{
      +  "description": "ISO country codes; defaults to IN.",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • addedInput schema / properties / leadFormId
      Added value: +{
      +  "description": "Instant-form ID for lead campaigns (instant_forms / website_and_instant_forms).",
      +  "type": "string"
      +}
    • addedInput schema / properties / phoneNumber
      Added value: +{
      +  "description": "Phone number for Calls campaigns.",
      +  "type": "string"
      +}
    • addedInput schema / properties / productSetId
      Added value: +{
      +  "type": "string"
      +}
    • addedInput schema / properties / specialAdCategory
      Added value: +{
      +  "description": "HOUSING / EMPLOYMENT / CREDIT / ISSUES_ELECTIONS_POLITICS (default NONE).",
      +  "type": "string"
      +}
  6. Changed1 schema field changed
    • addedInput schema / properties / imageUrl / description
      Added value: +"Image for the ad. Paste a PUBLIC https image URL, OR a single Google Drive / Dropbox file share link (shared so 'Anyone with the link can view') — these are auto-converted. For a single campaign, ask the user for ONE image's share link. (Listing a whole Drive folder to spin up one campaign per image is a Pro feature.)"
  7. Added

TDQS

Score is being calculated.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources