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

# Get Campaign

**Tool name** `get_campaign`

<Info>Read-only · Idempotent</Info>

Reads one GAM campaign (order) — its details and lifetime delivery (impressions, CTR, viewability) — with optional breakdowns per cohort, per day, or per line item.

## Example prompt

> Break down that campaign's delivery by cohort and by day so I can see which audiences drove impressions.

## Parameters

<ParamField body="campaign_id" type="string" required>
  The campaign id to read (from list\_campaigns).
</ParamField>

<ParamField body="include" type="enum[]">
  Which breakdowns to include. Omit for the campaign's totals only. each one of: `targeted_cohorts`, `observed_cohorts`, `day`, `line_item`.
</ParamField>

<ParamField body="line_item_ids" type="string[]">
  Restrict every figure to these line items.
</ParamField>

<ParamField body="workspace_ids" type="string[]" required>
  The workspaces the campaign runs across — pass the `workspace_ids` from the campaign's list\_campaigns row. min 1 item.
</ParamField>

## Returns

<ResponseField name="campaign" type="CampaignDetail object" required>
  The campaign's details.

  <Expandable title="CampaignDetail">
    <ResponseField name="active" type="boolean" required>
      Whether the campaign is currently active — its end date is in the future.
    </ResponseField>

    <ResponseField name="agency" type="string">
      Agency associated with the order, when GAM records one. Often absent.
    </ResponseField>

    <ResponseField name="end_date" type="string" required>
      Order end date (ISO 8601).
    </ResponseField>

    <ResponseField name="name" type="string" required>
      Campaign (order) name.
    </ResponseField>

    <ResponseField name="permutive_targeted" type="boolean" required>
      Whether the campaign uses Permutive targeting.
    </ResponseField>

    <ResponseField name="start_date" type="string" required>
      Order start date (ISO 8601).
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="cohort_breakdown" type="CohortBreakdownItem[]">
  Per-cohort breakdown, when requested via include.

  <Expandable title="CohortBreakdownItem">
    <ResponseField name="audience_by_workspace" type="WorkspaceAudience[]">
      This cohort's available audience (estimated unique users, last 30 days) in each of the requested workspaces — showing where its users are collected.

      <Expandable title="WorkspaceAudience">
        <ResponseField name="available_unique_users" type="integer (int64)" required>
          Estimated unique users (last 30 days) for the cohort available in this workspace; 0 = no recent activity here.
        </ResponseField>

        <ResponseField name="workspace_id" type="string (uuid)" required>
          One of the requested workspace ids.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="cohort_id" type="string" required>
      Short cohort identifier. Pass to get\_cohort\_detail or as a measure\_audiences reference.
    </ResponseField>

    <ResponseField name="cohort_type" type="enum" required>
      The cohort's type (e.g. custom, lookalike). one of: `custom`, `lookalike`, `contextual`, `standard`, `classificationModel`, `advertiser`, `curated`.
    </ResponseField>

    <ResponseField name="ctr" type="number (double)">
      This cohort's absolute click-through rate.
    </ResponseField>

    <ResponseField name="ctr_index" type="number (double)" required>
      This cohort's click-through rate relative to the campaign's overall CTR (cohort\_ctr / campaign\_ctr). 1.0 = the campaign average; >1 = clicks better than average, \<1 = worse.
    </ResponseField>

    <ResponseField name="impressions" type="integer (int64)" required>
      This cohort's impressions (per the reading in `targeted`).
    </ResponseField>

    <ResponseField name="name" type="string" required>
      Human-readable cohort name.
    </ResponseField>

    <ResponseField name="share" type="number (double)">
      This cohort's impressions as a fraction of the campaign's total (0..1).
    </ResponseField>

    <ResponseField name="targeted" type="boolean" required>
      Whether the campaign targets this cohort.
    </ResponseField>

    <ResponseField name="viewability" type="number (double)">
      This cohort's viewable-impression percentage (0..1).
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="ctr" type="number (double)" required>
  Lifetime click-through rate.
</ResponseField>

<ResponseField name="day_breakdown" type="CampaignDayItem[]">
  The campaign's own delivery by day (impressions/CTR/viewability), for spotting trends over its flight. Present when `day` is in include.

  <Expandable title="CampaignDayItem">
    <ResponseField name="ctr" type="number (double)" required>
      The campaign's click-through rate on this day.
    </ResponseField>

    <ResponseField name="day" type="string" required>
      The day (ISO 8601 date).
    </ResponseField>

    <ResponseField name="impressions" type="integer (int64)" required>
      The campaign's impressions on this day.
    </ResponseField>

    <ResponseField name="viewability" type="number (double)" required>
      The campaign's viewable-impression percentage on this day (0..1).
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="impressions" type="integer (int64)" required>
  Lifetime impressions delivered against the order (line-item-scoped when line\_item\_ids is set).
</ResponseField>

<ResponseField name="impressions_vs_order" type="OrderComparison object">
  Comparison of the restricted impressions to the whole order. Present only when line\_item\_ids is set.

  <Expandable title="OrderComparison">
    <ResponseField name="share_of_order" type="number (double)" required>
      This figure as a fraction of the whole order's figure (0..1).
    </ResponseField>

    <ResponseField name="vs_order_average" type="number (double)" required>
      This figure divided by the order's per-line-item average (1.0 = exactly average).
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="line_item_breakdown" type="LineItemBreakdownItem[]">
  Per-line-item breakdown, when requested via include.

  <Expandable title="LineItemBreakdownItem">
    <ResponseField name="ctr" type="number (double)" required>
      This line item's click-through rate.
    </ResponseField>

    <ResponseField name="impressions" type="integer (int64)" required>
      Impressions delivered by this line item.
    </ResponseField>

    <ResponseField name="line_item_id" type="string" required>
      The GAM line item id.
    </ResponseField>

    <ResponseField name="name" type="string" required>
      Line item name.
    </ResponseField>

    <ResponseField name="targeted_impressions" type="integer (int64)" required>
      Permutive-targeted impressions delivered by this line item (capped).
    </ResponseField>

    <ResponseField name="viewability" type="number (double)" required>
      This line item's viewable-impression percentage (0..1).
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="other_cohorts" type="OtherCohorts object">
  The aggregate of cohorts on this campaign not listed in cohort\_breakdown (not visible to you, or not resolvable in the cohort catalogue). Present with the cohort breakdown when any were dropped, so the breakdown accounts for all cohort delivery. Absent when nothing was dropped.

  <Expandable title="OtherCohorts">
    <ResponseField name="count" type="integer (int32)" required>
      How many cohorts are aggregated here — those beyond the top-by-impressions cap, plus any not resolvable in the catalogue (owned outside this workspace, or uncatalogued). For observed\_cohorts this is often large and is not a defect.
    </ResponseField>

    <ResponseField name="ctr" type="number (double)" required>
      Impression-weighted click-through rate across those cohorts.
    </ResponseField>

    <ResponseField name="impressions" type="integer (int64)" required>
      Summed impressions of those cohorts (same reading as the individual rows: targeted or observed).
    </ResponseField>

    <ResponseField name="share" type="number (double)">
      These cohorts' combined impressions as a fraction of the campaign total (0..1).
    </ResponseField>

    <ResponseField name="viewability" type="number (double)" required>
      Impression-weighted viewable-impression percentage across those cohorts (0..1).
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="viewability" type="number (double)" required>
  Lifetime viewable-impression percentage (0..1).
</ResponseField>
