Queries

Digital audio pivot table

Changed on

Delivers a pivot table in CSV format of campaign data rolled up along various dimensions.

post/measurement/campaigns/{campaign_id}/dashboard/pivot

Request

  • Base URL
    https://api.magellan.ai/v2
  • URL
    https://api.magellan.ai/v2/measurement/campaigns/{campaign_id}/dashboard/pivot
  • Auth
    API key in header Authorization

Path parameters

campaign_idstring required
Example:0123456789abcdef

Request body

startDatestring date required

A start date in YYYY-MM-DD format.

endDatestring date required

An end date in YYYY-MM-DD format.

timezonestring

The timezone used to interpret the date range. Defaults to the campaign's configured time zone (or UTC).

attributionMethodology'last_touch' | 'equal_credit' | 'equal_credit_adjusted_display_weight'

Methodology option between last_touch, equal_credit, and equal_credit_adjusted_display_weight. If blank or broadcast, defaults to campaign setting (or last_touch).

dateFilterSource'exposure' | 'event'

Export filter option by exposure date or event date. Defaults to campaign setting (or exposure).

callbackUrlstring uri

HTTPS URL to receive completion/failure events.

attributionWindow1 | 3 | 7 | 14 | 30 | 60 | 90

How many days after an exposure a related conversion/response event may be attributed to it.

cellTowerMatchingboolean

Whether to include IP-direct matches within a pre-defined window (usually 2 hours) for impressions and conversion/response events that cannot be matched to a household via the device graph.

columnsstring[]

Column names to include in the export. Defaults to all available columns.

lineItemsstring[]

Filter by specific line items. Accepts line item names, podcast names, or ad IDs. On campaigns that track YouTube, pass "YouTube" to select YouTube traffic. Defaults to all campaign line items.

lineItemGranularity'line_item' | 'show' | 'episode'

Level of line item detail in the report.

timeScaleGranularity'summary' | 'month' | 'week' | 'day'

Time granularity for aggregation.

timeScale'daily' | 'weekly' | 'monthly' | 'all'

DEPRECATED; use timeScaleGranularity instead. Values daily, weekly, monthly, all are aliased to day, week, month, summary respectively.

geo'dma' | 'zip_code' | 'state' | 'country'

Geographic breakdown level. Not available for pod-to-pod campaigns.

Example request

{
  "startDate": "2026-03-01",
  "endDate": "2026-03-31",
  "timezone": "UTC",
  "callbackUrl": "https://customer.example.com/webhook"
}

Response

OK

idstring uuid required
campaignIdstring required
status'PENDING' | 'RUNNING' | 'COMPLETE' | 'FAILED' required
callbackUrlstring uri
resultsstring uri
attributionWindow1 | 3 | 7 | 14 | 30 | 60 | 90

How many days after an exposure a related conversion/response event may be attributed to it.

startDatestring date required
endDatestring date required
cellTowerMatchingboolean

Whether to include IP-direct matches within a pre-defined window (usually 2 hours) for impressions and conversion/response events that cannot be matched to a household via the device graph.

timeScale'daily' | 'weekly' | 'all'

Specifies the level at which the returned pivot data will be aggregated.

geo'dma' | 'zip_code'

DEPRECATED; this should now be included in the query configuration field. Used to signify data should be pivoted by geo. When this attribute is present, the pivot data will also utilize the timeScale specified.

Example response

{
  "startDate": "2024-03-01",
  "endDate": "2024-03-31"
}

Changes

    • breaking

      added subschema #3 to the request body allOf list

    • warning

      removed the request property

    • warning

      removed the request property

    • warning

      removed the request property

    • warning

      removed the request property

    • warning

      removed the request property

    • warning

      removed the request property

    • warning

      removed the request property

    • warning

      removed the request property

    • warning

      removed the request property

    • warning

      removed the request property

    • warning

      removed the request property

    • warning

      removed the request property

    • warning

      removed the request property

    • warning

      removed the request property

    • info

      added the media type application/json for the response with the status

    • info

      added the media type application/json for the response with the status

    • info

      added the media type application/json for the response with the status

    • info

      added the non-success response with the status