> ## Documentation Index
> Fetch the complete documentation index at: https://docs.apostra.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Goal-seeking campaigns

> How a campaign states what it is trying to achieve, how sellers answer on those terms, what a seller can and cannot promise, who counts the result, and how delivery is judged against the goal.

A campaign should be trying to achieve something, and you should be able to
tell whether it did. A goal-seeking campaign states its goal in a form sellers
can price against, keeps what each seller committed to, carries that
commitment onto the booked media buy, and judges delivery against it.

Take a buyer who says "find dog lovers in Slovenia and get them to my online
store, €5,000". Store traffic is how they will know it worked. Their agent
turns that into a goal statement: clicks, at €3 or less per click, counted by
the seller's ad server, from a seller willing to guarantee the price. Sellers
answer on those terms. One guarantees €3 per click and forecasts 1,700 clicks;
one can only aim for €4.50; one does not sell on clicks and passes. The agent
books the first. At the end of the flight the campaign reports 1,740 clicks at
€2.90, which beat the target.

This page explains each part of that loop. The field shapes live on the
[campaign](/v2/object-guides/campaign#optimization-goal-target-strength-performanceconfig)
and [media buy](/v2/buyer/campaigns/media-buys#optimization-goals) guides;
the request flow is in the
[buyer workflows](/v2/setup/v3/buyer-workflows#3-request-proposals-from-eligible-sellers).

## The goal statement

A goal has four parts. You should be able to read all four in one line:
*clicks, at €3 or less, counted by the seller's ad server, guaranteed*.

| Part                  | What it is                                                                                                                                   | Where it lives                                                                                                                                              |
| --------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Goal**              | The thing you are buying: a delivery metric (clicks, completed views, reach), or an event you track (purchase, lead, a custom event).        | `performanceConfig.optimizationGoals[]` on the campaign, as a `metric` or `event` goal.                                                                     |
| **Target**            | The number that makes the goal a success: a cost per unit, a minimum rate, a minimum return on ad spend, or "as much as possible". Optional. | The goal's `target`. A `cost_per` target may carry a `strength` of `cap` (hard maximum) or `target` (aim for it).                                           |
| **Counted by**        | Who produces the number the goal is judged on. Derived from the goal kind, not chosen.                                                       | See [Who counts the result](#who-counts-the-result).                                                                                                        |
| **Commitment wanted** | Whether you want a seller who guarantees the price per result, one who will try for it, or one who only reports it.                          | A preference you state to your agent when you set the goal. It is not a field on the campaign and it does not bind a seller; the seller's pricing terms do. |

The first goal in the list is the primary goal. Sellers see the whole ranked
list; commitments and delivery verdicts are judged against the primary goal.

## Who counts the result

Every goal is counted by exactly one party. Choosing a goal chooses who counts
it, and each choice needs something different from you.

| Goal kind                                                                          | Counted by                                                                                                     | What it needs from you                                                                                                 | What it can promise                                                                                                                                                                                 |
| ---------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Metric goal (`clicks`, `completed_views`, `reach`, ...)                            | The seller's ad server. The seller reports the number and can be held to it.                                   | Nothing beyond the goal.                                                                                               | A seller can guarantee a price per unit, because it measures the unit itself.                                                                                                                       |
| Event goal (`purchase`, `lead`, `custom`)                                          | Your event source: a pixel, a server-side tracker, or an imported conversion feed, with an attribution window. | An [event source](/v2/buyer/event-sources/tasks/index) on the advertiser, and the attribution window you want applied. | A seller can price against your events only if it can read them back; otherwise it optimises toward the event and reports what it sees.                                                             |
| Vendor-measured goal (store visits by a measurement vendor, brand lift by a panel) | The measurement vendor.                                                                                        | A measurement source that names the vendor.                                                                            | Planned, not yet a goal kind. Today, state a vendor-measured outcome in the campaign brief so sellers can read it; the platform does not send it as a structured goal or judge delivery against it. |

Sellers never see your event source id, tracker configuration, or the names of
your custom events. An event goal reaches a seller as its event type (for
example `purchase`) and value field only.

## What sellers see

When you [request proposals](/v2/setup/v3/buyer-workflows#3-request-proposals-from-eligible-sellers),
every solicited seller receives the same brief. Alongside the flight,
geography, channels, formats and audience requirements, the brief carries a
goals section: for each goal, its kind, metric or event type, target, priority
and attribution window. A seller reads a line such as "clicks, target cost
3.00 or less per click in the buy currency, counted by the seller's delivery
metrics" and prices against it.

The campaign budget stays withheld. The platform never turns a cost target
into a volume for sellers (budget divided by cost per click), because that
would hand every seller the budget. Sellers quote a price and forecast a
volume; you decide how much of the budget to place with each.

## What a seller can promise

AdCP is explicit about liability: a seller's bid target is "not a per-result
guarantee". The guarantee, when there is one, is the **price**. A seller that
sells a fixed price per click on a guaranteed product is on the hook for that
price. A seller that sells impressions and promises to aim for €3 per click is
trying.

The platform reads each proposal's commercial terms and labels every
allocation with one of three commitment kinds.

| Commitment    | What the seller is saying                                           | Who carries the risk                                                                                                                                                   | How it is read off the terms                                                                                                                   |
| ------------- | ------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| `guaranteed`  | "You pay this much per result, and I make it good if I fall short." | The seller. If results come in under forecast you pay for what was delivered at the agreed price; if the seller cannot deliver, its makegood policy applies.           | A fixed price on the outcome itself (`cpc`, `cpa`, `cpcv`, `cpv`) on a guaranteed product, or with a makegood policy in the measurement terms. |
| `best_effort` | "I will aim for this number."                                       | You. The seller optimises toward the target and reports against it, but you pay for exposure (or an outcome price with no guarantee) whether or not the target is met. | An outcome price without guaranteed delivery or remedies, or a seller optimisation goal with a cost-per or return target for your goal.        |
| `report_only` | "I will show you the number."                                       | You. Nothing in the terms is tied to your goal.                                                                                                                        | Exposure pricing (`cpm`, flat rate) with no seller goal for what you asked, or a fixed price on a different outcome.                           |

Two things follow. A seller's prose ("we are confident in strong click-through
performance") never changes the kind; only terms do. And a proposal is only as
committed as its least committed part: if one allocation is `guaranteed` and
another is `report_only`, the proposal's commitment is `report_only`.

## How proposals answer on the goal's terms

Each quoted proposal carries one goal answer per allocation and a
proposal-level commitment. The answer names the pricing model and fixed price,
the delivery type, the measurement terms, the goal you asked for, the target
the seller's terms actually commit or aim at, and the resulting commitment
kind. The proposal-level summary gives the weakest kind, the worst answered
cost, and whether every allocation meets your asked target.

That lets your agent compare sellers on the goal's terms rather than on price
alone: a guaranteed €3 per click and a best-effort €2.50 per click are
different offers, and the second is not cheaper. Field by field, see
[Read what a seller committed to](/v2/setup/v3/buyer-workflows#read-what-a-seller-committed-to).

A seller that returned no structured answer is labelled as such. The platform
does not guess a commitment from how well the prose aligns with the brief.

## What the booked buy carries

Accepting a proposal books media buys, and each buy carries a
[goal commitment](/v2/buyer/campaigns/media-buys): the goal you
asked, the target the seller answered, the commitment kind, the per-product
answers, and the proposal version they came from. A buy created without a
proposal still gets a commitment from its own terms, so a fixed CPC on a
guaranteed product reads `guaranteed` even if you stated no goal.

The commitment is fixed at booking. A later change to the buy books a new row
with its own commitment, so the record of what was promised when you spent the
money never moves.

## Judging delivery

A campaign with a goal reports two different things, and they answer two
different questions.

**Pacing** answers "is the budget being spent on schedule?". It compares spend
to the flight and to the budget, and it is available on every campaign.

**Goal progress** answers "is the campaign achieving what it set out to?". It
is a planned read, not yet part of delivery: it will compare the number the
goal is counted on (clicks, purchases, store visits) against the asked target
and the seller's commitment, judged on these rules:

* **Achieved, not estimated.** The achieved cost per unit, rate, or volume is
  computed from the same delivery metric the goal names. A missing metric is
  reported as unavailable, never as zero.
* **No verdict without evidence.** A verdict of on track, behind, or beat is
  given only when there are enough observations for the metric to mean
  something. On day one, or when the seller has not yet reported the metric,
  the campaign says why there is no verdict yet instead of guessing.
* **Basis.** Every number says who counted it: the seller, a measurement
  vendor (with its coverage), or your own event source (with its attribution
  method and window). A seller's click count and your pixel's click count are
  both real and can legitimately differ.
* **Freshness.** Every number says how final it is: the period it covers, the
  measurement window, whether a later window supersedes it, and which metrics
  the seller committed to report but has not yet.

<Note>
  **Planned.** Goal progress with a verdict, basis and freshness is not yet
  available on campaign or media buy delivery. Today delivery reports the
  metrics and pacing only. Compare
  [campaign delivery](/v2/setup/v3/buyer-workflows#7-query-campaign-delivery)
  against the commitment on each media buy yourself, and treat a metric the
  seller has not reported as unknown rather than zero. This page will change
  when goal progress ships.
</Note>

## The seller's record

A seller's record against past commitments is planned, and depends on goal
progress. Once a buy with a commitment completes, the platform will keep what
was asked, what was answered, what was delivered, and whether the seller beat,
met or missed its commitment. Aggregated per seller and objective, and split
by commitment kind, because a kept guarantee and a beaten best effort are
different facts, that record will feed product ranking and automatic
selection, and be readable on the seller so you can ask before booking.

<Note>
  **Planned.** Nothing ranks or exposes sellers by their record today. The
  commitment on each completed media buy is the record you can read now.
</Note>

## If you do not state a goal

A goal is optional. Without one, sellers price against the brief alone: the
brief they receive carries no goals section. Each proposal still carries goal
answers and a commitment kind read off its terms, but they answer no goal of
yours. The asked goal and `meetsAskedTarget` are empty, and the kind only
says whether the seller priced on an outcome at all (a fixed price per click
on a guaranteed product still reads `guaranteed`). Compare such offers on
price, forecast and fit to the brief.

You can add a goal later. Sellers answer the goals in the brief they
received, so a proposal round requested before the goal existed does not
answer it; request a new round for sellers to answer on the goal's terms.

## Three questions to ask before you book

**How will you know it worked?** Name the number and the target. If the
answer is "more sales", the goal is a purchase event and the target is a cost
per purchase or a return on ad spend. If the answer is "people saw it", the
goal is reach or completed views.

**Who counts it?** A metric goal is counted by the seller, so the seller can
guarantee it. An event goal is counted by your event source, so you need one
set up, and the seller can only aim for it unless it can read your events.
A vendor-measured goal is counted by the vendor.

**Is the seller liable?** Only when the commitment kind is `guaranteed`: a
fixed price on the outcome itself with guaranteed delivery or a makegood
policy. A best-effort target, however confident the prose, leaves the risk
with you. Read the commitment, not the pitch.
