OpenAI

Workspace analytics for ChatGPT Enterprise and Edu

Understand adoption, engagement, and how teams use ChatGPT across your workspace with built-in analytics and reporting.

Updated: 21 hours ago

Overview

Workspace analytics in ChatGPT Enterprise and Edu provides a workspace-level view of adoption and usage so you can monitor trends, identify patterns, and report progress over time.

Workspace analytics spans Usage and Insights in Admin Console.

This article outlines what’s included in workspace analytics and how to navigate the dashboard to understand adoption and engagement across your workspace.

For guidance on how to operationalize these insights (playbooks, enablement motions, champion programs), see our Academy guide: ChatGPT Enterprise workspace analytics guide

Access workspace analytics

In ChatGPT Enterprise or Edu:

  1. Open Admin Console for your workspace.

  2. Select Usage for usage reports, or Insights for Benchmarks and User surveys.

Permissions

Viewing workspace analytics is available to:

  • Members with the analytics viewer role

  • Workspace admins

  • Workspace owners

Usage

Usage overview

Use Overview for a quick health check of adoption and engagement. It provides trend views that help you understand how usage changes over time, including:

  • Unique active users

  • Total messages

  • GPT messages

  • Tool messages

  • Project, app, and skill usage trends

  • Breakdowns by SCIM groups, when configured

    • If your workspace has enabled SCIM, analytics views can be segmented by the groups that are synced from your identity provider. Using SCIM groups that represent real organizational units (such as teams or departments) can help enable more meaningful analytics breakdowns.

    • To learn more about SCIM, please see our collection of articles on SSO, SCIM, and User Management.

Workplace health

Go to Usage > Overview in Admin Console to view Workplace health, which tracks adoption of ChatGPT, Codex, and Work across your workspace.

  • Seats enabled: Seats assigned to users, excluding pending or deleted invitations.

  • Seats activated: Enabled users who have sent at least one message.

  • WAU: Unique users who sent at least one message in the most recently completed Sunday–Saturday week.

These metrics cover ChatGPT, Codex, and Work. Changes compare the first and last available values in the selected period.

To view the chart, clear the User filter and select at most one group. With no group selected, it shows the whole workspace.

GPTs

Go to Usage > GPTs in Admin Console to review:

  • Total GPTs

  • GPTs created in period

  • GPTs active in period

  • GPT-level usage and reach metrics

Projects

Go to Usage > Projects in Admin Console to review:

  • Total projects

  • Projects created in period

  • Projects active in period

  • Project-level usage and reach metrics

Skills

Skills analytics includes:

  • Skill usage during the selected date range.

  • Top skills by invocations—the number of turns in which each skill was used.

Export a report by user

  1. Open Admin Console for your workspace.

  2. Go to Usage > Overview.

  3. Select Export, then Workspace reports.

  4. Choose Start date (UTC) and End date (UTC).

  5. Select Download CSV.

The Workspace reports option exports a report by user for the selected dates. Its date range is separate from the charts, and page group, user, and search filters do not apply. Survey results have a separate export in Insights.

Export GPT or project usage

  1. Open Admin Console for your workspace and select Usage.

  2. Select GPTs or Projects.

  3. Choose the report date range on the page.

  4. Select Export, then Download CSV.

The export includes all report rows. Table search, sorting, and pagination do not limit the exported data.

Insights

Benchmarks

Open Insights in Admin Console, then select Benchmarks to compare key adoption and engagement signals against an industry benchmark:

  • Activation rate

  • WAU (weekly active users) per activated user

  • Messages per WAU

Select an industry from Compare to. The industry benchmarks for these three metrics use medians. The page also compares message usage by model, tool, and app. Select Export to download the benchmark data shown for the selected dates.

User surveys

Open Insights in Admin Console, then select User surveys to review workspace-level outcomes reported through optional in-product impact surveys.

Select a survey from the Survey menu to see its status, dates, and aggregated self-reported results, including:

  • Share of respondents reporting positive impact on productivity, time saved, work quality, and work satisfaction, plus new-task ability and stakeholder service for Enterprise, or learning and creative thinking for Edu

  • Per-question response distributions

  • Estimated participation rate, based on the largest response count for a question as a share of current workspace members

These signals are intended for directional analysis and organizational insight. They are not compliance logs and do not represent a causal ROI measurement.

For more information on impact surveys, see: Managing impact surveys in Admin Console.

Export survey results

  1. Open Admin Console for your workspace.

  2. Select Insights, then User surveys.

  3. Select Export.

