---
title: "Ad Revenue Reports API"
method: POST
path: "/v1/ad-revenue-data"
---

# Ad Revenue Reports API

`POST /v1/ad-revenue-data`

Track your revenue from our products over an easy-to-use API. The API provides a JSON response with an array of `data.ad_revenue` objects. Each report object will contain the metrics that you requested for, attributed to the combination of breakdowns you included in your request. All dates must follow the `YYYY-MM-DD` format.

## Request body

- AdRevenueDataRequest
  - `start_date` string, date, required — Start date (inclusive), in `YYYY-MM-DD` format. Must not be earlier than `2018-06-01`.
  - `end_date` string, date, required — End date (inclusive), in `YYYY-MM-DD` format. Cannot be in the future or earlier than `start_date`.
  - `property_id` string — (Optional) Limits the data to a specific Property ID. If you don't pass anything, data is returned for all Properties under your Account. More about Accounts and Properties [here](/publishers/get-started/key-terms).
  - `metrics` string[] — (Optional) Allows you to define which revenue-related metric(s) you want the API to return. If you do not pass any values in the API request body for this, we will return the following metrics by default: `impressions`, `ecpm`, and `revenue`. Supported values: - `impressions`: Total number of ad impressions shown to your users on Gamezop's products. - `clicks`: Total number of clicks that users made on the ads that were shown to them on Gamezop's products. - `ctr`: Click-through rate, calculated as `{(clicks/impressions)*100}`. We serve ads from a mix of multiple ad networks, and not all of them report clicks data to us. When calculating CTR, we only factor in impressions from those ad networks that report both clicks and impressions to us. - `ecpm`: Effective cost per mille. This metric reflects the total revenue made (including Gamezop's share of revenue) for every 1000 ad impressions, calculated as `{(revenue/impressions)*1000}`. We serve ads from a mix of multiple ad networks, and not all of them report impressions data to us. When calculating eCPM, we only factor in revenue from those ad networks that report impressions data to us. - `revenue`: Your share of advertising revenue from Gamezop's products, captured in USD. - `total-revenue`: Total advertising revenue, including Gamezop's share, made on your Account. This is captured in USD.
  - `breakdowns` string[] — (Optional) Allows you to define how you want the revenue metrics to be broken down in the API response. **You can pass multiple values, and all breakdowns will be applied.** If you do not pass any values in the API request body for this, we will apply the following breakdowns by default: `date` and `property-id`. Supported values: - `date`: Break down revenue data by date. - `week`: Break down data by week. The `week` field in the response always represents the Monday of the corresponding ISO week. Revenue is aggregated from Monday through Sunday. - `month`: Break down data by month. The `month` field always represents the first day of the corresponding ISO month. - `caap`: Break down data by [Custom Ad Attribution Parameters (CAAP)](/publishers/guides/custom-ad-attribution-parameters). Do not pass this breakdown unless you're using our CAAP functionality. - `country`: Break down data by country. See the Important notes section above for a list of supported country codes. - `ad-format`: Break down data by the ad formats served to your users on our products. See the Important notes section above for a list of all supported ad formats. - `product`: Break down data by the Gamezop product where ads were served (such as Gamezop, Quizzop, etc.). See the Important notes section above for a list of all possible `product` values. - `property-id`: Break down data by your Property IDs.

## Response `200`

HTTP 200 OK. Revenue data returned successfully.

- AdRevenueDataResponse
  - `data` object
    - `account_id` integer — The Account ID mapped to your Bearer Token.
    - `ad_revenue` AdRevenueReportObject[] — Array of objects. Each object captures a set of breakdowns, and the ad revenue metrics against a combination of all those breakdowns. For instance, here's how you would read the first object from the sample response on this page: _For 3rd January 2025 (which belongs to the week of 30th December 2024 and to the month of 1st January 2025), from your users visited Quizzop in India, your share of revenue was USD 21.157600. 1000 ad impressions were served to these users, and they clicked on the ads a total of 150 times._
      - `date` string, date — Present when the `date` breakdown is applied.
      - `week` string, date — Present when the `week` breakdown is applied. Always represents the Monday of the corresponding ISO week.
      - `month` string, date — Present when the `month` breakdown is applied. Always represents the first day of the corresponding ISO month.
      - `country` object — Present when the `country` breakdown is applied.
        - `code` integer — Gamezop's identifier for the country.
        - `name` string — Name of the country.
      - `caap` string — Present when the `caap` breakdown is applied. Your decoded CAAP tracking value.
      - `ad_format` string — Present when the `ad-format` breakdown is applied. See the Important notes section above for all possible values.
      - `product` string — Present when the `product` breakdown is applied. See the Important notes section above for all possible values.
      - `property_id` string — Present when the `property-id` breakdown is applied.
      - `impressions` integer — Present when the `impressions` metric is requested (returned by default).
      - `clicks` integer — Present when the `clicks` metric is requested.
      - `ctr` number — Present when the `ctr` metric is requested.
      - `ecpm` number — Present when the `ecpm` metric is requested (returned by default).
      - `revenue` number — Present when the `revenue` metric is requested (returned by default). Six-decimal precision, denominated in USD.
      - `total_revenue` number — Present when the `total-revenue` metric is requested. Six-decimal precision, denominated in USD.
  - `success` boolean — Boolean value that is always `true`, unless there is an error in the API response.

## Other responses

- `400` — Bad Request. Here are the error messages you could receive: (1) Both start_date and end_date are required. (2) start_date cannot be after end_date. (3) start_date or end_date cannot be in the future (current time is calculated in UTC+05:30 timezone). (4) start_date cannot be before 2025-01-01, when caap breakdown is used. (5) start_date cannot be before 2018-06-01. (6) Both start_date and end_date must be in YYYY-MM-DD format. (7) Metrics passed in the request contain unsupported values. (8) Breakdowns passed in the request contain unsupported values.
- `401` — Unauthorized. Here are the error messages you could receive: (1) Invalid Bearer token — occurs if the Bearer Token sent in the API request is invalid, or if you don't send a Bearer Token. (2) The Property ID or IDs that you are requesting data for does not belong to the Account whose Bearer Token you have used.

---

[API](https://skmtc.net/gamezop/apis/astrozop-apis.md) · [All operations](https://skmtc.net/gamezop/apis/astrozop-apis/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/gamezop/astrozop-apis/revisions/485db86a5145/schema)
