# Reported issues for meta-ads

Pod holds 8 of 8 problems reported by people outside the maintainer team. Issues filed by the project's own owners, members and collaborators are excluded entirely — a maintainer's release checklist is not a warning to a prospective user.

Back to [meta-ads](/mcp/meta-ads).

## Most discussed

### Add billing/transaction history tool

## Feature Request

No tool exists to retrieve billing charges or transaction history for an ad account. This data is available via the Graph API:

```
GET /act_{id}/activities
  ?fields=actor_name,event_time,event_type,extra_data
```

Filter by `event_type = ad_account_billing_charge` to get billing transactions. Each charge includes:

- Transaction ID
- Amount (in cents)
- Currency
- Timestamp

Receipt URLs can be constructed as:
`https://www.facebook.com/ads/receipt/?transaction_id={id}`

## 

[Read the thread](https://github.com/mikusnuz/meta-ads-mcp/issues/8) · 2026-04-20 · closed · external user · 0 comments

### upload_video only accepts URLs, not local files

## Feature Request

`upload_video` only accepts a `file_url` (public URL). There is no way to upload a local video file from disk.

Many ad creation workflows start with local media files (recorded videos, generated content). Currently the only option is to host the file somewhere publicly accessible first, then pass the URL.

## Requested Change

Add support for local file uploads to `upload_video`, similar to how `upload_image` is supposed to work. The Meta Graph API supports chunked upload fo

[Read the thread](https://github.com/mikusnuz/meta-ads-mcp/issues/7) · 2026-04-20 · closed · external user · 1 comment

### No way to set or remove campaign spend_cap

## Feature Request

There is no tool to set or remove a campaign-level `spend_cap`. This is needed for:

- Setting a maximum lifetime spend on a campaign
- Removing a spend cap to let a campaign run on daily budget only
- Setting account-level spend cap to zero (to freeze an account)

## Requested Change

Either add `spend_cap` to `update_campaign` / `update_ad_account`, or add a dedicated `set_spend_cap` tool.

## Meta API Reference

```
POST /{campaign_id}
  spend_cap=50000  (in cents, so )

P

[Read the thread](https://github.com/mikusnuz/meta-ads-mcp/issues/6) · 2026-04-20 · closed · external user · 1 comment

### create_adset missing promoted_object parameter

## Bug

`create_adset` does not have a `promoted_object` parameter.

OUTCOME_SALES campaigns **require** `promoted_object` on every ad set:

```json
{
  ""pixel_id"": ""1234567890"",
  ""custom_event_type"": ""PURCHASE""
}
```

Without it, ad set creation fails with a blame_field_specs error pointing to `promoted_object`.

## Impact

This is a blocker for creating any ad set under a SALES campaign — the most common e-commerce campaign type.

## Requested Change

Add `promoted_object` parameter (

[Read the thread](https://github.com/mikusnuz/meta-ads-mcp/issues/5) · 2026-04-20 · closed · external user · 1 comment

### create_campaign missing is_adset_budget_sharing_enabled parameter

## Bug

Campaign creation fails on new ad accounts with:

> Must specify True or False in is_adset_budget_sharing_enabled

The `create_campaign` tool does not expose this parameter, so campaigns cannot be created at all on accounts that require it.

## Steps to Reproduce

1. Create a new Meta ad account
2. Use `create_campaign` with name, objective, daily_budget
3. Creation fails with the above error

## Expected Behavior

`create_campaign` should accept `is_adset_budget_sharing_enabled` (or def

[Read the thread](https://github.com/mikusnuz/meta-ads-mcp/issues/4) · 2026-04-20 · closed · external user · 1 comment

### create_campaign missing bid_strategy parameter

## Feature Request

`create_campaign` does not expose a `bid_strategy` parameter.

Meta defaults new campaigns to `LOWEST_COST_WITH_BID_CAP`, which **requires** `bid_amount` on every ad set. If the user doesn't set a bid amount, ad set creation fails with a confusing error.

## Impact

Most small advertisers want `LOWEST_COST_WITHOUT_CAP` (let Meta auto-bid). Without this parameter, every campaign creation requires a separate direct API call to fix the bid strategy.

## Requested Change

Add `bi

[Read the thread](https://github.com/mikusnuz/meta-ads-mcp/issues/3) · 2026-04-20 · closed · external user · 1 comment

### upload_image fails with OAuthException #3

## Bug

`upload_image` returns:

> (#3) Application does not have the capability to make this API call.

However, a direct multipart POST to `/act_{id}/adimages` using the **same access token** succeeds.

## Steps to Reproduce

1. Configure MCP with a valid user access token that has `ads_management` permission
2. Call `upload_image` with a valid public image URL
3. Observe OAuthException #3

## Expected Behavior

Image should upload successfully (same as direct API call).

## Workaround

Direct

[Read the thread](https://github.com/mikusnuz/meta-ads-mcp/issues/2) · 2026-04-20 · closed · external user · 1 comment

### Support for Ad Account in MCP calls

Is it possible to allow for ad account id's to be changed within mcp calls without needing to set env variables?

[Read the thread](https://github.com/mikusnuz/meta-ads-mcp/issues/1) · 2026-04-15 · closed · external user · 1 comment

## Most recent

The remaining reports are on [the project's issue tracker](https://github.com/mikusnuz/meta-ads-mcp/issues).
