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.
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.
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.
One display's report: its identity, the period-scoped stats block, and A/B test results when the display has ever had a test.
Show child attributes
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Privy Knowledge Base","colors":{"primary":"#254E5A","light":"#E3E32B","dark":"#254E5A"},"logo":{"light":"https://mintcdn.com/privy/fGrkZt933tBjY_zl/logo/light.svg?fit=max\u0026auto=format\u0026n=fGrkZt933tBjY_zl\u0026q=85\u0026s=36a01db426b7c94fac423778765cd517","dark":"https://mintcdn.com/privy/fGrkZt933tBjY_zl/logo/dark.svg?fit=max\u0026auto=format\u0026n=fGrkZt933tBjY_zl\u0026q=85\u0026s=24576b53a928bf065f4a636ab8dc3431"},"favicon":"https://mintcdn.com/privy/fGrkZt933tBjY_zl/logo/favicon.svg?fit=max\u0026auto=format\u0026n=fGrkZt933tBjY_zl\u0026q=85\u0026s=9fee6eb5a3c74b929294365e07a3f01d","background":{"color":{"light":"#FFF","dark":"#0D1D23"}},"navbar":{"links":[{"href":"https://www.privy.com/pricing","label":"Pricing"},{"href":"mailto:support@privy.com","label":"Contact Support"}],"primary":{"type":"button","label":"Login","href":"https://dashboard.privy.com"}},"footer":{"socials":{"x":"https://x.com/privy","linkedin":"https://www.linkedin.com/company/privy"}},"seo":{"indexing":"all"},"fonts":{"heading":{"family":"Matter","weight":650,"source":"https://public-assets.privy.com/MatterStandard-VF.woff2","format":"woff2"},"body":{"family":"Matter","weight":400,"source":"https://public-assets.privy.com/MatterStandard-VF.woff2","format":"woff2"}},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"privy","hasAudioNarration":false,"actualSubdomain":"privy","customDomains":["help.privy.com"],"gitSource":{"type":"github","owner":"privy","repo":"mintlify-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"feedback":{"thumbs":true,"issues":true,"edits":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"ENABLED"},"CONTEXTUAL_FEEDBACK":{"status":"ENABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af3ac7069be62302954224f","clientVersion":"0.0.4111","searchFilterCounts":[{"language":"default","tag":"Learn","count":275},{"language":"default","tag":"Developer","count":49},{"language":"default","tag":"Integrations","count":30},{"language":"default","tag":"Strategy Guides","count":24},{"language":"default","tag":"Flows","count":18},{"language":"default","tag":"Account + Billing","count":18},{"language":"default","tag":"Contacts","count":17},{"language":"default","tag":"Displays","count":15},{"language":"default","tag":"Deliverability","count":11},{"language":"default","tag":"Content","count":10}]},"assistantConfig":{},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"@font-face{font-family:\"Matter\";src:url(\"https://public-assets.privy.com/MatterStandard-VF.woff2\") format(\"woff2\");font-display:swap;font-style:normal;font-weight:600}.mdx-content strong,.mdx-content b{font-weight:600}.mdx-content em,.mdx-content i{font-style:italic}"}],"page":{"pagePath":"docs/api-reference/get-display-performance","slug":"/docs/api-reference/get-display-performance","pageMetadata":{"title":"Get display performance","openapi":"openapi/privy-api.yaml GET /reports/displays/{display_id}","description":"The full performance stat set for one display over a period, including\naverage order value and, when the display has run an A/B test, per-variation\nparticipants, conversions, and conversion rates.\n\nAsk this per display rather than hunting the leaderboard: unlike\n`/v1/reports/displays` it reports zeroed stats for a quiet display instead\nof leaving it out. The display's own configuration — triggers, schedule,\nstatus — is `/v1/displays/{id}`, keyed on the same identifier.\n\n**Required scope:** `reports_read`\n","href":"/docs/api-reference/get-display-performance"},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n strong: \"strong\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsx(_components.p, {\n children: \"The full performance stat set for one display over a period, including\\naverage order value and, when the display has run an A/B test, per-variation\\nparticipants, conversions, and conversion rates.\"\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Ask this per display rather than hunting the leaderboard: unlike\\n\", _jsx(_components.code, {\n children: \"/v1/reports/displays\"\n }), \" it reports zeroed stats for a quiet display instead\\nof leaving it out. The display’s own configuration — triggers, schedule,\\nstatus — is \", _jsx(_components.code, {\n children: \"/v1/displays/{id}\"\n }), \", keyed on the same identifier.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"Required scope:\"\n }), \" \", _jsx(_components.code, {\n children: \"reports_read\"\n })]\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Get display performance","openapi":"openapi/privy-api.yaml GET /reports/displays/{display_id}","description":"The full performance stat set for one display over a period, including\naverage order value and, when the display has run an A/B test, per-variation\nparticipants, conversions, and conversion rates.\n\nAsk this per display rather than hunting the leaderboard: unlike\n`/v1/reports/displays` it reports zeroed stats for a quiet display instead\nof leaving it out. The display's own configuration — triggers, schedule,\nstatus — is `/v1/displays/{id}`, keyed on the same identifier.\n\n**Required scope:** `reports_read`\n","href":"/docs/api-reference/get-display-performance"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"getDisplayReport","summary":"Get display performance","description":"The full performance stat set for one display over a period, including\naverage order value and, when the display has run an A/B test, per-variation\nparticipants, conversions, and conversion rates.\n\nAsk this per display rather than hunting the leaderboard: unlike\n`/v1/reports/displays` it reports zeroed stats for a quiet display instead\nof leaving it out. The display's own configuration — triggers, schedule,\nstatus — is `/v1/displays/{id}`, keyed on the same identifier.\n\n**Required scope:** `reports_read`\n","tags":["Reports"],"security":["a9d27058-f2a1-4203-bfa3-908747e27dc3"],"parameters":["de4fbe5e-8ff1-4d6f-b8e6-699ee17ea056","40ae8ff1-52e2-42c1-b2a0-09b57a16a452","ef4889ca-9cd7-4728-baa1-695625d758cb","9ee8f772-f530-4baf-b206-4a4311b104d0","90de8a95-8e4b-4160-b987-1db4c90f4e4c"],"responses":{"200":"e33f5855-b712-4f36-b270-09c18caf3f55","401":"77dcbc3d-6976-4abf-939a-1b3a0d9a87c6","403":"4b1020c7-de48-4898-9683-fabac27d760f","404":"37af227e-581c-4a05-87fb-bb18acc2125b","422":"adedac00-1d34-4b83-9228-5a8c1381560a","429":"f68e369b-ea71-4633-86cf-029a9c1b3761"},"method":"get","type":"path","servers":["97f63e03-f020-41b7-a5b9-e312bbfed47d"],"path":"/reports/displays/{display_id}","baseUrlOptions":["https://api.privy.com/v1"],"title":"Get display performance","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"de4fbe5e-8ff1-4d6f-b8e6-699ee17ea056":{"name":"Privy-Account-Id","in":"header","required":false,"description":"Target a subaccount instead of the main connected account.\nPass a subaccount `id` from get_account's `subaccounts` list. Only direct subaccounts\nof the connected account are reachable — omit this for the main account itself.\n","schema":{"type":"string","isRequired":false,"description":"Target a subaccount instead of the main connected account.\nPass a subaccount `id` from get_account's `subaccounts` list. Only direct subaccounts\nof the connected account are reachable — omit this for the main account itself.\n","uniqueKey":"","typeLabel":"string"},"example":"S1U2B3A4C5C6T7"},"40ae8ff1-52e2-42c1-b2a0-09b57a16a452":{"name":"display_id","in":"path","required":true,"description":"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.","schema":{"type":"string","isRequired":true,"description":"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.","uniqueKey":"","typeLabel":"string"},"example":"gk2P8Zw1Lq"},"ef4889ca-9cd7-4728-baa1-695625d758cb":{"name":"period","in":"query","description":"The date range to report over, resolved in the account's time zone. Pass `custom` together with `start_date` and `end_date`.","schema":{"type":"string","enum":["last_7_days","last_30_days","last_90_days","this_month","last_month","custom"],"default":"last_30_days","description":"The date range to report over, resolved in the account's time zone. Pass `custom` together with `start_date` and `end_date`.","uniqueKey":"","typeLabel":"enum\u003cstring>"},"example":"last_30_days"},"9ee8f772-f530-4baf-b206-4a4311b104d0":{"name":"start_date","in":"query","description":"Inclusive start of a `custom` period (ISO 8601 date). Required when `period=custom`, ignored otherwise.","schema":{"type":"string","format":"date","description":"Inclusive start of a `custom` period (ISO 8601 date). Required when `period=custom`, ignored otherwise.","uniqueKey":"","typeLabel":"string\u003cdate>"},"example":"2026-06-01"},"90de8a95-8e4b-4160-b987-1db4c90f4e4c":{"name":"end_date","in":"query","description":"Inclusive end of a `custom` period (ISO 8601 date). Required when `period=custom`, ignored otherwise. Custom periods are capped at 366 days.","schema":{"type":"string","format":"date","description":"Inclusive end of a `custom` period (ISO 8601 date). Required when `period=custom`, ignored otherwise. Custom periods are capped at 366 days.","uniqueKey":"","typeLabel":"string\u003cdate>"},"example":"2026-06-30"}},"responses":{"e33f5855-b712-4f36-b270-09c18caf3f55":{"description":"The display's performance over the resolved period.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","description":"One display's report: its identity, the period-scoped `stats` block, and A/B test results when the display has ever had a test.","properties":{"display_id":{"type":"string","description":"The display's unique identifier. Use this value in `/v1/displays/{id}`.","example":"gk2P8Zw1Lq","uniqueKey":"data.display_id","typeLabel":"string"},"title":{"oneOf":[{"type":"string","description":"The display's name. `null` when the merchant never named it.","example":"Summer Sale Popup","uniqueKey":"data.title.oneOf.0","typeLabel":"string"},{"type":"null","description":"The display's name. `null` when the merchant never named it.","example":"Summer Sale Popup","uniqueKey":"data.title.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.title","typeLabel":"string | null"},"display_type":{"oneOf":[{"type":"string","description":"The display's on-site shape (e.g. `popup`, `flyout`, `banner`, `bar`, `embedded_form`, `landing_page`).","example":"popup","uniqueKey":"data.display_type.oneOf.0","typeLabel":"string"},{"type":"null","description":"The display's on-site shape (e.g. `popup`, `flyout`, `banner`, `bar`, `embedded_form`, `landing_page`).","example":"popup","uniqueKey":"data.display_type.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.display_type","typeLabel":"string | null"},"status":{"type":"string","description":"The display's lifecycle status (e.g. `draft`, `scheduled`, `live`, `paused`, `ended`, `archived`).","example":"live","uniqueKey":"data.status","typeLabel":"string"},"period":{"type":"object","description":"The resolved date range the report covers, inclusive, in the account's\ntime zone. Every label except `last_month` ends today, so the last day\nof the range is still in progress: `last_7_days` is the six days before\ntoday plus today, `this_month` runs from the 1st through today, and\n`last_month` is the whole previous calendar month. Custom ranges cannot\nexceed 366 days.\n","properties":{"label":{"type":"string","enum":["last_7_days","last_30_days","last_90_days","this_month","last_month","custom"],"example":"last_30_days","uniqueKey":"data.period.label","typeLabel":"enum\u003cstring>"},"start_date":{"type":"string","format":"date","example":"2026-06-21","uniqueKey":"data.period.start_date","typeLabel":"string\u003cdate>"},"end_date":{"type":"string","format":"date","example":"2026-07-20","uniqueKey":"data.period.end_date","typeLabel":"string\u003cdate>"}},"uniqueKey":"data.period","typeLabel":"object"},"stats":{"type":"object","description":"The list shape's metrics plus `average_order_value`, which only this endpoint reports.","properties":{"views":{"type":"object","description":"A single report metric with its unit. `count` values are whole\nnumbers, `percent` values are 0–100 with one decimal. Money metrics\ncarry the account's lowercased ISO 4217 currency code as their unit\n(e.g. `usd`, `eur`, `jpy`) and are expressed in that currency's major\nunits, two decimals. A rate whose denominator was zero reports 0, not\nnull — so 0 does not distinguish \"no activity\" from \"activity that\nnever converted\"; read the underlying counts to tell those apart.\n","properties":{"value":{"type":"number","example":42,"uniqueKey":"data.stats.views.value","typeLabel":"number"},"unit":{"type":"string","description":"`count`, `percent`, or a lowercased ISO 4217 currency code.","example":"count","uniqueKey":"data.stats.views.unit","typeLabel":"string"}},"uniqueKey":"data.stats.views","typeLabel":"object"},"signups":{"type":"object","description":"A single report metric with its unit. `count` values are whole\nnumbers, `percent` values are 0–100 with one decimal. Money metrics\ncarry the account's lowercased ISO 4217 currency code as their unit\n(e.g. `usd`, `eur`, `jpy`) and are expressed in that currency's major\nunits, two decimals. A rate whose denominator was zero reports 0, not\nnull — so 0 does not distinguish \"no activity\" from \"activity that\nnever converted\"; read the underlying counts to tell those apart.\n","properties":{"value":{"type":"number","example":42,"uniqueKey":"data.stats.signups.value","typeLabel":"number"},"unit":{"type":"string","description":"`count`, `percent`, or a lowercased ISO 4217 currency code.","example":"count","uniqueKey":"data.stats.signups.unit","typeLabel":"string"}},"uniqueKey":"data.stats.signups","typeLabel":"object"},"signup_rate":{"type":"object","description":"A single report metric with its unit. `count` values are whole\nnumbers, `percent` values are 0–100 with one decimal. Money metrics\ncarry the account's lowercased ISO 4217 currency code as their unit\n(e.g. `usd`, `eur`, `jpy`) and are expressed in that currency's major\nunits, two decimals. A rate whose denominator was zero reports 0, not\nnull — so 0 does not distinguish \"no activity\" from \"activity that\nnever converted\"; read the underlying counts to tell those apart.\n","properties":{"value":{"type":"number","example":42,"uniqueKey":"data.stats.signup_rate.value","typeLabel":"number"},"unit":{"type":"string","description":"`count`, `percent`, or a lowercased ISO 4217 currency code.","example":"count","uniqueKey":"data.stats.signup_rate.unit","typeLabel":"string"}},"uniqueKey":"data.stats.signup_rate","typeLabel":"object"},"attributed_orders":{"type":"object","description":"A single report metric with its unit. `count` values are whole\nnumbers, `percent` values are 0–100 with one decimal. Money metrics\ncarry the account's lowercased ISO 4217 currency code as their unit\n(e.g. `usd`, `eur`, `jpy`) and are expressed in that currency's major\nunits, two decimals. A rate whose denominator was zero reports 0, not\nnull — so 0 does not distinguish \"no activity\" from \"activity that\nnever converted\"; read the underlying counts to tell those apart.\n","properties":{"value":{"type":"number","example":42,"uniqueKey":"data.stats.attributed_orders.value","typeLabel":"number"},"unit":{"type":"string","description":"`count`, `percent`, or a lowercased ISO 4217 currency code.","example":"count","uniqueKey":"data.stats.attributed_orders.unit","typeLabel":"string"}},"uniqueKey":"data.stats.attributed_orders","typeLabel":"object"},"attributed_revenue":{"type":"object","description":"A single report metric with its unit. `count` values are whole\nnumbers, `percent` values are 0–100 with one decimal. Money metrics\ncarry the account's lowercased ISO 4217 currency code as their unit\n(e.g. `usd`, `eur`, `jpy`) and are expressed in that currency's major\nunits, two decimals. A rate whose denominator was zero reports 0, not\nnull — so 0 does not distinguish \"no activity\" from \"activity that\nnever converted\"; read the underlying counts to tell those apart.\n","properties":{"value":{"type":"number","example":42,"uniqueKey":"data.stats.attributed_revenue.value","typeLabel":"number"},"unit":{"type":"string","description":"`count`, `percent`, or a lowercased ISO 4217 currency code.","example":"count","uniqueKey":"data.stats.attributed_revenue.unit","typeLabel":"string"}},"uniqueKey":"data.stats.attributed_revenue","typeLabel":"object"},"average_order_value":{"type":"object","description":"A single report metric with its unit. `count` values are whole\nnumbers, `percent` values are 0–100 with one decimal. Money metrics\ncarry the account's lowercased ISO 4217 currency code as their unit\n(e.g. `usd`, `eur`, `jpy`) and are expressed in that currency's major\nunits, two decimals. A rate whose denominator was zero reports 0, not\nnull — so 0 does not distinguish \"no activity\" from \"activity that\nnever converted\"; read the underlying counts to tell those apart.\n","properties":{"value":{"type":"number","example":42,"uniqueKey":"data.stats.average_order_value.value","typeLabel":"number"},"unit":{"type":"string","description":"`count`, `percent`, or a lowercased ISO 4217 currency code.","example":"count","uniqueKey":"data.stats.average_order_value.unit","typeLabel":"string"}},"uniqueKey":"data.stats.average_order_value","typeLabel":"object"}},"uniqueKey":"data.stats","typeLabel":"object"},"ab_test":{"oneOf":[{"type":"object","description":"The display's A/B test results, or `null` when it has never had one. Figures cover the test's whole life, so they will not line up with the surrounding `stats` block.","properties":{"name":{"type":"string","description":"The merchant's name for the test.","example":"Headline test","uniqueKey":"data.ab_test.oneOf.0.name","typeLabel":"string"},"state":{"oneOf":[{"type":"string","description":"The test's lifecycle state (e.g. `draft`, `active`, `finished`).","example":"finished","uniqueKey":"data.ab_test.oneOf.0.state.oneOf.0","typeLabel":"string"},{"type":"null","description":"The test's lifecycle state (e.g. `draft`, `active`, `finished`).","example":"finished","uniqueKey":"data.ab_test.oneOf.0.state.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.ab_test.oneOf.0.state","typeLabel":"string | null"},"goal":{"oneOf":[{"type":"string","description":"The event the test optimizes for.","example":"signup","uniqueKey":"data.ab_test.oneOf.0.goal.oneOf.0","typeLabel":"string"},{"type":"null","description":"The event the test optimizes for.","example":"signup","uniqueKey":"data.ab_test.oneOf.0.goal.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.ab_test.oneOf.0.goal","typeLabel":"string | null"},"total_participants":{"type":"integer","description":"Visitors assigned across every variation — the sum of the variations' `participants`.","example":9400,"uniqueKey":"data.ab_test.oneOf.0.total_participants","typeLabel":"integer"},"winner_variation_id":{"oneOf":[{"type":"string","description":"Currently always `null` — a merged test winner is not persisted. When populated it matches a variation's `id` in `variations`.","example":null,"uniqueKey":"data.ab_test.oneOf.0.winner_variation_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"Currently always `null` — a merged test winner is not persisted. When populated it matches a variation's `id` in `variations`.","example":null,"uniqueKey":"data.ab_test.oneOf.0.winner_variation_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.ab_test.oneOf.0.winner_variation_id","typeLabel":"string | null"},"variations":{"type":"array","description":"One entry per arm of the test. The order is not significant — use `is_control` to find the original and `id` to key rows.","items":{"type":"object","description":"One arm of the display's A/B test — the control or a challenger — with its own traffic share and results. Figures cover the test's whole life and ignore the report period, like the enclosing `ab_test` block.","properties":{"id":{"type":"string","description":"Opaque, stable identifier for this variation row, prefixed `abv_`. Use it to key the `variations` array. No `/v1` resource resolves it — the prefix marks it as a report-local handle, not a lookup id. Unlike `display_id` it is always present, including for legacy variations with no display attached.","example":"abv_Jq8T2vY","uniqueKey":"data.ab_test.oneOf.0.variations.items.[INDEX].id","typeLabel":"string"},"display_id":{"oneOf":[{"type":"string","description":"Public id of the display this variation renders, resolvable at `GET /v1/displays/{id}`. For the control variation this is the display the report is about; each challenger is its own display. `null` only for legacy variations with no display attached — use `id` when a value is always required.","example":"gk2P8Zw1Lq","uniqueKey":"data.ab_test.oneOf.0.variations.items.[INDEX].display_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"Public id of the display this variation renders, resolvable at `GET /v1/displays/{id}`. For the control variation this is the display the report is about; each challenger is its own display. `null` only for legacy variations with no display attached — use `id` when a value is always required.","example":"gk2P8Zw1Lq","uniqueKey":"data.ab_test.oneOf.0.variations.items.[INDEX].display_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.ab_test.oneOf.0.variations.items.[INDEX].display_id","typeLabel":"string | null"},"name":{"oneOf":[{"type":"string","description":"Merchant-assigned label for this variation. `null` when the variation was never named.","example":"Challenger","uniqueKey":"data.ab_test.oneOf.0.variations.items.[INDEX].name.oneOf.0","typeLabel":"string"},{"type":"null","description":"Merchant-assigned label for this variation. `null` when the variation was never named.","example":"Challenger","uniqueKey":"data.ab_test.oneOf.0.variations.items.[INDEX].name.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.ab_test.oneOf.0.variations.items.[INDEX].name","typeLabel":"string | null"},"is_control":{"type":"boolean","description":"Whether this variation is the original (control) version.","example":false,"uniqueKey":"data.ab_test.oneOf.0.variations.items.[INDEX].is_control","typeLabel":"boolean"},"traffic_ratio":{"type":"number","description":"Fraction of traffic (0–1) assigned to this variation.","example":0.5,"uniqueKey":"data.ab_test.oneOf.0.variations.items.[INDEX].traffic_ratio","typeLabel":"number"},"participants":{"type":"integer","description":"Distinct visitors assigned to this variation over the test's life.","example":4700,"uniqueKey":"data.ab_test.oneOf.0.variations.items.[INDEX].participants","typeLabel":"integer"},"conversions":{"type":"integer","description":"Goal events recorded for this variation — every occurrence, not distinct converters, so one visitor converting twice counts twice.\n","example":129,"uniqueKey":"data.ab_test.oneOf.0.variations.items.[INDEX].conversions","typeLabel":"integer"},"conversion_rate":{"type":"object","description":"`conversions` over `participants`, 0 when the variation has no participants. It can exceed 100 because the numerator counts events and the denominator counts visitors.\n","properties":{"value":{"type":"number","example":42,"uniqueKey":"data.ab_test.oneOf.0.variations.items.[INDEX].conversion_rate.value","typeLabel":"number"},"unit":{"type":"string","description":"`count`, `percent`, or a lowercased ISO 4217 currency code.","example":"count","uniqueKey":"data.ab_test.oneOf.0.variations.items.[INDEX].conversion_rate.unit","typeLabel":"string"}},"uniqueKey":"data.ab_test.oneOf.0.variations.items.[INDEX].conversion_rate","typeLabel":"object"}},"uniqueKey":"data.ab_test.oneOf.0.variations.items.[INDEX]","typeLabel":"object"},"uniqueKey":"data.ab_test.oneOf.0.variations","typeLabel":"object[]"}},"uniqueKey":"data.ab_test.oneOf.0","typeLabel":"object"},{"type":"null","description":"The display's A/B test results, or `null` when it has never had one. Figures cover the test's whole life, so they will not line up with the surrounding `stats` block.","uniqueKey":"data.ab_test.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.ab_test","typeLabel":"object | null"}},"uniqueKey":"data","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"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":4200,"unit":"count"},"signups":{"value":310,"unit":"count"},"signup_rate":{"value":7.4,"unit":"percent"},"attributed_orders":{"value":28,"unit":"count"},"attributed_revenue":{"value":1840.5,"unit":"usd"},"average_order_value":{"value":65.73,"unit":"usd"}},"ab_test":{"name":"Headline test","state":"finished","goal":"signup","total_participants":9400,"winner_variation_id":null,"variations":[{"id":"abv_Jq8T2vY","display_id":"gk2P8Zw1Lq","name":"Original","is_control":true,"traffic_ratio":0.5,"participants":4700,"conversions":94,"conversion_rate":{"value":2,"unit":"percent"}},{"id":"abv_Nk2P5rW","display_id":"mP4tR9xK2b","name":"Challenger","is_control":false,"traffic_ratio":0.5,"participants":4700,"conversions":129,"conversion_rate":{"value":2.7,"unit":"percent"}}]}}},"examples":{"Example":{"title":"Example","value":{"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":4200,"unit":"count"},"signups":{"value":310,"unit":"count"},"signup_rate":{"value":7.4,"unit":"percent"},"attributed_orders":{"value":28,"unit":"count"},"attributed_revenue":{"value":1840.5,"unit":"usd"},"average_order_value":{"value":65.73,"unit":"usd"}},"ab_test":{"name":"Headline test","state":"finished","goal":"signup","total_participants":9400,"winner_variation_id":null,"variations":[{"id":"abv_Jq8T2vY","display_id":"gk2P8Zw1Lq","name":"Original","is_control":true,"traffic_ratio":0.5,"participants":4700,"conversions":94,"conversion_rate":{"value":2,"unit":"percent"}},{"id":"abv_Nk2P5rW","display_id":"mP4tR9xK2b","name":"Challenger","is_control":false,"traffic_ratio":0.5,"participants":4700,"conversions":129,"conversion_rate":{"value":2.7,"unit":"percent"}}]}}}}},"exampleType":"examples"}},"exampleType":"examples"},"77dcbc3d-6976-4abf-939a-1b3a0d9a87c6":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["invalid_client","invalid_scope","unauthorized","insufficient_scope","forbidden","paid_plan_required","api_access_required","segment_builder_required","not_found","no_connected_store","conflict","contacts_not_ready","validation_failed","idempotency_key_reused","rate_limited","store_unavailable","store_rate_limited","not_a_draft","design_changed","sms_missing","email_missing","ab_test_draft","idempotency_key_reused","template_unavailable","design_unavailable","render_failed"],"example":"validation_failed","isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","example":"One or more fields are invalid","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","example":"email","uniqueKey":"error.details.items.[INDEX].field","typeLabel":"string"},"message":{"type":"string","example":"is required","uniqueKey":"error.details.items.[INDEX].message","typeLabel":"string"}},"uniqueKey":"error.details.items.[INDEX]","typeLabel":"object"},"uniqueKey":"error.details","typeLabel":"object[]"}},"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":{"code":"unauthorized","message":"Bearer token is missing or invalid"}},"examples":{"Example":{"title":"Example","value":{"error":{"code":"unauthorized","message":"Bearer token is missing or invalid"}}}},"exampleType":"examples"}},"exampleType":"examples"},"4b1020c7-de48-4898-9683-fabac27d760f":{"description":"`insufficient_scope` when the token lacks the required scope for this endpoint.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["invalid_client","invalid_scope","unauthorized","insufficient_scope","forbidden","paid_plan_required","api_access_required","segment_builder_required","not_found","no_connected_store","conflict","contacts_not_ready","validation_failed","idempotency_key_reused","rate_limited","store_unavailable","store_rate_limited","not_a_draft","design_changed","sms_missing","email_missing","ab_test_draft","idempotency_key_reused","template_unavailable","design_unavailable","render_failed"],"example":"validation_failed","isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","example":"One or more fields are invalid","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","example":"email","uniqueKey":"error.details.items.[INDEX].field","typeLabel":"string"},"message":{"type":"string","example":"is required","uniqueKey":"error.details.items.[INDEX].message","typeLabel":"string"}},"uniqueKey":"error.details.items.[INDEX]","typeLabel":"object"},"uniqueKey":"error.details","typeLabel":"object[]"}},"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":{"code":"insufficient_scope","message":"Token does not have the required scope"}},"examples":{"Example":{"title":"Example","value":{"error":{"code":"insufficient_scope","message":"Token does not have the required scope"}}}},"exampleType":"examples"}},"exampleType":"examples"},"37af227e-581c-4a05-87fb-bb18acc2125b":{"description":"The requested resource does not exist or does not belong to your account.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["invalid_client","invalid_scope","unauthorized","insufficient_scope","forbidden","paid_plan_required","api_access_required","segment_builder_required","not_found","no_connected_store","conflict","contacts_not_ready","validation_failed","idempotency_key_reused","rate_limited","store_unavailable","store_rate_limited","not_a_draft","design_changed","sms_missing","email_missing","ab_test_draft","idempotency_key_reused","template_unavailable","design_unavailable","render_failed"],"example":"validation_failed","isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","example":"One or more fields are invalid","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","example":"email","uniqueKey":"error.details.items.[INDEX].field","typeLabel":"string"},"message":{"type":"string","example":"is required","uniqueKey":"error.details.items.[INDEX].message","typeLabel":"string"}},"uniqueKey":"error.details.items.[INDEX]","typeLabel":"object"},"uniqueKey":"error.details","typeLabel":"object[]"}},"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":{"code":"not_found","message":"Not found"}},"examples":{"Example":{"title":"Example","value":{"error":{"code":"not_found","message":"Not found"}}}},"exampleType":"examples"}},"exampleType":"examples"},"adedac00-1d34-4b83-9228-5a8c1381560a":{"description":"One or more fields failed validation.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["invalid_client","invalid_scope","unauthorized","insufficient_scope","forbidden","paid_plan_required","api_access_required","segment_builder_required","not_found","no_connected_store","conflict","contacts_not_ready","validation_failed","idempotency_key_reused","rate_limited","store_unavailable","store_rate_limited","not_a_draft","design_changed","sms_missing","email_missing","ab_test_draft","idempotency_key_reused","template_unavailable","design_unavailable","render_failed"],"example":"validation_failed","isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","example":"One or more fields are invalid","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","example":"email","uniqueKey":"error.details.items.[INDEX].field","typeLabel":"string"},"message":{"type":"string","example":"is required","uniqueKey":"error.details.items.[INDEX].message","typeLabel":"string"}},"uniqueKey":"error.details.items.[INDEX]","typeLabel":"object"},"uniqueKey":"error.details","typeLabel":"object[]"}},"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":{"code":"validation_failed","message":"One or more fields are invalid","details":[{"field":"email","message":"is required"}]}},"examples":{"Example":{"title":"Example","value":{"error":{"code":"validation_failed","message":"One or more fields are invalid","details":[{"field":"email","message":"is required"}]}}}},"exampleType":"examples"}},"exampleType":"examples"},"f68e369b-ea71-4633-86cf-029a9c1b3761":{"description":"Rate limit exceeded. Retry after the specified time.","headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"},"example":42},"X-RateLimit-Limit-Minute":{"description":"Maximum requests allowed per minute.","schema":{"type":"integer"},"example":60},"X-RateLimit-Remaining-Minute":{"description":"Requests remaining in the current minute window.","schema":{"type":"integer"},"example":0},"X-RateLimit-Reset-Minute":{"description":"Unix timestamp when the minute window resets.","schema":{"type":"integer"},"example":1711929600},"X-RateLimit-Limit-Day":{"description":"Maximum requests allowed per day.","schema":{"type":"integer"},"example":10000},"X-RateLimit-Remaining-Day":{"description":"Requests remaining in the current day window.","schema":{"type":"integer"},"example":9500},"X-RateLimit-Reset-Day":{"description":"Unix timestamp when the day window resets.","schema":{"type":"integer"},"example":1712016000}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["invalid_client","invalid_scope","unauthorized","insufficient_scope","forbidden","paid_plan_required","api_access_required","segment_builder_required","not_found","no_connected_store","conflict","contacts_not_ready","validation_failed","idempotency_key_reused","rate_limited","store_unavailable","store_rate_limited","not_a_draft","design_changed","sms_missing","email_missing","ab_test_draft","idempotency_key_reused","template_unavailable","design_unavailable","render_failed"],"example":"validation_failed","isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","example":"One or more fields are invalid","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","example":"email","uniqueKey":"error.details.items.[INDEX].field","typeLabel":"string"},"message":{"type":"string","example":"is required","uniqueKey":"error.details.items.[INDEX].message","typeLabel":"string"}},"uniqueKey":"error.details.items.[INDEX]","typeLabel":"object"},"uniqueKey":"error.details","typeLabel":"object[]"}},"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":{"code":"rate_limited","message":"Rate limit exceeded"}},"examples":{"Example":{"title":"Example","value":{"error":{"code":"rate_limited","message":"Rate limit exceeded"}}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"a9d27058-f2a1-4203-bfa3-908747e27dc3":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"API token or OAuth access token","description":"Send either an API token or an OAuth access token as\n`Authorization: Bearer \u003ctoken>`. See the Authentication page for details.\n","scopes":[],"schemeName":"bearerAuth"}}},"servers":{"97f63e03-f020-41b7-a5b9-e312bbfed47d":{"url":"https://api.privy.com/v1","description":"Production"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","bearerFormat":"API token or OAuth access token","description":"Send either an API token or an OAuth access token as\n`Authorization: Bearer \u003ctoken>`. See the Authentication page for details.\n","scopes":[],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Send either an API token or an OAuth access token as\n`Authorization: Bearer \u003ctoken>`. See the Authentication page for details.\n","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"openapi/privy-api.yaml"},"subdomain":"privy","siteName":"Privy Knowledge Base","title":"Get display performance - Privy Knowledge Base","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-22T23:08:30.130Z","originalFileLocation":"docs/api-reference/get-display-performance.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"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\u0026#x27;s own configuration — triggers, schedule, status — is /v1/displays/{id}, keyed on the same identifier. Required scope: reports_read\">\u003cmeta data-mint-head name=\"application-name\" content=\"Privy Knowledge Base\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/privy/fvbglk3MPcKWjtyG/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/privy/fvbglk3MPcKWjtyG/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/privy/fvbglk3MPcKWjtyG/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/privy/fvbglk3MPcKWjtyG/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/privy/fvbglk3MPcKWjtyG/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/privy/fvbglk3MPcKWjtyG/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/privy/fvbglk3MPcKWjtyG/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/privy/fvbglk3MPcKWjtyG/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/privy/fvbglk3MPcKWjtyG/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Get display performance - Privy Knowledge Base\">\u003cmeta data-mint-head property=\"og:description\" content=\"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\u0026#x27;s own configuration — triggers, schedule, status — is /v1/displays/{id}, keyed on the same identifier. Required scope: reports_read\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Privy Knowledge Base\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://help.privy.com/docs/api-reference/get-display-performance\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://privy.mintlify.site/_mintlify/api/og/v2?division=Reports\u0026amp;title=Get+display+performance\u0026amp;description=The+full+performance+stat+set+for+one+display+over+a+period%2C+including%0Aaverage+order+value+and%2C+when+the+display+has+run+an+A%2FB+test%2C+per-variation%0Aparticipants\u0026amp;theme=a5dbdd3119e247d04186b21c\u0026amp;signature=f7b69240592ec658dfd7f83f3096694067205c8fd8cf48e35fa88ed81baab642\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Get display performance - Privy Knowledge Base\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"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\u0026#x27;s own configuration — triggers, schedule, status — is /v1/displays/{id}, keyed on the same identifier. Required scope: reports_read\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://privy.mintlify.site/_mintlify/api/og/v2?division=Reports\u0026amp;title=Get+display+performance\u0026amp;description=The+full+performance+stat+set+for+one+display+over+a+period%2C+including%0Aaverage+order+value+and%2C+when+the+display+has+run+an+A%2FB+test%2C+per-variation%0Aparticipants\u0026amp;theme=a5dbdd3119e247d04186b21c\u0026amp;signature=f7b69240592ec658dfd7f83f3096694067205c8fd8cf48e35fa88ed81baab642\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/privy/fvbglk3MPcKWjtyG/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Privy Knowledge Base\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#254E5A\">\u003clink data-mint-head rel=\"canonical\" href=\"https://help.privy.com/docs/api-reference/get-display-performance\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/api-reference/get-display-performance.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://help.privy.com/#organization\",\"name\":\"Privy Knowledge Base\",\"url\":\"https://help.privy.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/privy/fGrkZt933tBjY_zl/logo/light.svg?fit=max\u0026auto=format\u0026n=fGrkZt933tBjY_zl\u0026q=85\u0026s=36a01db426b7c94fac423778765cd517\"}},{\"@type\":\"WebSite\",\"@id\":\"https://help.privy.com#website\",\"name\":\"Privy Knowledge Base\",\"url\":\"https://help.privy.com\",\"publisher\":{\"@id\":\"https://help.privy.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://help.privy.com/docs/api-reference/get-display-performance#webpage\",\"url\":\"https://help.privy.com/docs/api-reference/get-display-performance\",\"name\":\"Get display performance\",\"description\":\"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\",\"dateModified\":\"2026-10-22T23:08:30.130Z\",\"isPartOf\":{\"@id\":\"https://help.privy.com#website\"},\"breadcrumb\":{\"@id\":\"https://help.privy.com/docs/api-reference/get-display-performance#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://help.privy.com/docs/api-reference/get-display-performance#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Reports\",\"item\":\"https://help.privy.com/docs/api-reference/get-report-summary\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Get display performance\",\"item\":\"https://help.privy.com/docs/api-reference/get-display-performance\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://help.privy.com/docs/api-reference/get-display-performance#apireference\",\"headline\":\"Get display performance\",\"name\":\"Get display performance\",\"description\":\"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\",\"url\":\"https://help.privy.com/docs/api-reference/get-display-performance\",\"mainEntityOfPage\":{\"@id\":\"https://help.privy.com/docs/api-reference/get-display-performance#webpage\"},\"dateModified\":\"2026-10-22T23:08:30.130Z\",\"publisher\":{\"@id\":\"https://help.privy.com/#organization\"},\"isPartOf\":{\"@id\":\"https://help.privy.com#website\"}}]}\u003c/script>","agentPointerHref":"/docs/api-reference/get-display-performance.md","siteName":"Privy Knowledge Base","nav":{"global":null,"tabs":[{"tab":"Learn","icon":"house","pages":[{"title":"Learn","href":"/docs/learn/home"}]},{"tab":"Developer","icon":"square-terminal","groups":[{"group":"API Reference","pages":[{"title":"API Overview","sidebarTitle":"Overview","icon":"book-open","href":"/docs/api-reference/overview"},{"title":"Authentication","sidebarTitle":"Authentication","icon":"lock","href":"/docs/api-reference/authentication"},{"title":"API Tokens","sidebarTitle":"API Tokens","icon":"key","href":"/docs/api-reference/api-tokens"},{"title":"Rate Limits","sidebarTitle":"Rate Limits","icon":"gauge","href":"/docs/api-reference/rate-limits"},{"title":"Errors","sidebarTitle":"Errors","icon":"triangle-exclamation","href":"/docs/api-reference/errors"},{"title":"API Changelog","sidebarTitle":"Changelog","icon":"clock-rotate-left","href":"/docs/api-reference/changelog"}]},{"group":"Account","pages":[{"title":"Get account","openapi":"openapi/privy-api.yaml GET /account","href":"/docs/api-reference/get-account"},{"title":"Get account setup","openapi":"openapi/privy-api.yaml GET /account/setup","href":"/docs/api-reference/get-account-setup"}]},{"group":"Contacts","pages":[{"title":"List contacts","openapi":"openapi/privy-api.yaml GET /contacts","href":"/docs/api-reference/list-contacts"},{"title":"Get a contact","openapi":"openapi/privy-api.yaml GET /contacts/{id}","href":"/docs/api-reference/get-contact"},{"title":"Create a contact","openapi":"openapi/privy-api.yaml POST /contacts","href":"/docs/api-reference/create-contact"},{"title":"Update a contact","openapi":"openapi/privy-api.yaml PATCH /contacts/{id}","href":"/docs/api-reference/update-contact"},{"title":"Delete a contact","openapi":"openapi/privy-api.yaml DELETE /contacts/{id}","href":"/docs/api-reference/delete-contact"},{"title":"List a contact's activity","openapi":"openapi/privy-api.yaml GET /contacts/{id}/events","href":"/docs/api-reference/list-contact-activity"}]},{"group":"Imports","pages":[{"title":"List contact imports","openapi":"openapi/privy-api.yaml GET /imports","href":"/docs/api-reference/list-imports"},{"title":"Get a contact import","openapi":"openapi/privy-api.yaml GET /imports/{id}","href":"/docs/api-reference/get-import"}]},{"group":"Tags","pages":[{"title":"List tags","openapi":"openapi/privy-api.yaml GET /tags","href":"/docs/api-reference/list-tags"},{"title":"Get a tag","openapi":"openapi/privy-api.yaml GET /tags/{id}","href":"/docs/api-reference/get-tag"}]},{"group":"Campaigns","pages":[{"title":"List campaigns","openapi":"openapi/privy-api.yaml GET /campaigns","href":"/docs/api-reference/list-campaigns"},{"title":"Get a campaign","openapi":"openapi/privy-api.yaml GET /campaigns/{id}","href":"/docs/api-reference/get-campaign"}]},{"group":"Displays","pages":[{"title":"List displays","openapi":"openapi/privy-api.yaml GET /displays","href":"/docs/api-reference/list-displays"},{"title":"Get a display","openapi":"openapi/privy-api.yaml GET /displays/{id}","href":"/docs/api-reference/get-display"}]},{"group":"Coupons","pages":[{"title":"List coupons","openapi":"openapi/privy-api.yaml GET /coupons","href":"/docs/api-reference/list-coupons"},{"title":"Get a coupon","openapi":"openapi/privy-api.yaml GET /coupons/{id}","href":"/docs/api-reference/get-coupon"},{"title":"Check a coupon code","openapi":"openapi/privy-api.yaml GET /coupons/{id}/codes/{code}","href":"/docs/api-reference/check-coupon-code"}]},{"group":"Reports","pages":[{"title":"Get business report summary","openapi":"openapi/privy-api.yaml GET /reports/summary","href":"/docs/api-reference/get-report-summary"},{"title":"List campaign performance","openapi":"openapi/privy-api.yaml GET /reports/campaigns","href":"/docs/api-reference/list-campaign-performance"},{"title":"Get campaign performance","openapi":"openapi/privy-api.yaml GET /reports/campaigns/{campaign_id}","href":"/docs/api-reference/get-campaign-performance"},{"title":"List flow performance","openapi":"openapi/privy-api.yaml GET /reports/flows","href":"/docs/api-reference/list-flow-performance"},{"title":"Get flow performance","openapi":"openapi/privy-api.yaml GET /reports/flows/{flow_id}","href":"/docs/api-reference/get-flow-performance"},{"title":"List display performance","openapi":"openapi/privy-api.yaml GET /reports/displays","description":"Rank your displays by performance over a period — signups by default,\nor any of the documented sort keys. Displays whose value for the chosen\nsort key is zero are left out entirely, and ranking stops at 50\ndisplays, which also caps the reported `total_count`. Use\n`/v1/reports/displays/{display_id}` for one display's full stat set,\nincluding average order value and A/B test results.\n\n**Required scope:** `reports_read`\n","href":"/docs/api-reference/list-display-performance"},{"title":"Get display performance","openapi":"openapi/privy-api.yaml GET /reports/displays/{display_id}","href":"/docs/api-reference/get-display-performance"},{"title":"List top products","openapi":"openapi/privy-api.yaml GET /reports/top_products","description":"Retrieve your store's top products ranked by views or sales over a\n30, 60, or 90 day window, or all-time where the platform supports it.\n\nEntries are the connected store platform's product ids (e.g. the\nnumeric Shopify product id) ranked best-first. Each entry carries the\nproduct `title`, resolved live from the connected store; it is `null`\nwhen the store cannot supply it (no connected store, the product was\ndeleted, or the store API was unreachable). Full product details are\nat `GET /v1/products/{id}`. Every response repeats this in an in-band\n`note`.\n\nRankings are served from a daily-refreshed cache. `refreshed_at` is\nthe cache timestamp; `null` means this metric/window combination has\nnever been computed (as opposed to computed and empty) — the request\nitself enqueues the background refresh that fills it, so retry after\na short wait.\n\nPlatform support differs by metric, and for `views` by window.\nWindowed view rankings (`window_days` 30, 60, or 90) require a\nconnected Shopify store: dated product views are only tracked through\nShopify's Web Pixel, so those windows return an empty ranking on every\nother platform. All-time view rankings (`window_days=0`) come from the\nstore platform's own view counter and are available for BigCommerce\nonly — BigCommerce exposes a per-product view count with no date\ndimension, so it can be ranked all-time but never windowed. Shopify\nhas no such counter, so `window_days=0` returns an empty ranking for a\nShopify-only store; a store connected to both platforms is ranked from\nits BigCommerce counter.\n\nThe all-time ranking is built by scanning the BigCommerce catalog, and\nthat scan is capped at 25,000 products. On a larger catalog it covers\nthe products scanned rather than the whole catalog, so treat it as\napproximate there.\n\n`sales` is derived from synced order data and works for any store that\nsyncs orders to Privy (Shopify, BigCommerce, Wix, and orders submitted\nthrough the API). There is no all-time sales bucket, so\n`metric=sales` with `window_days=0` is rejected.\n\n**Required scope:** `reports_read`\n","href":"/docs/api-reference/list-top-products"}]},{"group":"Flows","pages":[{"title":"List flows","openapi":"openapi/privy-api.yaml GET /flows","href":"/docs/api-reference/list-flows"},{"title":"Get a flow","openapi":"openapi/privy-api.yaml GET /flows/{id}","href":"/docs/api-reference/get-flow"}]},{"group":"Segments","pages":[{"title":"List segments","openapi":"openapi/privy-api.yaml GET /segments","href":"/docs/api-reference/list-segments"},{"title":"Get a segment","openapi":"openapi/privy-api.yaml GET /segments/{id}","href":"/docs/api-reference/get-segment"},{"title":"List a segment's contacts","openapi":"openapi/privy-api.yaml GET /segments/{id}/contacts","href":"/docs/api-reference/list-segment-contacts"}]},{"group":"Orders","pages":[{"title":"Order placed","openapi":"openapi/privy-api.yaml POST /orders/placed","href":"/docs/api-reference/order-placed"},{"title":"List orders","openapi":"openapi/privy-api.yaml GET /orders","href":"/docs/api-reference/list-orders"},{"title":"Get an order","openapi":"openapi/privy-api.yaml GET /orders/{order_id}","href":"/docs/api-reference/get-order"}]},{"group":"Products","pages":[{"title":"List products","openapi":"openapi/privy-api.yaml GET /products","href":"/docs/api-reference/list-products"},{"title":"Get a product","openapi":"openapi/privy-api.yaml GET /products/{id}","href":"/docs/api-reference/get-product"},{"title":"List product collections","openapi":"openapi/privy-api.yaml GET /product_collections","href":"/docs/api-reference/list-product-collections"},{"title":"Get a product collection","openapi":"openapi/privy-api.yaml GET /product_collections/{id}","href":"/docs/api-reference/get-product-collection"},{"title":"List a collection's products","openapi":"openapi/privy-api.yaml GET /product_collections/{id}/products","href":"/docs/api-reference/list-collection-products"},{"title":"List a product's collections","openapi":"openapi/privy-api.yaml GET /products/{id}/collections","href":"/docs/api-reference/list-collections-for-product"}]},{"group":"Events","pages":[{"title":"Ingest an event","openapi":"openapi/privy-api.yaml POST /events","href":"/docs/api-reference/ingest-event"},{"title":"Send cart events from your storefront","sidebarTitle":"Browser events","href":"/docs/api-reference/browser-events"}]}]}]},"basePath":"","title":"Get display performance - Privy Knowledge Base","buildId":"dpl_DqYu5MPb49gWBBbUGgpHQUmCHY3P","deploymentId":"dpl_DqYu5MPb49gWBBbUGgpHQUmCHY3P","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-CybtLBIt.js","utils-BMLj2fvV.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-B6In562Y.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-Dr8Mfhp9.js","snippetPresets-2rmQvMVl.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-WMqJYdZj.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-CJ-MlPHu.js","shallow-dY3TMRCk.js","getApiPlaygroundDisplay-v-1B2bKm.js","CodeSnippet-BDhiTB7U.js","CodeSnippets-D9hnzQcS.js","Page-C4GwDT3_.js","getPastedJson-Th2V45jI.js","icon-BQXch1W9.js","MethodPill-BCqUneP3.js","DuplicateIcon-Q_-bhurZ.js","createIcon-DUjLHRqp.js","DynamicMarkdown-B-f2cqXQ.js","SectionHeading-Da5NsV4v.js","axios-vUo_bRtp.js","Markdown-D13FWkIM.js","clsx-D3Isdib3.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-C-XZBk9h.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink--qIqmmVG.js"]}