Deal measurement queries

As a selling party, you can access comprehensive reporting and analytics data for your deals. With the deal measurement queries, you can retrieve quality metrics that compare your deal's performance to market benchmarks as well as other metrics that track deal activity and outcomes. These insights are essential for evaluating deal effectiveness and optimizing your deal strategies.

To analyze deal quality, performance, and forecasted outcomes, query the deals object, using your account ID and the ID of the deal that you want to review. The following sections provide example queries that show how to retrieve deal quality and performance metrics. For details on available fields, see Deal measurement objects.

Quality metrics

Quality metrics help you evaluate how well your deal is performing compared to the market benchmarks. Each metric—addressability, inventory uniqueness, price competitiveness, and signal fidelity—shows your deal's actual results (observed values) alongside the average results (marketAverage values) for similar inventory in the marketplace. When your results are higher than the market average, it usually means your deal is doing better. The overall deal quality score combines these individual metrics into a single, comprehensive assessment of your deal’s effectiveness compared to market benchmarks.

The following deals query shows how to retrieve the overall deal quality score and its metrics. For field details, see QualityMetrics object.

query GetDealQualityMetricsExample {
  deals(
    input: {accountId: "ACCOUNT_ID_PLACEHOLDER"}
    where: {
      id: {
        in: ["DEAL_ID_PLACEHOLDER"]
      }
    }
  ) {
    nodes {
      id
      name
      measurements {
        qualityMetrics(where: {
           lookbackPeriod: LIFETIME
        }) {
          startAt
          dealQualityScore {
            marketAverage
            observed
          }
          addressability {
            marketAverage
            observed
          }
          contributionToCampaignPerformance {
            marketAverage
            observed
          }
          inventoryExclusivity {
            marketAverage
            observed
          }
          priceCompetitiveness {
            marketAverage
            observed
          }
          relevance {
            marketAverage
            observed
          } 
          signalFidelity {
            marketAverage
            observed
          }
        }
      }
    }
  }
}

Performance metrics

Performance metrics provide the operational data essential for campaign reporting, budget tracking, and deal optimization. You can retrieve this data in two ways, by setting the aggregate field to one of the values described in the following table.

Aggregate Field Value Data Breakdown Description Use Case
TOTAL Total aggregated values Summary reporting across an entire period. High-level performance overview.
TOTAL_BREAKDOWN_BY_INTERVAL Interval breakdowns Trend analysis and time-series visualization. Detailed performance over time.

For field details, see PerformanceMetrics object.

Retrieve total aggregated performance metrics

To get a high-level overview of the deal performance, set the aggregate field to TOTAL. The following deals query shows how to retrieve total performance metrics for a specified date range.

query GetDealPerformanceMetricsTotalExample {
  deals(
    input: {accountId:"ACCOUNT_ID_PLACEHOLDER"}
    where: {
      id: {
        in: ["DEAL_ID_PLACEHOLDER"]
      }
    }
  ) {
    nodes {
      id
      name
      measurements {
        performanceMetrics(
          where: {
            aggregate: TOTAL
            dateTimeRange: {
              gte: "2025-11-05T16:49:30.370Z"
              lt: "2025-11-20T04:59:00.000Z"
            }
          }
        ) {
          availCount
          avgDailyAvailCount
          avgDailySpendUsd
          bidCount
          bidRatePercent
          impressionCount
          winRatePercent
          cpm
          totalSpendUsd
          startAt
        }
      }
    }
  }
}

Retrieve performance metrics with interval breakdown

To get trend analysis and time-series visualization of the deal performance, set the aggregate field to TOTAL_BREAKDOWN_BY_INTERVAL. The following deals query shows how to retrieve performance metrics broken down by intervals over a specified date range.

NOTE: The Trade Desk sets the intervals based on the date range you select.

