Reports

Get display performance

Changed on

The full performance stat set for one display over a period, including average order value and, when the display has run an A/B test, per-variation participants, conversions, and conversion rates.

Ask this per display rather than hunting the leaderboard: unlike /v1/reports/displays it reports zeroed stats for a quiet display instead of leaving it out. The display's own configuration — triggers, schedule, status — is /v1/displays/{id}, keyed on the same identifier.

Required scope: reports_read

get/reports/displays/{display_id}

Request

  • Base URL
    https://api.privy.com/v1
  • Auth
    HTTP bearer

Path parameters

display_idstring required

The display's unique identifier (returned as display_id in report responses and id in display responses). Ids are opaque public strings — a numeric id from a Privy dashboard URL is not a valid API id and will 404; list displays and match by title instead.

Query parameters

period'last_7_days' | 'last_30_days' | 'last_90_days' | 'this_month' | 'last_month' | 'custom'

The date range to report over, resolved in the account's time zone. Pass custom together with start_date and end_date.

start_datestring date

Inclusive start of a custom period (ISO 8601 date). Required when period=custom, ignored otherwise.

end_datestring date

Inclusive end of a custom period (ISO 8601 date). Required when period=custom, ignored otherwise. Custom periods are capped at 366 days.

Headers

Privy-Account-Idstring

Target a subaccount instead of the main connected account. Pass a subaccount id from get_account's subaccounts list. Only direct subaccounts of the connected account are reachable — omit this for the main account itself.

Response

The display's performance over the resolved period.

Example response

{
  "data": {
    "display_id": "gk2P8Zw1Lq",
    "title": "Summer Sale Popup",
    "display_type": "popup",
    "status": "live",
    "period": {
      "label": "last_30_days",
      "start_date": "2026-06-21",
      "end_date": "2026-07-20"
    },
    "stats": {
      "views": {
        "value": 42,
        "unit": "count"
      },
      "signups": {
        "value": 42,
        "unit": "count"
      },
      "signup_rate": {
        "value": 42,
        "unit": "count"
      },
      "attributed_orders": {
        "value": 42,
        "unit": "count"
      },
      "attributed_revenue": {
        "value": 42,
        "unit": "count"
      },
      "average_order_value": {
        "value": 42,
        "unit": "count"
      }
    },
    "ab_test": {
      "name": "Headline test",
      "state": "finished",
      "goal": "signup",
      "total_participants": 9400,
      "variations": [
        {
          "id": "abv_Jq8T2vY",
          "display_id": "gk2P8Zw1Lq",
          "name": "Challenger",
          "traffic_ratio": 0.5,
          "participants": 4700,
          "conversions": 129,
          "conversion_rate": {
            "value": 42,
            "unit": "count"
          }
        }
      ]
    }
  }
}

Changes

    • warning

      added the new forbidden enum value to the / response property for the response status

    • warning

      added the new forbidden enum value to the / response property for the response status

    • warning

      added the new forbidden enum value to the / response property for the response status

    • warning

      added the new forbidden enum value to the / response property for the response status

    • warning

      added the new forbidden enum value to the / response property for the response status

    • warning

      added the new segment_builder_required enum value to the / response property for the response status

    • warning

      added the new segment_builder_required enum value to the / response property for the response status

    • warning

      added the new segment_builder_required enum value to the / response property for the response status

    • warning

      added the new segment_builder_required enum value to the / response property for the response status

    • warning

      added the new segment_builder_required enum value to the / response property for the response status

    • info

      endpoint added