Report

Reports tell you how campaigns are performing. They surface impressions, clicks, spend, and the rates that come with them (CTR, CPC, CPM) at a few levels of detail - across an advertiser, per campaign, over time, and broken out by geography, domain, ad, or media asset. Use them to monitor pacing, compare creative, or roll metrics up to the brand.

API operations

Relationships

Most reports are scoped to a specific campaign by campaign ID. The campaign summary report covers all campaigns within an advertiser.
The ad report breaks down campaign performance by individual ad, enabling A/B comparison.
The advertiser summary provides aggregate metrics across all campaigns for an advertiser.
Media asset reports roll up performance across every ad that uses a given creative asset.
The /v1/domains endpoint returns the curated inventory of websites where internet display campaigns serve. Per-domain performance for a campaign is available via the dimension breakdown at /v1/advertisers/{advertiserId}/reports/campaigns/{campaignId}/dimensions/domain.

Key concepts

Impressions
Number of times an ad was displayed. The fundamental unit of ad delivery.
Clicks
Number of times users clicked on an ad. Indicates engagement.
Spend
Total dollar amount spent on ad delivery during the period.
Unique Viewers
Estimated number of unique users who saw the ad, based on device graph deduplication.
CTR
Click-Through Rate as a percentage (clicks / impressions * 100). Null when impressions is zero.
CPC
Cost Per Click (spend / clicks). Null when clicks is zero.
CPM
Cost Per Mille - cost per thousand impressions (spend / impressions * 1000). Null when impressions is zero.
Pacing
Ratio of actual spend to expected spend. 1.0 equals perfectly paced; above 1.0 is overspending; below 1.0 is underspending.
Date Range
All report endpoints except snapshot require start and end dates in ISO 8601 format. The range is inclusive.
Time Series
An array of daily data points, each with a date string (YYYY-MM-DD) and the full metric set.
Domain Inventory
The /v1/domains endpoint returns the global, curated list of brand-safe websites where internet display ads can serve. Every campaign is eligible to run across the full inventory automatically - there is no per-domain targeting or exclusion. Each entry exposes networkType (Sports, News, Entertainment, Business, etc.), supported ad dimensions (maxWidth, maxHeight, isSquare), and a logoUrl for branding.

Constraints

Rules to follow
  • All endpoints except snapshot require start and end query parameters in ISO 8601 format.
  • CTR, CPC, and CPM are null when their denominator is zero.
  • The snapshot endpoint uses the current billing interval and does not accept date parameters.

Domain inventory

Internet display campaigns serve across a curated inventory of brand-safe websites. The list of available domains lives on the Domains entity (GET /v1/domains) - join its rows against the per-domain dimension breakdown to label rows in performance views.

Nullable rates

CTR, CPC, and CPM are null when their denominators are zero. CTR is null when impressions is zero, CPC is null when clicks is zero, and CPM is null when impressions is zero.

Date ranges

Every endpoint except snapshot requires start and end in ISO 8601 format. Ranges are inclusive. The snapshot endpoint computes its own current-billing-interval window and does not accept date parameters.

When building apps

Domain Inventory Display
Render domains as a grid of cards with the logo, name, and network category so users can see where their ads will appear. Group or filter by networkType to let users browse by category. Pair with the campaign dimension breakdown for per-domain performance once a campaign is live.
Choosing Report Endpoints
Reach for snapshot on a dashboard landing page where you want pacing without computing it from time series. Use the advertiser summary for headline totals, list-campaign-reports for side-by-side campaign comparison, get-campaign-report for charting daily trends, get-campaign-dimension-breakdown for geographic or per-domain breakdowns, and get-campaign-ad-breakdown for A/B comparison between ads. Media asset reports roll up performance across every campaign that references a creative. Treat null CTR/CPC/CPM as "not available" in the UI rather than rendering as zero.