query GetDealPerformanceMetricsIntervalExample {
  deals(
    input: {accountId: "ACCOUNT_ID_PLACEHOLDER"}
    where: {
      id: {
        in: ["DEAL_ID_PLACEHOLDER"]
      }
    }
  ) {
    nodes {
      id
      name
      measurements {
        performanceMetrics(
          where: {
            aggregate: TOTAL_BREAKDOWN_BY_INTERVAL
            dateTimeRange: {
              gte: "2025-11-05T16:49:30.370Z"
              lt: "2025-11-20T04:59:00.000Z"
            }
          }
        ) {
          availCount
          bidCount
          bidRatePercent
          impressionCount
          winRatePercent
          cpm
          totalSpendUsd
          startAt
        }
      }
    }
  }
}

Forecasting and prediction

Forecasting metrics predict future deal performance, spending patterns, and potential underspend scenarios. This enables proactive deal management and optimization.

The following deals query retrieves inventory adherence metrics and forecasting data to assess deal performance against expectations.

query GetDealInventoryAdherenceExample {
  deals(
    input: {accountId: "ACCOUNT_ID_PLACEHOLDER"}
    where: {
      id: {
        in: ["DEAL_ID_PLACEHOLDER"]
      }
    }
  ) {
    nodes {
      id
      name
      measurements {
        inventoryAdherence
        forecastedSpendUsd
        forecastedUnderspendPercent
        forecastedUnderspendUsd
        qualityMetrics {
          startAt
          dealQualityScore {
            marketAverage
            observed
          }
        }
      }
    }
  }
}

Observed data

Observed data provides granular insights into how frequently specific bidding terms and floor price levels appear in your deal compared to marketplace averages. This helps assess deal transparency and signal quality.

The following deals query retrieves detailed observed data, such as bidding terms frequency and floor price analysis, compared to marketplace averages. For field details, see ObservedData object.

query GetDealObservedDataExample {
  deals(
    input: {accountId: "ACCOUNT_ID_PLACEHOLDER"}
    where: {
      id: {
        in: ["DEAL_ID_PLACEHOLDER"]
      }
    }
  ) {
    nodes {
      measurements {
        observedData {
          biddingTerms {
            biddingTerm {
              id
              name
            }
            observedPercent
            marketPercent
          }
          floorPrices {
            observedPercent
            value {
              amount
              currency {
                id
                name
              }
            }
          }
          inventoryComposition {
            adEnvironments {
              observedPercent
              value
            }
            adFormats {
              observedPercent
              value {
                height
                id
                mediaType
                name
                width
              }
            }
            apps {
              observedPercent
              value
            }
            audioFileTypes {
              observedPercent
              value
            }
            audioPodSeq {
              observedPercent
              value
            }
            audioSlotInPod {
              observedPercent
              value
            }
            audioStartDelay {
              observedPercent
              value
            }
            browsers {
              observedPercent
              value {
                id
                name
              }
            }
            channels {
              observedPercent
              value {
                name
              }
            }
            consumerGeos {
              observedPercent
              value {
                geoLocationType
                id
                name
              }
            }
            contentCategories {
              observedPercent
              value {
                id
                name
                path
                taxonomy
              }
            }
            contentKeywords {
              observedPercent
              value
            }
            contentLanguages {
              observedPercent
              value {
                id
                name
              }
            }
            contentRatings {
              observedPercent
              value {
                id
                name
              }
            }
            deviceMakes {
              observedPercent
              value {
                id
                name
              }
            }
            deviceTypes {
              observedPercent
              value
            }
            feed {
              observedPercent
              value
            }
            genres {
              observedPercent
              value {
                id
                name
              }
            }
            hasNativeAdRequest {
              observedPercent
              value
            }
            inventoryChannels {
              observedPercent
              value
            }
            liveStream {
              observedPercent
              value
            }
            mediaTypes {
              observedPercent
              value
            }
            mobileCarriers {
              observedPercent
              value {
                id
                name
              }
            }
            nativeOptionalAssetTypes {
              observedPercent
              value
            }
            nativeRequiredAssetTypes {
              observedPercent
              value
            }
            networks {
              observedPercent
              value {
                name
              }
            }
            operatingSystems {
              observedPercent
              value {
                id
                name
              }
            }
            placementIds {
              observedPercent
              value
            }
            plcmt {
              observedPercent
              value
            }
            podSeq {
              observedPercent
              value
            }
            productionQualities {
              observedPercent
              value
            }
            publisherCategories {
              observedPercent
              value {
                id
                name
                path
                taxonomy
              }
            }
            publisherKeywords {
              observedPercent
              value
            }
            publishers {
              observedPercent
              value {
                id
                isEnabled
                logoUrl
                name
                type
              }
            }
            sellers {
              observedPercent
              value {
                domain
                id
                isEnabled
                logoUrl
                name
                type
              }
            }
            sellersJsonSellerIds {
              observedPercent
              value {
                sellerId
              }
            }
            series {
              observedPercent
              value
            }
            sites {
              observedPercent
              value
            }
            skippability {
              observedPercent
              value
            }
            slotInPod {
              observedPercent
              value
            }
            startDelay {
              observedPercent
              value
            }
            supplyVendorUserIdMappedToTDID {
              observedPercent
              value
            }
            systemLanguages {
              observedPercent
              value {
                id
                name
              }
            }
            titles {
              observedPercent
              value
            }
            userIdTypeAvailable {
              observedPercent
              value
            }
            venueTypes {
              observedPercent
              value {
                id
                name
              }
            }
            videoDimensions {
              observedPercent
              value {
                height
                width
              }
            }
            videoFileTypes {
              observedPercent
              value
            }
            videoMinMaxBitRateInKbps {
              observedPercent
              value {
                max
                min
              }
            }
            videoMinMaxDurationInSeconds {
              observedPercent
              value {
                max
                min
              }
            }
            videoPlayerSize {
              observedPercent
              value
            }
            videoRequiredDurationsInSeconds {
              observedPercent
              value
            }
            videoSupportedApiFrameworks {
              observedPercent
              value
            }
            videoSupportedVastVersions {
              observedPercent
              value
            }
            wseat {
              observedPercent
              value
            }
          }
        }
      }
    }
  }
}

