Guild Analytics
Insights are a data monitoring and analytics tool that Discord provides to help community managers understand their guild's performance and how their members are interacting with it.
For growth, activation, engagement, and channel following analytics, only data from the last 120 days are available for non-partner and non-verified guilds. Audience and welcome screen analytics are based on members who visited the server in the last 28 days. Users who opted-out of analytics tracking will not show up in the data.
Query String Params
The following parameters are used in nearly all endpoints that return insights data.
| Field | Type | Description |
|---|---|---|
| start | ISO8601 timestamp | Start date for the insights data |
| end | ISO8601 timestamp | End date for the insights data |
| interval | integer | The data aggregation interval |
Aggregation Interval
| Value | Name | Description |
|---|---|---|
| 0 | HOURLY | Aggregate hourly |
| 1 | DAILY | Aggregate daily |
| 2 | WEEKLY | Aggregate weekly |
| 3 | MONTHLY | Aggregate monthly |
Endpoints
Get Guild Growth Activation Overview
GET/guilds/{guild.id}/analytics/growth-activation/overviewReturns a list of growth activation overview objects representing general growth statistics per aggregation interval.
Accepts the common query string parameters as described above.
Growth Activation Overview Structure
| Field | Type | Description |
|---|---|---|
| day_pt | ISO8601 timestamp | The interval the data represents |
| new_members | integer | The number of new members who joined the guild |
| new_communicators | integer | The number of new members who communicated in the guild |
Get Guild Growth Activation Joins
GET/guilds/{guild.id}/analytics/growth-activation/joinsReturns a list of growth activation joins objects representing member join counts per aggregation interval.
Accepts the common query string parameters as described above.
Growth Activation Joins Structure
| Field | Type | Description |
|---|---|---|
| day_pt | ISO8601 timestamp | The interval the data represents |
| joins | integer | The number of users who joined the guild on this date |
| all_time_joins? | integer | The total number of users who have ever joined the guild |
Get Guild Growth Activation Joins by Invite
GET/guilds/{guild.id}/analytics/growth-activation/joins-by-invite-linkReturns a list of growth activation joins objects representing specific invite join counts per aggregation interval.
Accepts the common query string parameters as described above.
Growth Activation Joins by Invite Structure
| Field | Type | Description |
|---|---|---|
| day_pt | ISO8601 timestamp | The interval the data represents |
| invite_link | string | The invite link used to join the guild |
| joins | integer | The number of users who joined the guild using this invite link |
Get Guild Growth Activation Joins by Referrer
GET/guilds/{guild.id}/analytics/growth-activation/joins-by-referrerReturns a list of growth activation joins by referrer objects representing external referral join statistics per aggregation interval.
Accepts the common query string parameters as described above.
Growth Activation Joins by Referrer Structure
| Field | Type | Description |
|---|---|---|
| day_pt | ISO8601 timestamp | The interval the data represents |
| referring_domain | string | The domain that referred the user to join the guild |
| joins | integer | The number of users who joined the guild using this referral |
Get Guild Growth Activation Joins by Sources
GET/guilds/{guild.id}/analytics/growth-activation/joins-by-sourceReturns a list of growth activations joins by source objects representing detailed member join information per aggregation interval.
Accepts the common query string parameters as described above.
Growth Activation Joins by Source Structure
| Field | Type | Description |
|---|---|---|
| day_pt | ISO8601 timestamp | The interval the data represents |
| discovery_joins | integer | The number of users who joined the guild through guild discovery |
| invites | integer | The number of users who joined the guild through an invite |
| vanity_joins | integer | The number of users who joined the guild through a vanity URL |
| hubs_joins | integer | The number of users who joined the guild through a student hub |
| bot_joins | integer | The number of users who were added to the guild by a bot using the guilds.join OAuth2 scope |
| integration_joins | integer | The number of users who were added to the guild by an integration (e.g. Twitch) |
| other_joins | integer | The number of users who joined the guild through an unknown source |
| total_joins | integer | The total number of users who joined the guild |
Get Guild Growth Activation Leavers
GET/guilds/{guild.id}/analytics/growth-activation/leaversReturns a list of growth activation leavers objects representing user leave statistics per aggregation interval.
Accepts the common query string parameters as described above.
Growth Activation Leavers Structure
| Field | Type | Description |
|---|---|---|
| day_pt | ISO8601 timestamp | The interval the data represents |
| days_in_guild | string | A label categorizing how long this set of users was in the guild before leaving |
| leavers | integer | The number of users who left the guild on this date |
Get Guild Growth Activation Percentages
GET/guilds/{guild.id}/analytics/growth-activation/activationReturns a list of growth activation percentage objects representing user engagement statistics per aggregation interval.
Accepts the common query string parameters as described above.
Growth Activation Percentage Structure
| Field | Type | Description |
|---|---|---|
| day_pt | ISO8601 timestamp | The interval the data represents |
| new_members | integer | The number of new members who joined the guild on this date |
| pct_communicated? | float | Percentage of new members who sent 3 or more message or talked in the guild |
| pct_opened_channels? | float | Percentage of new members who opened 3 or more channels in the guild |
Get Guild Growth Activation Retention
GET/guilds/{guild.id}/analytics/growth-activation/retentionReturns a list of growth activation retention objects representing user retention statistics per aggregation interval.
Accepts the common query string parameters as described above.
Growth Activation Retention Structure
| Field | Type | Description |
|---|---|---|
| day_pt | ISO8601 timestamp | The interval the data represents |
| new_members | integer | The number of new members who joined the guild on this date |
| pct_retained? | float | Percentage of new members who stayed in the guild past their first week |
Get Guild Growth Activation Membership
GET/guilds/{guild.id}/analytics/growth-activation/membershipReturns a list of growth activation membership objects representing the total number of members in the guild per aggregation interval.
Accepts the common query string parameters as described above.
Growth Activation Membership Structure
| Field | Type | Description |
|---|---|---|
| day_pt | ISO8601 timestamp | The interval the data represents |
| total_membership | integer | The total number of members in the guild |
Get Guild Engagement Base
GET/guilds/{guild.id}/analytics/engagement/baseReturns a list of engagement base objects representing guild engagement statistics per aggregation interval.
Accepts the common query string parameters as described above.
Engagement Base Structure
| Field | Type | Description |
|---|---|---|
| day_pt | ISO8601 timestamp | The interval the data represents |
| visitors | integer | The number of users who visited the guild |
| communicators | integer | The number of users who sent 3 or more messages in the guild |
| pct_communicators? | float | Percentage of users who communicated in the guild |
| messages | integer | The number of messages sent in the guild |
| messages_per_communicator | float | The average number of messages sent per communicator in the guild |
| speaking_minutes | integer | Amount of time (in minutes) users spent in voice in the guild |
Get Guild Engagement Overview
GET/guilds/{guild.id}/analytics/engagement/overviewReturns a list of engagement overview objects representing general guild engagement statistics per aggregation interval.
Accepts the common query string parameters as described above.
Engagement Overview Structure
| Field | Type | Description |
|---|---|---|
| day_pt | ISO8601 timestamp | The interval the data represents |
| visitors | integer | The number of users who visited the guild |
| communicators | integer | The number of users who communicated in the guild |
| messages | integer | The number of messages sent in the guild |
| speaking_minutes | integer | Amount of time (in minutes) users spent in voice in the guild |
Get Guild Engagement Muters
GET/guilds/{guild.id}/analytics/engagement/mutersReturns a list of engagement muters objects representing user mute statistics per aggregation interval.
Accepts the common query string parameters as described above.
Engagement Muters Structure
| Field | Type | Description |
|---|---|---|
| day_pt | ISO8601 timestamp | The interval the data represents |
| days_in_guild | string | A label categorizing how long this set of users has been in the guild |
| muters | integer | The number of users who have muted the guild |
Get Guild Engagement Pruneable Members
GET/guilds/{guild.id}/analytics/engagement/pruneable-membersReturns a list of engagement pruneable members objects representing inactive user statistics per aggregation interval.
Accepts the common query string parameters as described above.
Engagement Pruneable Members Structure
| Field | Type | Description |
|---|---|---|
| day_pt | ISO8601 timestamp | The interval the data represents |
| inactive | integer | The number of users who are eligible for pruning |
Get Guild Engagement Text Channels
GET/guilds/{guild.id}/analytics/engagement/text-channelsReturns a list of text channel engagement objects representing engagement statistics for messageable channels per aggregation interval.
Accepts the common query string parameters as described above.
Text Channel Engagement Structure
| Field | Type | Description |
|---|---|---|
| day_pt | ISO8601 timestamp | The interval the data represents |
| channel_name? 1 | string | The name of the channel |
| channel_id | snowflake | The ID of the channel |
| participators | integer | The number of users who viewed the channel |
| communicators | integer | The number of sent 3 or more messages in the channel |
| messages_sent | integer | The number of messages sent in the channel |
| pct_participated_in_channel? | float | Percentage of users participated in the channel |
| pct_communicated_in_channel? | float | Percentage of users communicated in the channel |
1 Not present for voice channels.
Get Guild Engagement Voice Channels
GET/guilds/{guild.id}/analytics/engagement/voice-channelsReturns a list of voice channel engagement objects representing engagement statistics for voice channels per aggregation interval.
Accepts the common query string parameters as described above.
Voice Channel Engagement Structure
| Field | Type | Description |
|---|---|---|
| day_pt | ISO8601 timestamp | The interval the data represents |
| channel_name | string | The name of the voice channel |
| channel_id | snowflake | The ID of the voice channel |
| participators | integer | The number of users who joined the voice channel |
| communicators | integer | The number of users who talked in the voice channel |
| messages_sent | integer | The number of messages sent in the voice channel |
| pct_participated_in_channel? | float | Percentage of users who participated in the voice channel |
| pct_communicated_in_channel? | float | Percentage of users who communicated in the voice channel |
Get Guild Audience New Members by Discord Tenure
GET/guilds/{guild.id}/analytics/audience/new-members-by-discord-tenureReturns a list of audience new members by Discord tenure objects representing new member statistics categorized by account age per aggregation interval.
Accepts the common query string parameters as described above.
Audience New Members by Discord Tenure Structure
| Field | Type | Description |
|---|---|---|
| day_pt | string | The interval the data represents |
| tenure | string | A label categorizing how long this set of users has existed |
| new_members | integer | The number of new members who joined the guild |
Get Guild Audience Participators by Guild Tenure
GET/guilds/{guild.id}/analytics/audience/participators-by-guild-tenureReturns a list of audience participators by guild tenure objects representing member statistics categorized by how long they have been in the guild per aggregation interval.
Accepts the common query string parameters as described above.
Audience Participators by Guild Tenure Structure
| Field | Type | Description |
|---|---|---|
| day_pt | string | The interval the data represents |
| tenure | string | A label categorizing how long this set of users has existed |
| participators | integer | The number of users who participated in the guild |
Get Guild Audience Participators by Platform
GET/guilds/{guild.id}/analytics/audience/participators-by-platformReturns a list of audience participators by platform objects representing member statistics categorized by platform usage per aggregation interval.
Accepts the common query string parameters as described above.
Audience Participators by Platform Structure
| Field | Type | Description |
|---|---|---|
| day_pt | string | The interval the data represents |
| platform | string | The platform the users are on |
| participators | integer | The number of users who participated in the guild |
Get Guild Audience Participators by Registration Country
GET/guilds/{guild.id}/analytics/audience/participators-by-reg-countryReturns a list of audience participators by registration country objects representing member statistics categorized by their account registration country.
Accepts the common query string parameters as described above.
Audience Participators by Registration Country Structure
| Field | Type | Description |
|---|---|---|
| day_pt | string | The interval the data represents |
| country_code | string | The ISO 3166-1 alpha-2 country code the users registered their account in |
| participators | integer | The number of users who participated in the guild |
Get Guild Channel Following Overview
GET/guilds/{guild.id}/analytics/channel-following/overviewReturns a list of channel following overview objects representing news channel following statistics per aggregation interval.
Accepts the common query string parameters as described above.
Channel Following Overview Structure
| Field | Type | Description |
|---|---|---|
| day_pt | ISO8601 timestamp | The interval the data represents |
| total_guilds_following | integer | The total number of guilds following channels in the guild |
| new_guilds_following | integer | The number of new guilds following channels in the guild |
| guilds_unfollowed | integer | The number of guilds that unfollowed channels in the guild |
Get Guild Channel Following by Channel
GET/guilds/{guild.id}/analytics/channel-following/announcements-by-channelReturns a list of channel following by channel objects representing per-channel following statistics per channel per aggregation interval.
Accepts the common query string parameters as described above.
Channel Following by Channel Structure
| Field | Type | Description |
|---|---|---|
| day_pt | ISO8601 timestamp | The interval the data represents |
| channel_id | snowflake | The ID of the followed channel |
| total_guilds_following | integer | The total number of guilds following the channel |
| new_guilds_following | integer | The number of new guilds following the channel |
| guilds_unfollowed | integer | The number of guilds that unfollowed the channel |
Get Guild Channel Following Reach
GET/guilds/{guild.id}/analytics/channel-following/reachReturns a list of channel following reach objects representing per-message reach statistics for followed channels per aggregation interval.
Accepts the common query string parameters as described above.
Channel Following Reach Structure
| Field | Type | Description |
|---|---|---|
| day_pt | ISO8601 timestamp | The interval the data represents |
| channel_id | snowflake | The ID of the followed channel |
| channel_name | string | The name of the followed channel |
| reference_message_id | snowflake | The ID of the announcement message |
| guilds_reached | integer | The number of guilds that received the announcement |
Get Guild Channel Following Guild Size
GET/guilds/{guild.id}/analytics/channel-following/following-guild-sizeReturns a list of channel following guild size objects representing followed channel statistics categorized by the size of the following guilds per aggregation interval.
Accepts the common query string parameters as described above.
Channel Following Guild Size Structure
| Field | Type | Description |
|---|---|---|
| day_pt | ISO8601 timestamp | The interval the data represents |
| guild_size | string | A label categorizing the size of the guilds |
| total_guilds_following | integer | The number of guilds following channels in the guild |
Get Guild Channel Following Guild Size by Channel
GET/guilds/{guild.id}/analytics/channel-following/following-guild-size-by-channelReturns a list of channel following guild size by channel objects representing per-channel followed channel statistics categorized by the size of the following guilds per aggregation interval.
Query String Params
| Field | Type | Description |
|---|---|---|
| start | ISO8601 timestamp | Start date for the insights data |
| end | ISO8601 timestamp | End date for the insights data |
| interval | integer | The data aggregation interval |
| channel_id | snowflake | The ID of the followed channel, or 0 for all channels |
Channel Following Guild Size by Channel Structure
| Field | Type | Description |
|---|---|---|
| day_pt | ISO8601 timestamp | The interval the data represents |
| channel_id | snowflake | The ID of the followed channel |
| guild_size | string | A label categorizing the size of the guilds |
| total_guilds_following | integer | The number of guilds following the channel |
Get Guild Welcome Screen Funnel
GET/guilds/{guild.id}/analytics/welcome-screen/funnelReturns a list of welcome screen funnel objects representing welcome screen statistics per aggregation interval.
Accepts the common query string parameters as described above.
Welcome Screen Funnel Structure
| Field | Type | Description |
|---|---|---|
| day_pt | ISO8601 timestamp | The interval the data represents |
| option_channel_id | snowflake | The ID of the welcome channel option |
| option_selected | string | The description of the welcome channel option |
| users_viewed_welcome_screen | integer | The number of users who viewed the welcome screen |
| users_clicked_any_option | integer | The number of users who clicked any welcome channel option |
| users_clicked_option | integer | The number of users who clicked the welcome channel option |
| users_sent_message | integer | The number of users who sent a message in the welcome channel option |
| pct_clicked_option? | float | Percentage of users who clicked the welcome channel option |
| pct_sent_message? | float | Percentage of users who sent a message in the welcome channel option |
Get Guild Welcome Screen Users
GET/guilds/{guild.id}/analytics/welcome-screen/usersReturns a list of welcome screen users objects representing user statistics for the welcome screen per aggregation interval.
Accepts the common query string parameters as described above.
Welcome Screen Users Structure
| Field | Type | Description |
|---|---|---|
| day_pt | ISO8601 timestamp | The interval the data represents |
| users_viewed_welcome_screen | integer | The number of users who viewed the welcome screen |