{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/appfigures-com/json-schema/appfigures-com-get-reports-ads-response-schema.json",
  "title": "GetReportsAdsResponse",
  "x-generated": "2026-11-01",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/_ae-authored/appfigures-com-openapi-generated.yml#/components/schemas/GetReportsAdsResponse",
  "type": "object",
  "properties": {
    "requests": {
      "type": "number",
      "description": "The total number of requests made to the ad network. Only some networks report it. Where they don’t, requests is 0."
    },
    "requests_filled": {
      "type": "number",
      "description": "The total number of requests filled by the network. For most ad networks this equals impressions. The main exception is Unity, which counts impressions differently."
    },
    "impressions": {
      "type": "number",
      "description": "The total number of times a request resulted in an ad impression."
    },
    "fillrate": {
      "type": "number",
      "description": "A number between 0 and 1 representing the percent of filled requests, calculated by dividing requests_filled by requests. If a network doesn’t provide requests, fillrate is 0. If it doesn’t provide requests but does provide a fill rate, we pass on its fill rate instead of calculating one."
    },
    "ecpm": {
      "type": "number",
      "description": "The effective cost per thousand impressions, as reported by the ad network."
    },
    "clicks": {
      "type": "number",
      "description": "The total number of times an ad was clicked."
    },
    "ctr": {
      "type": "number",
      "description": "A number between 0 and 1 representing the click-through rate. We use the network’s CTR when it provides one. Otherwise, we calculate it by dividing clicks by impressions."
    },
    "revenue": {
      "type": "number",
      "description": "The total revenue from ads, in the authenticated user’s currency."
    }
  }
}