D&D Campaign Tracker Template

Updated September 2026. A sheet for tracking a campaign, not a recorder for running one.

Someone asks "wait, who was that" three sessions after you introduced them, mid-scene, four people waiting on you. That's the only test a campaign tracker has to pass. A tracker holds the state of the whole campaign: who's in the party, who they've met, what they're chasing, where they've been, who they've made enemies of. Recaps tell the story of one session; this is where the facts live between them.

A flat sheet does this fine for a long stretch of a campaign, and it strains at exactly one point: the moment a name in one table and a slightly different spelling of it in another might or might not be the same person, and nothing on a sheet checks that for you. If you're already hitting that wall, a wiki is the better tool for it. This page is for the sheet: seven short tables plus two habits that keep it honest, built to be filled in by hand.

The three practices that matter most

  1. Filling in the session index and anything new the same night you play, while it's still a two-minute task, not a twenty-minute reconstruction a month later.
  2. Retiring a quest, NPC, or faction instead of deleting it: strike the name, add one line on why it stopped mattering, move it to the bottom.
  3. Folding the journal into the session index instead of keeping two records of the same night, the line worth remembering, right on that row.
On this page (7 sections)
  1. 1What it needs
  2. 2The tables
  3. 3Retire, don't delete
  4. 4One journal
  5. 5Keep it current
  6. 6The template
  7. 7FAQ

1.What a tracker actually needs to hold

A good test before any column goes on the sheet: would you stop mid-session to read it?

Not everything earns a row. Before a column goes on this sheet, ask one question: would you stop mid-session to read it? Level, backstory, a full stat block: nobody flips to the tracker for those, the character sheet already has them.

What passes that test is the party and what they're owed, who's been met and what they want, what's being chased, where the party's been, the standing factions, what's been won, and a session-by-session index. Seven short tables cover that.

2.The sheet, table by table

Seven short tables, each one held to the same test: would you stop mid-session to read it.

Party roster. Name, player, one trait, one thing they're currently owed or owe. Level lives on the character sheet already; a debt is the thing that turns a roster row into a hook. Example: Mira Voss, played by Priya, never pays full price for anything, currently owed a favor by the harbormaster.

NPC roster. Name, location, what they want, one-line note, for anyone the party is likely to see again. Write the want, the thing that cuts against what the party wants, not a relationship label like "friendly" or "ally." Example: Varek Oss, the counting house on Kell Street, wants his signet ring back before his steward reports it missing, helpful only while the ring is missing.

A good default for a name met once and unlikely to return: skip the want and log name, location and the one-line note only. Working out what cuts against the party is real effort, and spending it on a barkeep with four lines is how a sheet stops getting updated by session six. Promote them to a full want if they come back.

Quests. Name, status (active, complete, or failed, matching the three states most tables already track), current state. Whoever gave the quest and what they want from it goes in the current-state line, not a separate column. Example: The Kell Street Debt, active, given by Varek Oss, waiting on Talla to name her price before pressing further.

Locations visited. Name, first session, what's there. Example: The Sunken Tollhouse, first visited session 12, flooded customs post the smugglers use as a market.

Factions. Name, goal, standing, as a delta, not a snapshot. What tends to work is writing the standing from the party's side of it, since the question you stop to check mid-scene is whether these people trust us right now, not how the faction feels internally. So not "uneasy truce": the last thing that moved the needle, which way, and when. Example: The Kell Street Consortium, runs the river tolls, standing: warmer to us since we let Talla's crew walk at the bridge, session 14.

Loot log. Item, who's carrying it, session found. This is the running index across sessions that a single night's loot list, by design, doesn't give you on its own. Example: Varek Oss's signet ring, held by Mira, session 11, opens his study if you get past the steward.

Session index. Session number, date, one line on what happened, one more line for the thing worth remembering. Write the one-liner as a person doing something, not a plot summary: "Varek handed over the ring" tells you more, three months later, than "searched the counting house," because that's how the table will actually ask you to look it up.

3.Retire, don't delete

A tracker that only grows stops being trustworthy. Fix it with one more verb: retire.

A tracker that only grows stops being trustworthy. Six months in, it's half graveyard, and nobody checks it live because half of what's on it is dead. Fix it with one more verb: retire. A quest that resolves, a faction that goes quiet, an NPC who dies: don't delete the row.

Strike the name, add one line on why it stopped mattering, then move it to the bottom of its table (the NPC roster can do this right in its own note column; Quests and Factions get their own retired block below the live rows). A block of struck rows costs nothing to skip past mid-session. A missing row costs you having to remember it existed at all, and campaigns have a way of resurrecting exactly the threads a GM assumed were closed for good.

Once a month, scan anything still marked active that hasn't moved in four or more sessions and force a call: resolve it, fail it, or retire it. Most quest tracking only holds three states: active, complete, or failed; this sheet's fourth state, retired-and-kept, is yours alone to keep.

4.One journal, folded in

Don't keep two records of the same night. The line worth remembering lives on the row you're already filling in.

