addedOutput schema / properties / engagement
Added value: +{
+ "description": "Opt-in participant engagement grouped by when activity occurred.",
+ "properties": {
+ "breakdowns": {
+ "description": "Engagement grouped by platform, portal source, and share channel.",
+ "properties": {
+ "firstShareChannels": {
+ "items": {
+ "properties": {
+ "key": {
+ "description": "Stable first-share channel key.",
+ "type": "string"
+ },
+ "sharingParticipants": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "platforms": {
+ "items": {
+ "properties": {
+ "activeParticipants": {
+ "type": "integer"
+ },
+ "key": {
+ "enum": [
+ "WEB",
+ "IOS",
+ "ANDROID"
+ ],
+ "type": "string"
+ },
+ "portalViews": {
+ "type": "integer"
+ },
+ "shareActions": {
+ "type": "integer"
+ },
+ "sharingParticipants": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "portalViewSources": {
+ "items": {
+ "properties": {
+ "activeParticipants": {
+ "type": "integer"
+ },
+ "key": {
+ "enum": [
+ "DEFAULT_LAUNCHER",
+ "SDK_OPEN",
+ "CSS_CLASS",
+ "EMBEDDABLE_ELEMENT",
+ "HOSTED_PORTAL",
+ "NATIVE_WINDOW",
+ "UNKNOWN"
+ ],
+ "type": "string"
+ },
+ "portalViews": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "shareChannels": {
+ "items": {
+ "properties": {
+ "key": {
+ "description": "Stable share-channel key.",
+ "type": "string"
+ },
+ "shareActions": {
+ "type": "integer"
+ },
+ "sharingParticipants": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "comparison": {
+ "description": "Current-versus-previous engagement changes.",
+ "properties": {
+ "metrics": {
+ "properties": {
+ "activeParticipants": {
+ "description": "Change in unique active participants.",
+ "properties": {
+ "delta": {
+ "description": "Optional current-minus-previous difference on comparison metrics.",
+ "type": "number"
+ },
+ "reason": {
+ "description": "Why a value is partial or unavailable, or `null` when it is available.",
+ "enum": [
+ "COVERAGE_UNAVAILABLE",
+ "PRE_COVERAGE",
+ "PARTIAL_COVERAGE",
+ "INSUFFICIENT_COVERAGE",
+ "EMPTY_DENOMINATOR",
+ "QUERY_LIMIT_EXCEEDED",
+ "PARTICIPANT_NOT_ELIGIBLE",
+ null
+ ],
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "state": {
+ "description": "Whether the value is complete, partial, or unavailable for the requested bounds.",
+ "enum": [
+ "AVAILABLE",
+ "PARTIAL",
+ "UNAVAILABLE"
+ ],
+ "type": "string"
+ },
+ "value": {
+ "description": "Measured value, or `null` when unavailable.",
+ "type": [
+ "number",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "portalViews": {
+ "description": "Change in total signed-in portal views.",
+ "properties": {
+ "delta": {
+ "description": "Optional current-minus-previous difference on comparison metrics.",
+ "type": "number"
+ },
+ "reason": {
+ "description": "Why a value is partial or unavailable, or `null` when it is available.",
+ "enum": [
+ "COVERAGE_UNAVAILABLE",
+ "PRE_COVERAGE",
+ "PARTIAL_COVERAGE",
+ "INSUFFICIENT_COVERAGE",
+ "EMPTY_DENOMINATOR",
+ "QUERY_LIMIT_EXCEEDED",
+ "PARTICIPANT_NOT_ELIGIBLE",
+ null
+ ],
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "state": {
+ "description": "Whether the value is complete, partial, or unavailable for the requested bounds.",
+ "enum": [
+ "AVAILABLE",
+ "PARTIAL",
+ "UNAVAILABLE"
+ ],
+ "type": "string"
+ },
+ "value": {
+ "description": "Measured value, or `null` when unavailable.",
+ "type": [
+ "number",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "repeatActiveParticipants": {
+ "description": "Change in repeat active participants.",
+ "properties": {
+ "delta": {
+ "description": "Optional current-minus-previous difference on comparison metrics.",
+ "type": "number"
+ },
+ "reason": {
+ "description": "Why a value is partial or unavailable, or `null` when it is available.",
+ "enum": [
+ "COVERAGE_UNAVAILABLE",
+ "PRE_COVERAGE",
+ "PARTIAL_COVERAGE",
+ "INSUFFICIENT_COVERAGE",
+ "EMPTY_DENOMINATOR",
+ "QUERY_LIMIT_EXCEEDED",
+ "PARTICIPANT_NOT_ELIGIBLE",
+ null
+ ],
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "state": {
+ "description": "Whether the value is complete, partial, or unavailable for the requested bounds.",
+ "enum": [
+ "AVAILABLE",
+ "PARTIAL",
+ "UNAVAILABLE"
+ ],
+ "type": "string"
+ },
+ "value": {
+ "description": "Measured value, or `null` when unavailable.",
+ "type": [
+ "number",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "repeatSharingParticipants": {
+ "description": "Change in repeat sharing participants.",
+ "properties": {
+ "delta": {
+ "description": "Optional current-minus-previous difference on comparison metrics.",
+ "type": "number"
+ },
+ "reason": {
+ "description": "Why a value is partial or unavailable, or `null` when it is available.",
+ "enum": [
+ "COVERAGE_UNAVAILABLE",
+ "PRE_COVERAGE",
+ "PARTIAL_COVERAGE",
+ "INSUFFICIENT_COVERAGE",
+ "EMPTY_DENOMINATOR",
+ "QUERY_LIMIT_EXCEEDED",
+ "PARTICIPANT_NOT_ELIGIBLE",
+ null
+ ],
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "state": {
+ "description": "Whether the value is complete, partial, or unavailable for the requested bounds.",
+ "enum": [
+ "AVAILABLE",
+ "PARTIAL",
+ "UNAVAILABLE"
+ ],
+ "type": "string"
+ },
+ "value": {
+ "description": "Measured value, or `null` when unavailable.",
+ "type": [
+ "number",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "shareActions": {
+ "description": "Change in total accepted share actions.",
+ "properties": {
+ "delta": {
+ "description": "Optional current-minus-previous difference on comparison metrics.",
+ "type": "number"
+ },
+ "reason": {
+ "description": "Why a value is partial or unavailable, or `null` when it is available.",
+ "enum": [
+ "COVERAGE_UNAVAILABLE",
+ "PRE_COVERAGE",
+ "PARTIAL_COVERAGE",
+ "INSUFFICIENT_COVERAGE",
+ "EMPTY_DENOMINATOR",
+ "QUERY_LIMIT_EXCEEDED",
+ "PARTICIPANT_NOT_ELIGIBLE",
+ null
+ ],
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "state": {
+ "description": "Whether the value is complete, partial, or unavailable for the requested bounds.",
+ "enum": [
+ "AVAILABLE",
+ "PARTIAL",
+ "UNAVAILABLE"
+ ],
+ "type": "string"
+ },
+ "value": {
+ "description": "Measured value, or `null` when unavailable.",
+ "type": [
+ "number",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "sharingParticipants": {
+ "description": "Change in unique sharing participants.",
+ "properties": {
+ "delta": {
+ "description": "Optional current-minus-previous difference on comparison metrics.",
+ "type": "number"
+ },
+ "reason": {
+ "description": "Why a value is partial or unavailable, or `null` when it is available.",
+ "enum": [
+ "COVERAGE_UNAVAILABLE",
+ "PRE_COVERAGE",
+ "PARTIAL_COVERAGE",
+ "INSUFFICIENT_COVERAGE",
+ "EMPTY_DENOMINATOR",
+ "QUERY_LIMIT_EXCEEDED",
+ "PARTICIPANT_NOT_ELIGIBLE",
+ null
+ ],
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "state": {
+ "description": "Whether the value is complete, partial, or unavailable for the requested bounds.",
+ "enum": [
+ "AVAILABLE",
+ "PARTIAL",
+ "UNAVAILABLE"
+ ],
+ "type": "string"
+ },
+ "value": {
+ "description": "Measured value, or `null` when unavailable.",
+ "type": [
+ "number",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ }
+ },
+ "type": [
+ "object",
+ "null"
+ ]
+ },
+ "reason": {
+ "description": "Why a value is partial or unavailable, or `null` when it is available.",
+ "enum": [
+ "COVERAGE_UNAVAILABLE",
+ "PRE_COVERAGE",
+ "PARTIAL_COVERAGE",
+ "INSUFFICIENT_COVERAGE",
+ "EMPTY_DENOMINATOR",
+ "QUERY_LIMIT_EXCEEDED",
+ "PARTICIPANT_NOT_ELIGIBLE",
+ null
+ ],
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "state": {
+ "description": "Whether the value is complete, partial, or unavailable for the requested bounds.",
+ "enum": [
+ "AVAILABLE",
+ "PARTIAL",
+ "UNAVAILABLE"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "coverageStartAt": {
+ "description": "Earliest expected complete capture time (Unix ms), or `null` until coverage begins.",
+ "type": [
+ "integer",
+ "null"
+ ]
+ },
+ "interval": {
+ "description": "Bucket size used for `series`.",
+ "enum": [
+ "day",
+ "week",
+ "month"
+ ],
+ "type": "string"
+ },
+ "metricContractVersion": {
+ "description": "Shared activation and engagement metric version.",
+ "type": "integer"
+ },
+ "period": {
+ "description": "Exact half-open current and previous activity bounds.",
+ "properties": {
+ "effectiveFrom": {
+ "description": "Measured start after coverage, or `null`.",
+ "type": [
+ "integer",
+ "null"
+ ]
+ },
+ "from": {
+ "description": "Inclusive requested activity start (Unix ms).",
+ "type": "integer"
+ },
+ "previousFrom": {
+ "description": "Inclusive previous-period start (Unix ms).",
+ "type": "integer"
+ },
+ "previousTo": {
+ "description": "Exclusive previous-period end (Unix ms).",
+ "type": "integer"
+ },
+ "to": {
+ "description": "Exclusive requested activity end (Unix ms).",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "platform": {
+ "description": "Requested and applied client-platform filter.",
+ "properties": {
+ "applied": {
+ "enum": [
+ "ALL",
+ "WEB",
+ "IOS",
+ "ANDROID"
+ ],
+ "type": "string"
+ },
+ "requested": {
+ "enum": [
+ "ALL",
+ "WEB",
+ "IOS",
+ "ANDROID"
+ ],
+ "type": "string"
+ },
+ "state": {
+ "description": "Whether the value is complete, partial, or unavailable for the requested bounds.",
+ "enum": [
+ "AVAILABLE",
+ "PARTIAL",
+ "UNAVAILABLE"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "previousPeriod": {
+ "description": "Engagement totals for the immediately previous equal activity period.",
+ "properties": {
+ "reason": {
+ "description": "Why a value is partial or unavailable, or `null` when it is available.",
+ "enum": [
+ "COVERAGE_UNAVAILABLE",
+ "PRE_COVERAGE",
+ "PARTIAL_COVERAGE",
+ "INSUFFICIENT_COVERAGE",
+ "EMPTY_DENOMINATOR",
+ "QUERY_LIMIT_EXCEEDED",
+ "PARTICIPANT_NOT_ELIGIBLE",
+ null
+ ],
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "state": {
+ "description": "Whether the value is complete, partial, or unavailable for the requested bounds.",
+ "enum": [
+ "AVAILABLE",
+ "PARTIAL",
+ "UNAVAILABLE"
+ ],
+ "type": "string"
+ },
+ "totals": {
+ "description": "Unique participant metrics and action totals for one activity period.",
+ "properties": {
+ "activeParticipants": {
+ "description": "Eligible participants with a signed-in portal view.",
+ "properties": {
+ "delta": {
+ "description": "Optional current-minus-previous difference on comparison metrics.",
+ "type": "number"
+ },
+ "reason": {
+ "description": "Why a value is partial or unavailable, or `null` when it is available.",
+ "enum": [
+ "COVERAGE_UNAVAILABLE",
+ "PRE_COVERAGE",
+ "PARTIAL_COVERAGE",
+ "INSUFFICIENT_COVERAGE",
+ "EMPTY_DENOMINATOR",
+ "QUERY_LIMIT_EXCEEDED",
+ "PARTICIPANT_NOT_ELIGIBLE",
+ null
+ ],
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "state": {
+ "description": "Whether the value is complete, partial, or unavailable for the requested bounds.",
+ "enum": [
+ "AVAILABLE",
+ "PARTIAL",
+ "UNAVAILABLE"
+ ],
+ "type": "string"
+ },
+ "value": {
+ "description": "Measured value, or `null` when unavailable.",
+ "type": [
+ "number",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "portalViews": {
+ "description": "Total accepted signed-in portal-view actions.",
+ "properties": {
+ "delta": {
+ "description": "Optional current-minus-previous difference on comparison metrics.",
+ "type": "number"
+ },
+ "reason": {
+ "description": "Why a value is partial or unavailable, or `null` when it is available.",
+ "enum": [
+ "COVERAGE_UNAVAILABLE",
+ "PRE_COVERAGE",
+ "PARTIAL_COVERAGE",
+ "INSUFFICIENT_COVERAGE",
+ "EMPTY_DENOMINATOR",
+ "QUERY_LIMIT_EXCEEDED",
+ "PARTICIPANT_NOT_ELIGIBLE",
+ null
+ ],
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "state": {
+ "description": "Whether the value is complete, partial, or unavailable for the requested bounds.",
+ "enum": [
+ "AVAILABLE",
+ "PARTIAL",
+ "UNAVAILABLE"
+ ],
+ "type": "string"
+ },
+ "value": {
+ "description": "Measured value, or `null` when unavailable.",
+ "type": [
+ "number",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "repeatActiveParticipants": {
+ "description": "Eligible participants active on at least two distinct program-local days.",
+ "properties": {
+ "delta": {
+ "description": "Optional current-minus-previous difference on comparison metrics.",
+ "type": "number"
+ },
+ "reason": {
+ "description": "Why a value is partial or unavailable, or `null` when it is available.",
+ "enum": [
+ "COVERAGE_UNAVAILABLE",
+ "PRE_COVERAGE",
+ "PARTIAL_COVERAGE",
+ "INSUFFICIENT_COVERAGE",
+ "EMPTY_DENOMINATOR",
+ "QUERY_LIMIT_EXCEEDED",
+ "PARTICIPANT_NOT_ELIGIBLE",
+ null
+ ],
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "state": {
+ "description": "Whether the value is complete, partial, or unavailable for the requested bounds.",
+ "enum": [
+ "AVAILABLE",
+ "PARTIAL",
+ "UNAVAILABLE"
+ ],
+ "type": "string"
+ },
+ "value": {
+ "description": "Measured value, or `null` when unavailable.",
+ "type": [
+ "number",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "repeatSharingParticipants": {
+ "description": "Eligible participants who shared on at least two distinct program-local days.",
+ "properties": {
+ "delta": {
+ "description": "Optional current-minus-previous difference on comparison metrics.",
+ "type": "number"
+ },
+ "reason": {
+ "description": "Why a value is partial or unavailable, or `null` when it is available.",
+ "enum": [
+ "COVERAGE_UNAVAILABLE",
+ "PRE_COVERAGE",
+ "PARTIAL_COVERAGE",
+ "INSUFFICIENT_COVERAGE",
+ "EMPTY_DENOMINATOR",
+ "QUERY_LIMIT_EXCEEDED",
+ "PARTICIPANT_NOT_ELIGIBLE",
+ null
+ ],
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "state": {
+ "description": "Whether the value is complete, partial, or unavailable for the requested bounds.",
+ "enum": [
+ "AVAILABLE",
+ "PARTIAL",
+ "UNAVAILABLE"
+ ],
+ "type": "string"
+ },
+ "value": {
+ "description": "Measured value, or `null` when unavailable.",
+ "type": [
+ "number",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "retainedActiveParticipants": {
+ "description": "Eligible participants active in both the current and previous equal periods.",
+ "properties": {
+ "delta": {
+ "description": "Optional current-minus-previous difference on comparison metrics.",
+ "type": "number"
+ },
+ "reason": {
+ "description": "Why a value is partial or unavailable, or `null` when it is available.",
+ "enum": [
+ "COVERAGE_UNAVAILABLE",
+ "PRE_COVERAGE",
+ "PARTIAL_COVERAGE",
+ "INSUFFICIENT_COVERAGE",
+ "EMPTY_DENOMINATOR",
+ "QUERY_LIMIT_EXCEEDED",
+ "PARTICIPANT_NOT_ELIGIBLE",
+ null
+ ],
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "state": {
+ "description": "Whether the value is complete, partial, or unavailable for the requested bounds.",
+ "enum": [
+ "AVAILABLE",
+ "PARTIAL",
+ "UNAVAILABLE"
+ ],
+ "type": "string"
+ },
+ "value": {
+ "description": "Measured value, or `null` when unavailable.",
+ "type": [
+ "number",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "shareActions": {
+ "description": "Total accepted referral-link share actions.",
+ "properties": {
+ "delta": {
+ "description": "Optional current-minus-previous difference on comparison metrics.",
+ "type": "number"
+ },
+ "reason": {
+ "description": "Why a value is partial or unavailable, or `null` when it is available.",
+ "enum": [
+ "COVERAGE_UNAVAILABLE",
+ "PRE_COVERAGE",
+ "PARTIAL_COVERAGE",
+ "INSUFFICIENT_COVERAGE",
+ "EMPTY_DENOMINATOR",
+ "QUERY_LIMIT_EXCEEDED",
+ "PARTICIPANT_NOT_ELIGIBLE",
+ null
+ ],
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "state": {
+ "description": "Whether the value is complete, partial, or unavailable for the requested bounds.",
+ "enum": [
+ "AVAILABLE",
+ "PARTIAL",
+ "UNAVAILABLE"
+ ],
+ "type": "string"
+ },
+ "value": {
+ "description": "Measured value, or `null` when unavailable.",
+ "type": [
+ "number",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "sharingParticipants": {
+ "description": "Eligible participants with an accepted share action.",
+ "properties": {
+ "delta": {
+ "description": "Optional current-minus-previous difference on comparison metrics.",
+ "type": "number"
+ },
+ "reason": {
+ "description": "Why a value is partial or unavailable, or `null` when it is available.",
+ "enum": [
+ "COVERAGE_UNAVAILABLE",
+ "PRE_COVERAGE",
+ "PARTIAL_COVERAGE",
+ "INSUFFICIENT_COVERAGE",
+ "EMPTY_DENOMINATOR",
+ "QUERY_LIMIT_EXCEEDED",
+ "PARTICIPANT_NOT_ELIGIBLE",
+ null
+ ],
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "state": {
+ "description": "Whether the value is complete, partial, or unavailable for the requested bounds.",
+ "enum": [
+ "AVAILABLE",
+ "PARTIAL",
+ "UNAVAILABLE"
+ ],
+ "type": "string"
+ },
+ "value": {
+ "description": "Measured value, or `null` when unavailable.",
+ "type": [
+ "number",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "sharingRate": {
+ "description": "Sharing participants divided by active participants.",
+ "properties": {
+ "delta": {
+ "description": "Optional current-minus-previous difference on comparison metrics.",
+ "type": "number"
+ },
+ "reason": {
+ "description": "Why a value is partial or unavailable, or `null` when it is available.",
+ "enum": [
+ "COVERAGE_UNAVAILABLE",
+ "PRE_COVERAGE",
+ "PARTIAL_COVERAGE",
+ "INSUFFICIENT_COVERAGE",
+ "EMPTY_DENOMINATOR",
+ "QUERY_LIMIT_EXCEEDED",
+ "PARTICIPANT_NOT_ELIGIBLE",
+ null
+ ],
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "state": {
+ "description": "Whether the value is complete, partial, or unavailable for the requested bounds.",
+ "enum": [
+ "AVAILABLE",
+ "PARTIAL",
+ "UNAVAILABLE"
+ ],
+ "type": "string"
+ },
+ "value": {
+ "description": "Measured value, or `null` when unavailable.",
+ "type": [
+ "number",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ }
+ },
+ "type": [
+ "object",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "programType": {
+ "description": "Program eligibility model.",
+ "enum": [
+ "REFERRAL",
+ "AFFILIATE"
+ ],
+ "type": "string"
+ },
+ "reason": {
+ "description": "Why a value is partial or unavailable, or `null` when it is available.",
+ "enum": [
+ "COVERAGE_UNAVAILABLE",
+ "PRE_COVERAGE",
+ "PARTIAL_COVERAGE",
+ "INSUFFICIENT_COVERAGE",
+ "EMPTY_DENOMINATOR",
+ "QUERY_LIMIT_EXCEEDED",
+ "PARTICIPANT_NOT_ELIGIBLE",
+ null
+ ],
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "series": {
+ "description": "Continuous half-open activity intervals in ascending order.",
+ "items": {
+ "properties": {
+ "activeParticipants": {
+ "description": "Unique active participants.",
+ "type": "integer"
+ },
+ "from": {
+ "description": "Inclusive interval start (Unix ms).",
+ "type": "integer"
+ },
+ "portalViews": {
+ "description": "Total signed-in portal views.",
+ "type": "integer"
+ },
+ "shareActions": {
+ "description": "Total accepted share actions.",
+ "type": "integer"
+ },
+ "sharingParticipants": {
+ "description": "Unique sharing participants.",
+ "type": "integer"
+ },
+ "to": {
+ "description": "Exclusive interval end (Unix ms).",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "state": {
+ "description": "Whether the value is complete, partial, or unavailable for the requested bounds.",
+ "enum": [
+ "AVAILABLE",
+ "PARTIAL",
+ "UNAVAILABLE"
+ ],
+ "type": "string"
+ },
+ "timezone": {
+ "description": "IANA timezone used for interval and distinct-day calculations.",
+ "type": "string"
+ },
+ "totals": {
+ "description": "Unique participant metrics and action totals for one activity period.",
+ "properties": {
+ "activeParticipants": {
+ "description": "Eligible participants with a signed-in portal view.",
+ "properties": {
+ "delta": {
+ "description": "Optional current-minus-previous difference on comparison metrics.",
+ "type": "number"
+ },
+ "reason": {
+ "description": "Why a value is partial or unavailable, or `null` when it is available.",
+ "enum": [
+ "COVERAGE_UNAVAILABLE",
+ "PRE_COVERAGE",
+ "PARTIAL_COVERAGE",
+ "INSUFFICIENT_COVERAGE",
+ "EMPTY_DENOMINATOR",
+ "QUERY_LIMIT_EXCEEDED",
+ "PARTICIPANT_NOT_ELIGIBLE",
+ null
+ ],
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "state": {
+ "description": "Whether the value is complete, partial, or unavailable for the requested bounds.",
+ "enum": [
+ "AVAILABLE",
+ "PARTIAL",
+ "UNAVAILABLE"
+ ],
+ "type": "string"
+ },
+ "value": {
+ "description": "Measured value, or `null` when unavailable.",
+ "type": [
+ "number",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "portalViews": {
+ "description": "Total accepted signed-in portal-view actions.",
+ "properties": {
+ "delta": {
+ "description": "Optional current-minus-previous difference on comparison metrics.",
+ "type": "number"
+ },
+ "reason": {
+ "description": "Why a value is partial or unavailable, or `null` when it is available.",
+ "enum": [
+ "COVERAGE_UNAVAILABLE",
+ "PRE_COVERAGE",
+ "PARTIAL_COVERAGE",
+ "INSUFFICIENT_COVERAGE",
+ "EMPTY_DENOMINATOR",
+ "QUERY_LIMIT_EXCEEDED",
+ "PARTICIPANT_NOT_ELIGIBLE",
+ null
+ ],
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "state": {
+ "description": "Whether the value is complete, partial, or unavailable for the requested bounds.",
+ "enum": [
+ "AVAILABLE",
+ "PARTIAL",
+ "UNAVAILABLE"
+ ],
+ "type": "string"
+ },
+ "value": {
+ "description": "Measured value, or `null` when unavailable.",
+ "type": [
+ "number",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "repeatActiveParticipants": {
+ "description": "Eligible participants active on at least two distinct program-local days.",
+ "properties": {
+ "delta": {
+ "description": "Optional current-minus-previous difference on comparison metrics.",
+ "type": "number"
+ },
+ "reason": {
+ "description": "Why a value is partial or unavailable, or `null` when it is available.",
+ "enum": [
+ "COVERAGE_UNAVAILABLE",
+ "PRE_COVERAGE",
+ "PARTIAL_COVERAGE",
+ "INSUFFICIENT_COVERAGE",
+ "EMPTY_DENOMINATOR",
+ "QUERY_LIMIT_EXCEEDED",
+ "PARTICIPANT_NOT_ELIGIBLE",
+ null
+ ],
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "state": {
+ "description": "Whether the value is complete, partial, or unavailable for the requested bounds.",
+ "enum": [
+ "AVAILABLE",
+ "PARTIAL",
+ "UNAVAILABLE"
+ ],
+ "type": "string"
+ },
+ "value": {
+ "description": "Measured value, or `null` when unavailable.",
+ "type": [
+ "number",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "repeatSharingParticipants": {
+ "description": "Eligible participants who shared on at least two distinct program-local days.",
+ "properties": {
+ "delta": {
+ "description": "Optional current-minus-previous difference on comparison metrics.",
+ "type": "number"
+ },
+ "reason": {
+ "description": "Why a value is partial or unavailable, or `null` when it is available.",
+ "enum": [
+ "COVERAGE_UNAVAILABLE",
+ "PRE_COVERAGE",
+ "PARTIAL_COVERAGE",
+ "INSUFFICIENT_COVERAGE",
+ "EMPTY_DENOMINATOR",
+ "QUERY_LIMIT_EXCEEDED",
+ "PARTICIPANT_NOT_ELIGIBLE",
+ null
+ ],
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "state": {
+ "description": "Whether the value is complete, partial, or unavailable for the requested bounds.",
+ "enum": [
+ "AVAILABLE",
+ "PARTIAL",
+ "UNAVAILABLE"
+ ],
+ "type": "string"
+ },
+ "value": {
+ "description": "Measured value, or `null` when unavailable.",
+ "type": [
+ "number",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "retainedActiveParticipants": {
+ "description": "Eligible participants active in both the current and previous equal periods.",
+ "properties": {
+ "delta": {
+ "description": "Optional current-minus-previous difference on comparison metrics.",
+ "type": "number"
+ },
+ "reason": {
+ "description": "Why a value is partial or unavailable, or `null` when it is available.",
+ "enum": [
+ "COVERAGE_UNAVAILABLE",
+ "PRE_COVERAGE",
+ "PARTIAL_COVERAGE",
+ "INSUFFICIENT_COVERAGE",
+ "EMPTY_DENOMINATOR",
+ "QUERY_LIMIT_EXCEEDED",
+ "PARTICIPANT_NOT_ELIGIBLE",
+ null
+ ],
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "state": {
+ "description": "Whether the value is complete, partial, or unavailable for the requested bounds.",
+ "enum": [
+ "AVAILABLE",
+ "PARTIAL",
+ "UNAVAILABLE"
+ ],
+ "type": "string"
+ },
+ "value": {
+ "description": "Measured value, or `null` when unavailable.",
+ "type": [
+ "number",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "shareActions": {
+ "description": "Total accepted referral-link share actions.",
+ "properties": {
+ "delta": {
+ "description": "Optional current-minus-previous difference on comparison metrics.",
+ "type": "number"
+ },
+ "reason": {
+ "description": "Why a value is partial or unavailable, or `null` when it is available.",
+ "enum": [
+ "COVERAGE_UNAVAILABLE",
+ "PRE_COVERAGE",
+ "PARTIAL_COVERAGE",
+ "INSUFFICIENT_COVERAGE",
+ "EMPTY_DENOMINATOR",
+ "QUERY_LIMIT_EXCEEDED",
+ "PARTICIPANT_NOT_ELIGIBLE",
+ null
+ ],
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "state": {
+ "description": "Whether the value is complete, partial, or unavailable for the requested bounds.",
+ "enum": [
+ "AVAILABLE",
+ "PARTIAL",
+ "UNAVAILABLE"
+ ],
+ "type": "string"
+ },
+ "value": {
+ "description": "Measured value, or `null` when unavailable.",
+ "type": [
+ "number",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "sharingParticipants": {
+ "description": "Eligible participants with an accepted share action.",
+ "properties": {
+ "delta": {
+ "description": "Optional current-minus-previous difference on comparison metrics.",
+ "type": "number"
+ },
+ "reason": {
+ "description": "Why a value is partial or unavailable, or `null` when it is available.",
+ "enum": [
+ "COVERAGE_UNAVAILABLE",
+ "PRE_COVERAGE",
+ "PARTIAL_COVERAGE",
+ "INSUFFICIENT_COVERAGE",
+ "EMPTY_DENOMINATOR",
+ "QUERY_LIMIT_EXCEEDED",
+ "PARTICIPANT_NOT_ELIGIBLE",
+ null
+ ],
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "state": {
+ "description": "Whether the value is complete, partial, or unavailable for the requested bounds.",
+ "enum": [
+ "AVAILABLE",
+ "PARTIAL",
+ "UNAVAILABLE"
+ ],
+ "type": "string"
+ },
+ "value": {
+ "description": "Measured value, or `null` when unavailable.",
+ "type": [
+ "number",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "sharingRate": {
+ "description": "Sharing participants divided by active participants.",
+ "properties": {
+ "delta": {
+ "description": "Optional current-minus-previous difference on comparison metrics.",
+ "type": "number"
+ },
+ "reason": {
+ "description": "Why a value is partial or unavailable, or `null` when it is available.",
+ "enum": [
+ "COVERAGE_UNAVAILABLE",
+ "PRE_COVERAGE",
+ "PARTIAL_COVERAGE",
+ "INSUFFICIENT_COVERAGE",
+ "EMPTY_DENOMINATOR",
+ "QUERY_LIMIT_EXCEEDED",
+ "PARTICIPANT_NOT_ELIGIBLE",
+ null
+ ],
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "state": {
+ "description": "Whether the value is complete, partial, or unavailable for the requested bounds.",
+ "enum": [
+ "AVAILABLE",
+ "PARTIAL",
+ "UNAVAILABLE"
+ ],
+ "type": "string"
+ },
+ "value": {
+ "description": "Measured value, or `null` when unavailable.",
+ "type": [
+ "number",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+}