# Discord server analytics: a record kept before you need it

> Discord keeps audit log entries for 45 days. Server analytics you want in six months depend on a record you started keeping before you needed it.

- Canonical: https://discordservers.blog/blog/discord-server-analytics
- Published: 2026-08-30
- Author: The Journal desk
- Facts checked: 2026-08-30
- Sources:
  - Discord developer docs — Audit Log resource (retention and event types) (https://docs.discord.com/developers/resources/audit-log) — checked 2026-08-30
  - Statbot documentation (https://statbot.net/) — checked 2026-08-30
  - docs.vetox.io — Logs (https://docs.vetox.io/en/moderation/logs) — checked 2026-08-30
  - docs.vetox.io — Server Insights (https://docs.vetox.io/en/utility/server-stats) — checked 2026-08-30
  - docs.vetox.io — Dashboard Watcher (https://docs.vetox.io/en/server-management/dashboard-watcher) — checked 2026-08-30
- Publication: The Journal, an independent site not affiliated with Discord Inc.

---
Discord stores audit log entries for **45 days**. That single limit is the structural reason a
community needs its own record: past six weeks, the platform cannot tell you who did anything. Which
numbers matter is downstream of a more basic question — which ones you will still be able to answer in
March.

Most servers discover the limit at the worst possible moment, which is the first time they need to
reconstruct something.

## What does Discord actually keep?

Less than people assume, in three separate ways.

**Retention.** The audit log's own documentation is unambiguous: _"All audit log entries are stored for
45 days."_ Not archived, not paginated further back. Gone.

**Coverage.** The audit log is a record of administrative actions, not of what happened in the
community. Its message-related events are `MESSAGE_DELETE`, `MESSAGE_BULK_DELETE`, `MESSAGE_PIN` and
`MESSAGE_UNPIN` — there is **no edit event and no reaction event**. Its voice entries, `MEMBER_MOVE`
and `MEMBER_DISCONNECT`, record a moderator moving or disconnecting someone; members joining and
leaving voice on their own are not audit-log material at all.

**Shape.** It is a list, not a dataset. There is no aggregation, no time series, no per-member view and
no export. Answering "is this getting worse" from it means reading it.

None of that is a criticism of Discord — an audit log is doing exactly its job. The mistake is treating
it as the community's memory.

## Three records, three jobs, three windows

The single most useful thing an operator can internalise is that these are not the same system and
should not be confused for one another.

| Record                  | Answers                                   | Typical window                  | Who owns it  |
| ----------------------- | ----------------------------------------- | ------------------------------- | ------------ |
| **Audit trail**         | Who performed this administrative action? | 45 days (Discord)               | Discord      |
| **Event log**           | What happened in the community, and when? | As long as you keep the channel | You          |
| **Analytics**           | Is the trend up or down, and for whom?    | Whatever your tooling retains   | Your tooling |
| **Configuration audit** | Who changed the bot's settings?           | Not covered by Discord at all   | Your tooling |

The fourth row is the one nobody expects. Discord's audit log does not see anything that happens in a
bot's dashboard, which means the entire configuration surface of your community — every threshold,
every log destination, every gate — has no native record of who changed it.

## Building the record before you need it

**The event log is the cheapest insurance in server operations**, because it is a channel, and a
channel is free and permanent.

Vetox's Logging defines **148 event types** across 14 categories — server, moderation, messages,
channels, roles, emotes, voice, threads, scheduled events, AutoMod, stage, webhooks, integrations and
giveaways — each independently enabled, each pointed at its own channel with its own accent colour.
Every event ships off by default, which is the right default: a server that turns all 148 on has built
a firehose nobody reads.

The whole event catalogue is free on every tier including Starter. Three things require Basic
($4.99/month): resolving and displaying **which staff member performed the action**, delivery to a
webhook rather than a channel, and the bulk tool that creates the channels and wires the events up in
one pass.

That first one is worth understanding rather than skimming. Without executor detail, a log entry says a
role was deleted. With it, the entry says who deleted it. Six weeks later, that is the difference
between a record and a rumour — and it is the exact window in which Discord's own copy expires.

**Start with the minimum viable trail**, not with everything:

1. The 14 moderation events — joins, leaves, bans, unbans, role changes, mutes, timeouts, kicks,
   nickname changes.
2. `channelDelete`, `roleDelete` and `serverOwnershipTransfer`. These three are the ones you will want
   during an incident and cannot reconstruct afterwards.
3. `messageDelete` and `messageEdit`, with your busiest channels excluded — the nine message events are
   the only ones with a per-channel exclusion list, which exists precisely because unfiltered message
   logging in a large `#general` is unreadable within a day.

Everything else can wait until you have a reason.

## Which numbers actually indicate health?

Split them by who they are about, because the two halves fail differently.

### Member-side

The four leading indicators are covered in detail in [measuring server
health](/blog/measuring-server-health): weekly unique posters, thirty-day new-member conversion, the
share of messages held by the top ten posters, and time to first response for a new member's first
post. Those four move before anything else does, and they are the set worth tracking by hand if you
track nothing else.

Vetox's server overview surfaces the raw material for the first: six headline cards — members,
messages, interactions, joins, leaves and voice minutes — four charts, a top-members table and a
server-activity table, over a window of 7, 14, 30, 60 or 90 days. It is free on every tier, is not
gated behind any toggle, and the underlying statistics are retained for **92 days**.

Ninety-two days is a deliberate figure and worth comparing to 45. It spans a full quarter, which is the
shortest period over which a community trend is legible rather than seasonal.

For counters visible without opening anything, Server Insights turns a channel _name_ into a live
figure using eight placeholders — members, online, offline, bots, boosts, channels, roles and voice
users — rewritten on a schedule. Starter allows 3 such channels, Basic 10, Max unlimited. These are a
display, not an analysis: useful for the room, useless for a trend, and worth keeping to three or four
so the channel list stays readable.

For genuine analysis rather than counters — per-member and per-channel breakdowns, heatmaps, longer
history, export — a dedicated analytics bot is the better tool, and
[Statbot](https://statbot.net/) is the established specialist in that niche. This is one of the
clearer cases for deliberately running a second bot rather than expecting one to be best at everything.

### Staff-side

Almost nobody tracks these, and they predict operational failure earlier than the member-side numbers
predict community failure.

**Actions per active moderator per week.** Not to enforce a quota — to spot the drop. A moderator whose
action count falls while their presence holds is [disengaging before they say
so](/blog/discord-moderation-burnout).

**Time from report to resolution.** The number that tells you whether the queue is a queue or a pile.

**Consistency on repeat behaviours.** Take the last ten instances of your most common violation and
compare outcomes. Wide variance is the clearest possible signal that the ladder is not written down or
not followed.

**Configuration churn.** How many settings changed last month, and by whom. Vetox's Dashboard Watcher
records this — user, module, timestamp, and an expandable list of the individual settings that moved —
free on every tier, keeping the most recent 500 entries for 90 days, filterable by module, time window
and free text.

Its most useful property is not the audit function. It is that an entry exists **only when a save
succeeded**, so a missing entry is positive evidence that a change never took effect. That turns "I
definitely turned that on" from an argument into a lookup, and it pairs directly with [delegated
dashboard access](/blog/discord-staff-team-structure) — grant by section, then verify what the grant
was used for.

## Which numbers lie?

**Member count.** Cumulative, only falls on a departure, and therefore flattering by construction.

**Online count.** Discord counts people with the app open, which is most of them, most of the time,
doing something else entirely.

**Total messages.** Rises with a handful of chatty regulars and with a spam wave alike, and the two are
indistinguishable in the total.

**Any single-day figure.** Discord activity is strongly weekly. Comparing Tuesday to Sunday produces a
conclusion about the calendar.

**Level leaderboards read as engagement.** They measure volume, and volume is the easiest thing to
inflate — including accidentally, by members posting short messages to farm XP. If you use a
progression system, weight it for consistency rather than raw count and watch unique participants
rather than totals.

## A cadence that survives contact

**Weekly, five minutes.** Weekly unique posters against the previous week. Skim the moderation log
category. Nothing else.

**Monthly, half an hour.** Thirty-day conversion for the cohort that joined last month. Top-ten
concentration. Read the configuration audit end to end — this is the one that catches drift, and it
takes four minutes.

**Quarterly, an hour.** The 90-day view, which is the longest window most tooling retains and therefore
the longest one you can actually inspect. Compare against the previous quarter and write down one
sentence about what changed and why you think so. That sentence, kept somewhere, is worth more in a
year than the charts are.

## The uncomfortable conclusion

You cannot analyse a period you did not instrument, and instrumentation is only ever set up by someone
who is not currently in a hurry.

The 45-day figure is the deadline. Whatever record you want to have during the next incident, the next
staff dispute or the next attempt to explain a decline, you have about six weeks of grace on the
platform's own copy — and after that, the only version that exists is the one you decided to keep.