The CSV includes all workspace user surveys, regardless of the survey selected in the dashboard. Names and email addresses are included only when Include user identifiers in impact survey exports is enabled in your workspace.

Additional workspace analytics

Task insights

Task insights shows aggregated patterns of work in ChatGPT by classifying conversations into broad task categories and topics. It provides workspace-level insights without exposing individual prompts, conversations, or user-level activity.

Task type

The Task type section shows the distribution of conversations across task categories, helping you quickly understand the most common ways ChatGPT is used in your workspace and how those patterns change over time.

Heat map

The Heat map compares task types across a second dimension so you can analyze usage patterns in more detail. Depending on available data, it shows how task types relate to conversation topics or organizational units.

Note: SCIM groups with fewer than 10 members will not appear as a row in the task insights heat map.

Disable task insights

The Task insights tab and conversation classification are enabled by default. Workspace admins and owners may opt out by:

  1. Go to Workspace settings

  2. Scroll to the Workspace analytics section under the General tab

  3. Turn off Enable task insights

Users

The Users section helps with license and engagement tracking:

  • Seats purchased

  • Seats enabled

  • Active users

  • Pending invites

  • Per-user usage metrics (for example: total, GPT, tool, project, and app activity)

  • Power-user counts and lists

Export

CSV exports are available from the page for each report:

  • Report by user: Usage > Overview, then Export and Workspace reports.

  • GPT and project usage: the GPTs or Projects tab in Usage.

  • Impact survey results: User surveys in Insights.

  • Benchmark data: Benchmarks in Insights.

Data coverage and limitations

Workspace analytics is an aggregated analytics experience. It is not a raw log interface and does not expose:

  • Message text

  • File contents

  • Item-level compliance records

For raw logs, legal/security workflows, and compliance controls, use the Compliance API.

Data freshness

Workspace analytics is not real-time. Data is refreshed regularly every 1–24 hours, typically within 6–12 hours. Data availability has a target of up to 48 hours, calculated using UTC reporting days. Use the last updated timestamp, shown in UTC, to confirm freshness.

Workspaces with EU data residency

In workspaces with EU data residency, Task insights is disabled by default. A workspace owner can enable the feature at any time in Workspace settings.

Once enabled, ChatGPT will begin generating aggregate Task insights data for the workspace. If Task insights is later disabled, new Task insights data will stop being generated. Previously generated aggregate data is currently not deleted.

FAQ

Can I segment analytics by team, department, or business unit?

Some workspace analytics views support segmentation by SCIM groups, which can represent teams, departments, or business units depending on how your identity provider has been configured. If you need additional breakdowns, you can export reports and combine them with your internal data.

Can I change the impact survey or make my own?

Workspace owners can create an Admin-created survey from Insights > User surveys in Admin Console, but they can’t customize the survey questions or answer choices. Admin-created surveys use the same built-in question set as OpenAI-created surveys. For more information, see: Managing impact surveys in Admin Console.

Can I export the Task insights reports?

No. We are actively working on this and hope to introduce this ability in a future update.

Why don’t Compliance API counts match workspace analytics?

Counts can differ because the Compliance API returns raw system data, while Workspace Analytics reports cleaned analytics data. For example, the API may include internal system messages or records without timestamps that analytics excludes.

What’s the difference between “Filter by Group” in Overview and “All organizational units” in Task insights?

In Overview, the dropdown menu Filter by Group includes all groups available in the workspace, including both SCIM-managed groups and groups created in the ChatGPT UI.

In Task insights, the dropdown menu All organizational units includes only SCIM groups. In this view, organizational units correspond to SCIM groups.

What if my workspace doesn’t use SCIM?

If your workspace does not use SCIM, admins do not need to manually create or map groups for Task insights. Instead, Task insights shows an alternate view based on the intersection of Task type and Conversation topic, rather than organizational units.

Conversation topics are automatically generated and may include categories such as Sales or Engineering.

Appendix: Export data reference

The following tables describe the columns included in current export files.

Common columns in Users, GPTs, and Projects exports

ColumnDescription
cadenceThe reporting period type. Current values include Weekly, Monthly, Partial Weekly, Partial Monthly, and Date Range.
period_startThe start date of the reporting period.
period_endThe end date of the reporting period. For partial periods, this reflects the latest available end date in the export.
account_idThe workspace account ID associated with the report.

Map fields

Maps connecting an item, such as a model, GPT, tool, or project, to its associated message count. In CSV exports, these maps are represented as serialized text.

User report