Comprehensive deal measurements query

The following deals query shows how to retrieve all available measurement data for a deal in a single request, including quality metrics, performance metrics, and observed data. For field details, see Deal measurement objects.

TIP: To perform trend analysis or period-over-period comparison, include timestamp fields in performance metrics. For quality metrics, use the Lookback period enumeration values.

query GetComprehensiveDealMeasurementsExample {
  deals(
    input: {accountId: "ACCOUNT_ID_PLACEHOLDER"}
    where: {
      id: {
        in: ["DEAL_ID_PLACEHOLDER"]
      }
    }
  ) {
    nodes {
      id
      name
      dealType
      measurements {
        qualityMetrics(where: {
           lookbackPeriod: LIFETIME
        }) {
          startAt
          dealQualityScore {
            marketAverage
            observed
          }
          addressability {
            marketAverage
            observed
          }
          inventoryExclusivity {
            marketAverage
            observed
          }
          priceCompetitiveness {
            marketAverage
            observed
          }
          signalFidelity {
            marketAverage
            observed
          }
        }
        performanceMetrics(
          where: {
            aggregate: TOTAL
            dateTimeRange: {
              gte: "2025-11-05T16:49:30.370Z"
              lt: "2025-11-20T04:59:00.000Z"
            }
          }
        ) {
          availCount
          avgDailyAvailCount
          avgDailySpendUsd
          bidCount
          bidRatePercent
          impressionCount
          winRatePercent
          cpm
          totalSpendUsd
          startAt
        }
        inventoryAdherence
        forecastedSpendUsd
        forecastedUnderspendPercent
        forecastedUnderspendUsd
        observedData {
          auctionTypes
          biddingTerms {
            observedPercent
            marketPercent
            biddingTerm {
              name
            }
          }
        }
      }
    }
  }
}