Skip to main content

Reporting

Available commands:
  • cloudx report dashboard for summary and daily or hourly metrics
  • cloudx report breakdown for CloudX-only custom breakdowns by time, inventory, and device dimensions
  • cloudx report bidders for bidder performance
  • cloudx report apps for app performance
  • cloudx report ad-units for ad unit performance
  • cloudx report export for CSV or JSON export
  • cloudx report impressions export for asynchronous, impression-level revenue exports

Request Timeout

Reporting requests default to a 60 second API timeout. Use the global --timeout flag before the command when a workflow should fail earlier, or when a heavy report needs more time.
--timeout accepts duration values such as 30s, 90s, or 2m. Values must be greater than 0s and no more than 2m.

Shared Flags

Most reporting commands use the flags below. Exact support by command is listed in the next section.

Flag Support By Command

Period Values

Period parsing is UTC-based. If you omit --period, every reporting command uses today. Validation rules:
  • End date must not be earlier than start date.
  • --country must be a two-letter uppercase ISO-2 code after normalization.
  • --device-os must be exactly iOS or Android.
  • --test-mode must be production, test, or all.
  • --granularity must be daily or hourly.

Granularity Values

Use --granularity when you need to change how reporting rows are bucketed inside the selected period. For hourly dashboard reports, the human-readable chart table uses BUCKET START instead of DATE, and JSON chart rows include bucket_start timestamps such as 2026-04-01T13:00:00Z. For hourly exports, the leading CSV or JSON column changes from date to bucket_start.

Source Values

When you omit --source, report commands use the existing CloudX-only reporting path. This keeps dashboard, app, and ad-unit results scoped to impressions served by CloudX. Use --source when you want reports to include impression-level revenue data (ILRD) forwarded by publisher SDKs for other mediation platforms. Source names are case-insensitive and normalized by the CLI. External source values come from the ILRD mediator/platform, not the downstream demand network. For example, AppLovin MAX rows with ADMOB_BIDDING demand are reported under applovin, not admob.
When --source includes external mediators, fill rate remains CloudX-only because external ILRD includes impressions and revenue, but not CloudX bid requests. The CLI labels this as Fill Rate (CloudX-only).

Output Format

Human-Readable

Most commands print a metadata block first, then a table. Example metadata block:

JSON

Pass --json to return structured JSON:
All command examples are collected on the Examples page.

cloudx report dashboard

Shows summary metrics and daily or hourly chart rows.

Usage

Use --source all to include external mediator ILRD in dashboard revenue, impressions, eCPM, and source breakdowns:
Use --granularity hourly to show chart rows by UTC hour:

Example

cloudx report breakdown

Shows CloudX-only aggregate metrics grouped by the dimensions you choose. This command is intended for ad hoc analysis such as revenue by country, hourly fill rate by app, or eCPM by ad unit. It does not accept --source and does not include external mediator ILRD or provider revenue. Use the source-aware dashboard, app, and ad-unit commands only when you need external ILRD where supported.

Usage

Dimensions

Use a comma-separated list with --by.

Metrics

Use a comma-separated list with --metrics. Rate metrics are computed from summed components for each returned row. They are not averaged from precomputed rates.

Options

Having Expressions

--having filters rows after grouping. It supports one metric comparison:
Supported operators: <, <=, =, ==, !=, >=, >. The metric must be one of the supported breakdown metrics listed above, and the right-hand side must be a number. == is accepted as an alias for =. Boolean logic, strings, SQL functions, and field-to-field comparisons are not supported. Valid examples:
Invalid examples:

Examples

Daily revenue, impressions, and eCPM by country:
Hourly app fill rate for one day:
Top ad units by revenue:
JSON output filtered by a metric threshold:

Example Output

cloudx report bidders

Shows bidder-level performance for the selected time period.

Usage

Example

cloudx report apps

Shows app-level performance for the selected time period.

Usage

Use a comma-separated source list to compare CloudX against a mediator for each app:

Example

cloudx report ad-units

Shows ad-unit-level performance for the selected time period.

Usage

This is the only reporting command that currently supports both --app and --ad-unit-type. Use --source all with --app to see CloudX and external mediator revenue for the same app’s ad units:

Example

cloudx report export

Exports report data in CSV format by default.

Usage

Use --granularity hourly when downstream reporting needs UTC hour buckets:

Example

Hourly exports use bucket_start for the first column:

JSON Output

With --json, the response includes:
  • columns
  • rows
  • row_count

cloudx report impressions export

Creates a full-day, impression-level revenue export as a gzip-compressed CSV file. The export runs asynchronously so large result sets do not have to fit within a normal API request.

Usage

--date is required and must identify a completed UTC day within the previous 45 days. The current UTC day cannot be exported because it is not complete.

Options

Only two impression exports may be processing for an account at the same time. Submitting the same date and filters again reuses the matching queued, running, or completed export instead of creating duplicate work. When an export is ready, CloudX returns a download URL that expires after one hour. Re-running the same command can issue a fresh URL while the generated file is still retained. Generated files are retained for up to seven days.
Impression exports can contain advertising identifiers, inventory metadata, and raw revenue data. Store downloaded files securely, restrict access to authorized users, and delete files when they are no longer needed.

Examples

Queue an export and print its export ID and current status:
Wait for completion and download the result:
Export production impressions for one iOS app in the United States:
Check the downloaded archive and preview its header and first rows:

CSV Schema

The CSV contains one row per matching impression. Row order is not guaranteed.