A per-user workspace usage report for the selected period. It combines user identity and status fields with aggregate usage metrics for messages, GPTs, tools, and projects.

ColumnDescription
public_idThe public ID associated with the user.
nameThe user’s name. This may be blank for pending users.
emailThe user’s email address.
roleThe user-entered onboarding role.
user_roleThe workspace role as of period end.
seat_typeThe user’s assigned seat type when the export is generated. Possible values are ChatGPT, Codex, and Automation. This optional field appears only for eligible workspaces.
departmentThe user-entered onboarding department.
groupsGroup membership data for the user as of period end.
user_statusThe user record status as of period end.
created_or_invited_dateThe date the user was provisioned or invited.
is_activeWhether the user sent at least one message during the reporting period.
first_day_active_in_periodThe first day the user was active in the reporting period.
last_day_active_in_periodThe last day the user was active in the reporting period.
messagesTotal messages sent by the user in the period.
messages_rankRank by total messages within the workspace for the period.
model_to_messagesSerialized map of model family to message count.
gpt_messagesMessages the user sent to custom GPTs in the period.
gpts_messagedNumber of distinct custom GPTs the user messaged in the period.
gpt_to_messagesSerialized map of GPT ID to message count.
tool_messagesCount of message records associated with tool activity for the user during the reporting period. This may not equal the number of user-visible tool actions or tool invocations.
tools_messagedNumber of distinct tools used in the period.
tool_to_messagesSerialized map from reporting tool category to the number of associated message records for the user during the selected period. Categories may not correspond one-to-one with user-visible actions or tool invocations. Search: Messages associated with ChatGPT web search activity. Container: Messages associated with isolated sandbox execution used during supported tool, file, code, or command workflows. Chain of Thought Summarizer: Messages associated with summarized reasoning status produced during some reasoning and tool workflows. This does not expose raw chain-of-thought content. API Tool: Messages associated with ChatGPT’s resource and app-tool routing framework. This does not represent the customer’s use of the OpenAI developer API. Depending on the workflow, it can include app-backed tool activity.
project_messagesMessages the user sent inside projects in the period.
projects_messagedNumber of distinct projects the user contributed to in the period.
project_to_messagesSerialized map of project ID to message count.
projects_createdProjects created by the user in the period.
last_day_activeThe last day the user was active in this or any prior period.

GPT report

A per-GPT workspace usage report for the selected period. It shows GPT identity, creator metadata, activity, and usage within the workspace.

ColumnDescription
gpt_idThe custom GPT ID.
gpt_nameThe GPT name as of period end.
config_typeThe GPT config state. Current raw values in code are live and draft.
gpt_descriptionThe GPT description as of period end.
gpt_urlThe GPT URL.
gpt_creator_public_idThe public ID of the GPT creator.
is_activeWhether the GPT received at least one message in the period.
first_day_active_in_periodThe first day the GPT was active in the period.
last_day_active_in_periodThe last day the GPT was active in the period.
messages_workspaceMessages sent to the GPT within your workspace in the period.
unique_messagers_workspaceCount of distinct workspace users who messaged the GPT in the period.
gpt_creator_emailThe creator email, when available.

Project report

A per-project workspace usage report for the selected period. It mirrors the GPT export structure, but with project-specific identifiers and creator metadata.

ColumnDescription
project_idThe project ID.
project_nameThe project name as of period end.
config_typeThe raw config state from the analytics source.
project_descriptionThe project description as of period end.
project_urlThe project URL.
project_creator_public_idThe public ID of the project creator.
is_activeWhether the project received at least one message in the period.
first_day_active_in_periodThe first day the project was active in the period.
last_day_active_in_periodThe last day the project was active in the period.
messages_workspaceMessages sent inside the project within your workspace in the period.
unique_messagers_workspaceCount of distinct workspace users who contributed to the project in the period.
project_creator_emailThe creator email, when available.

Impact survey report

A response-level export of impact survey data for the selected workspace, covering all workspace surveys. Each row represents one answered survey question for one respondent. Names and email addresses are included only when the workspace’s survey export setting allows user identifiers.

ColumnDescription
date_partitionThe date associated with the survey response row.
workspace_idThe workspace account ID associated with the response.
nameThe respondent’s name, when user identifiers are enabled for survey exports.
emailThe respondent’s email address, when user identifiers are enabled for survey exports.
survey_idThe survey ID.
survey_nameThe survey name.
question_idThe survey question ID.
answer_idThe selected answer ID for that question.
answer_textThe text of the selected answer for that question.

Was this article helpful?