Don't keep two five-part records of the same night. The line worth remembering lives right on the session index row you're already filling in, something someone actually said, not paraphrased. Want the full narrative version, with a rotation habit for who writes it and a filled-in example? That's the session recap template, not a second habit to maintain on this sheet.

SESSION INDEX ROW
Session # | Date | One line (a person doing something) | Line worth remembering (something someone actually said)

5.Keeping it current is the actual problem

The fix isn't a better sheet, it's a smaller habit, timed right: fill it in the same night you play.

Every GM starts a tracker. Most stop updating it by session six, not because the format is wrong but because updating it competes with prep time on the one night a week set aside for the game. The fix isn't a better sheet, it's a smaller habit, timed right: update the session index and anything new in the NPC, quest, or loot rows the same night you play, while it's a two-minute task.

Wait a week and it's twenty minutes. Wait a month and it's a reconstruction you'll never actually get around to. A tracker that gets updated before you close the laptop tends to beat the one with the most columns.

What to fill in the same night you play:

If you run your campaign in Threadfall

Quests get their own tab: click "+ New Quest," add a title and details, and its status moves through active, complete, or failed, matching this sheet's first three states. NPCs, locations, and items live in the Codex, with Factions as its own section there. Loot from a session lands on that session's Spoils tab by itself, kills, key items, coin, and who went down, without you tallying any of it by hand.

What stays yours either way: the party roster's debts and traits, the session index's one-liners, and a row's retired history, those are judgment calls, not something to pull off a transcript. Hand-tracking any of it, in the Codex or on this sheet, is free forever, and players are always free.

6.The template (copy this)

Print the block below for a binder, or copy the plain text under it into wherever you keep notes.

Same tables as above, plus the retired rows for quests and factions. Each one shows its columns and one filled-in row; print this block, or copy the plain-text version below it into whatever you keep notes in.

Campaign tracker template

Table 1. Party roster
NamePlayerOne traitOwed or owes
Mira VossPriyaNever pays full price for anythingOwed a favor by the harbormaster
Table 2. NPC roster
NameLocationWhat they wantOne-line note
Varek OssThe counting house on Kell StreetHis signet ring back before his steward reports it missingHelpful only while the ring is missing
SellaThe ferry landing(met once, no want yet)Sold them the river map
Table 3. Quests (retired rows stay, with why they stopped mattering)
NameStatusCurrent state
The Kell Street DebtActiveGiven by Varek Oss; waiting on Talla to name her price before pressing further
The Salt Road escortRetiredThe caravan left without them, session 9; nobody has asked since
Table 4. Locations visited
NameFirst sessionWhat's there
The Sunken Tollhouse12Flooded customs post the smugglers use as a market
Table 5. Factions (retired rows stay, with why they stopped mattering)
NameGoalStanding (last thing that moved it, and when)
The Kell Street ConsortiumRuns the river tollsWarmer to us since we let Talla's crew walk at the bridge, session 14
Table 6. Loot log
ItemWho's carrying itSession found
Varek Oss's signet ring (opens his study, past the steward)Mira11
Table 7. Session index
SessionDateOne line (a person doing something)Line worth remembering
14Mar 3Varek handed over the ring“Before my steward notices, or not at all.”
PARTY ROSTER
Name | Player | One trait | Owed or owes

NPC ROSTER
Name | Location | What they want | One-line note

QUESTS
Name | Status | Current state
--- retired ---
Name | Status | Why it stopped mattering

LOCATIONS VISITED
Name | First session | What's there

FACTIONS
Name | Goal | Standing (last thing that moved it, and when)
--- retired ---
Name | Why it stopped mattering

LOOT LOG
Item | Who's carrying it | Session found

SESSION INDEX
Session # | Date | One line (a person doing something) | Line worth remembering

7.Campaign tracker template FAQ

What should a D&D campaign tracker include?

Enough to answer what comes up mid-session without scrolling: the party and what they're owed, the NPCs met and what they want, what's being chased, where the party's been, the standing factions, what's been won, and a session-by-session index. Anything past that tends to become its own chore.

Is there a free D&D campaign tracker template?

Yes, this one. Copy the template below into whatever you keep your notes in, or print it for a binder. No account, no subscription.

What do I do with a quest, NPC, or faction that's no longer active?

Don't delete the row. Strike the name, add one line on why it stopped mattering, and move it to the bottom of its table. See Retire, don't delete above.

Do I need a separate campaign journal?

No. Add one column to your session index: the line worth remembering, something someone actually said. Want the full narrative version instead? That's the session recap template, a different document with a different job.

How often should I update it?

The same night you play, before you close the laptop. Any later and a two-minute update turns into a twenty-minute reconstruction.

Can I use this at the table, on paper?

Yes. Print the page for a binder, or keep it open on a laptop or tablet during the session and update it live between scenes.

More: the session recap template · what makes a good session recap · the honest tools roundup · What is Threadfall? · all Threadfall guides