@adcp/sdk API Reference - v14.3.0
    Preparing search index...

    Interface OutcomeTarget

    Reverse-forecast planning input: a goal plus a volume, a cost_per target, or both (at least one). Goals use the forecastable-metric and event-type vocabularies, so forecast points always carry the goal's metric or event key in metrics, with forecast_range_unit 'clicks' or 'conversions' where those units apply. volume and cost_per define the request shapes and answers, which travel on proposals. list_products returns no proposals, so there the field is inert for every seller, declaring or not: it does not filter or rank products, produces no answer, and MUST NOT cause a rejection beyond schema validation. On request_proposals and proposal refinement, sellers not declaring media_buy.outcome_target MUST reject the field with UNSUPPORTED_FEATURE rather than silently ignore it; declaring sellers MAY reject a goal they cannot plan against at all (for example 'spend', which restates budget) with INVALID_REQUEST naming criteria.outcome_target.goal. A planning input, not a delivery guarantee: obligations arise only at proposal finalization.

    interface OutcomeTarget {
        goal:
            | { kind: "metric"; metric: ForecastableMetric }
            | { kind: "event"; event_type: EventType; custom_event_name?: string };
        volume?: number;
        cost_per?: OutcomeTargetCostPer;
    }
    Index
    goal:
        | { kind: "metric"; metric: ForecastableMetric }
        | { kind: "event"; event_type: EventType; custom_event_name?: string }

    The outcome to plan against: a seller-tracked delivery metric or an advertiser conversion event.

    Type Declaration

    • { kind: "metric"; metric: ForecastableMetric }
    • { kind: "event"; event_type: EventType; custom_event_name?: string }
      • kind: "event"
      • event_type: EventType
      • Optionalcustom_event_name?: string

        Required when event_type is 'custom'. Platform-specific name for the custom event.

        1

    volume?: number

    Desired total volume of the goal's metric or event across the planned flight. Alone, the seller solves for budget and answers with total_budget_guidance and a forecast. With cost_per, the seller plans toward the volume at the cost: under a cap it SHOULD keep the buyer's amount and forecast the lower volume it can deliver, unless no volume can be planned at that amount; under a target the ask is plannable when the seller can forecast the volume around it.

    cost_per?: OutcomeTargetCostPer