---
title: "Find Meta spend that bought nothing"
method: POST
path: "/api/v1/tools/meta_analyze_wasted_spend/execute"
tags: ["Meta Ads"]
---

# Find Meta spend that bought nothing

`POST /api/v1/tools/meta_analyze_wasted_spend/execute`

## Request

- Base URL: `https://adako.ai`
- URL: `https://adako.ai/api/v1/tools/meta_analyze_wasted_spend/execute`
- Auth: HTTP bearer

Finds ad sets that spent money and produced no results in the window, and ad sets whose cost per result is far above the account's own average. Everything still in the learning phase is listed separately and explicitly excluded from the "pause it" recommendation.
Use when: the user asks where their Meta budget is leaking, or before any budget reallocation.
Do not use as a pause list without reading the rule it prints — an ad set with no results may simply be new, or may be on an objective that records no conversions at all.
Returns three groups: wasted (spend above the threshold, zero results), expensive (cost per result more than the multiplier above the account average), and learning (spending but not yet out of the learning phase — leave these alone).
The rule is stated in the output so the user can disagree with it. If nothing crosses the threshold, say the account looks clean rather than inventing a finding.

## Headers

- `Idempotency-Key` string

## Request body

- object
  - `arguments` object
    - `ad_account_id` string: Meta ad account id such as act_1234567890. Omit it to use the primary account; if several accounts are active and none is primary the call fails and lists the valid ids.
    - `date_range` 'today' | 'yesterday' | 'last_7_days' | 'last_14_days' | 'last_30_days' | 'this_month' | 'last_month': Preset window. The "last N days" ones end yesterday, so no partial day is mixed in. Either this or start_date + end_date, never both.
    - `start_date` string: First day, YYYY-MM-DD. Needs end_date.
    - `end_date` string: Last day, YYYY-MM-DD, inclusive. Needs start_date.
    - `campaign_id` string: Restrict the analysis to one campaign.
    - `min_spend` number: Minimum spend (decimal, account currency) before an ad set counts as wasteful. Default: 1% of the window total, floor 10.
    - `cost_multiplier` number: How many times the account average cost per result counts as "expensive". Default 2.
    - `raw_data` boolean: Return compact JSON only (no markdown). Use when you will compute on the result.

## Response `200`

The tool ran. A write returns proposal_id and approve_url while the change waits for approval.

- SuccessEnvelope
  - `success` unknown, required
  - `tool` string, required
  - `data` object, required: Machine-readable result.
  - `markdown` string, required: The same result written for a person or a model.
  - `quota` Quota: Task usage for the current billing period.
    - `plan` string
    - `used` integer
    - `limit` integer
    - `period_end` string
    - `upgrade_url` string
  - `proposal_id` string: Present for writes. Nothing changes on the ad platform until it is approved.
  - `approve_url` string: Where a person approves the proposal.
  - `request_id` string, required

## Other responses

- `400`: Invalid arguments, or the ad account could not be resolved.
- `401`: Missing, invalid, revoked or expired API key.
- `402`: Monthly task quota used up, or the plan does not include this tool.
- `403`: The connected ad account lacks the access level this tool needs.
- `404`: Unknown tool name.
- `409`: Not connected, reconnect needed, confirmation required, a proposal already pending or no longer pending, an identical create that failed earlier today (proposal_failed_before), a create that duplicates an approved one (duplicate_create), the ad-account limit of the plan reached (account_limit), or an Idempotency-Key reused with different arguments.
- `429`: Rate limited by Adako or by the ad platform. See Retry-After.
- `500`: Unexpected error inside Adako.
- `502`: The ad platform returned an error.

---

[API](https://skmtc.dev/adako/apis/adako-rest-api.md) · [All operations](https://skmtc.dev/adako/apis/adako-rest-api/llms.txt) · [OpenAPI document](https://skmtc.dev/adako/apis/adako-rest-api/revisions/59ee60d48a56?raw)
