customerEngagementAnalytics
Requires permission analytics:sales:read.
Customer engagement analytics over a date range, limited to what your role may see: sales reps see their own records, admins see everything by default, and other staff see their team.. Needs the sales analytics read permission.
Errors: a failed call returns a GraphQL errors entry, not a field on the result, and data may be null or partial. Read the entry's extensions.code and message; every shape and code is in the Error reference.
Example:
- GraphQL
- cURL
query CustomerEngagementAnalytics($range: AnalyticsRangeInput!) {
customerEngagementAnalytics(range: $range) {
activeCustomers
emailOpenRatePct
newCustomers
atRisk {
name
emailOpens
lastOrderAt
orders
partnerId
}
}
}
curl -X POST "https://<api-host>/graphql" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN" \
--data @- <<'EOF'
{
"query": "query CustomerEngagementAnalytics($range: AnalyticsRangeInput!) {\n customerEngagementAnalytics(range: $range) {\n activeCustomers\n emailOpenRatePct\n newCustomers\n atRisk {\n name\n emailOpens\n lastOrderAt\n orders\n partnerId\n }\n }\n}",
"variables": {
"range": {
"from": "2025-01-15T00:00:00Z",
"to": "2025-01-15T00:00:00Z"
}
}
}
EOF
Variables:
{
"range": {
"from": "2025-01-15T00:00:00Z",
"to": "2025-01-15T00:00:00Z"
}
}
Response:
{
"data": {
"customerEngagementAnalytics": {
"activeCustomers": 0,
"emailOpenRatePct": 0,
"newCustomers": 0,
"atRisk": [
{
"name": "string",
"emailOpens": 0,
"lastOrderAt": "2025-01-15T00:00:00Z",
"orders": 0,
"partnerId": "string"
}
]
}
}
}
customerEngagementAnalytics(
range: AnalyticsRangeInput!
): CustomerEngagementAnalytics!
Arguments
customerEngagementAnalytics.range ● AnalyticsRangeInput! non-null input
The date range and, optionally, the visibility scope.
Type
CustomerEngagementAnalytics object
How customers engage with the organization.