---
search:
  tags:
    - Campaign Plans
    - GET
seo:
  description: >-
    Reads what each Line Item of a Campaign Plan delivered. AdCrunch… Reference
    for the GET /context/campaign-plans/{slug}/delivery endpoint in the AdCrunch
    API.
sidebar:
  label: Get the delivery of a Campaign Plan
  badge: GET
title: Get the delivery of a Campaign Plan
type: openapi-operation
---
Reads what each Line Item of a Campaign Plan delivered. AdCrunch calculates the answer on each read, and it stores nothing.

For each Line Item, the answer gives:

- The sums of the spend, the impressions, the clicks, the conversions and the conversion value of the objects that the Line Item recorded, from the start that applies to today, or to the end that applies when it is in the past. `cpa`, `cpc`, `cpm` and `roas` come from the sums.
- The pacing: the spend against the spend that the budget expects by today, as a ratio. It is never a verdict.
- The target against the same metric, delivered.
- `asOf`, the most recent day that the sums include.

A campaign holds the spend of its ad sets, so an object with a recorded ancestor is not counted again. A Line Item with no recorded object is `nothing_recorded`, which is not a spend of 0. AdCrunch never converts a currency: an object in another currency makes the money `comparable: false`.

The total reads the objects of all the Line Items again, over the window of the Campaign Plan, and counts each object once. So it can be less than the sum of the Line Items.

The MCP tool `campaign_plan_delivery` gives the same answer to an agent.

`GET /context/campaign-plans/{slug}/delivery`
