Clean up your Amplitude event taxonomy in one console

Review every tracked event with its weekly volume, fix statuses and descriptions inline, and retire dead events without a spreadsheet.

App
AmplitudeLinearSlackProductEngineeringData Sync
PromptCreate

Build me an event taxonomy cleanup console for Amplitude. My product and data team opens it during tracking plan reviews, works through the event list together on a call, and fixes problems in place instead of exporting everything to a spreadsheet. Every change it makes is written straight back to Amplitude.

The main view is a review queue: one row per event type. Build it by combining Amplitude's Get Event Types (which gives the event name, taxonomy status, description, category, and whether it is deleted) with List Events with Current Week Stats (which gives current week volume, unique users, and DAU percent), joined on the event name. Show columns for event name, current week volume, unique users, DAU percent, taxonomy status, description, and category. Every column sorts. Default the sort so the events most likely to need attention float to the top: zero volume first, then unverified, then missing a description. Events that appear in one source but not the other should still show up, with the missing side rendered as unknown rather than silently dropped.

Above the queue, show a header scorecard with total events, percent verified, and how many have not fired in 30 days. Read the note further down about how to compute the 30 day number honestly.

Give the queue three toggle filters that combine: zero volume this week, unverified, and missing a description. Add a free text search on the event name, and always show how many rows match the current filter set so it is obvious how much of the list is being hidden.

Add a cluster panel that finds near duplicate event names. Normalize each name by lowercasing it and treating dashes, underscores, spaces, and dots as the same separator, then group events whose normalized names are identical and show any group with two or more members. This is the panel that catches sign-up, sign_up, and user_sign-up all tracking the same action, which is the classic taxonomy problem: the duplicates split one metric across several lines and make conversion look worse than it is. Within a cluster, show each member's weekly volume side by side so the reviewer can see which variant is the real one, and let them act on any member row directly from the panel without going back to the main queue.

Every row is editable inline. The status control offers exactly Amplitude's four values: verified, unverified, blocked, and hidden. The description and category are editable too, with category as a dropdown. All three save through Update Event Type, which is a partial update, so send only the field that changed and map each status onto whatever fields that operation exposes. Use optimistic updates with a per row saving and saved indicator, and revert the cell with a visible error if the write fails.

Support bulk selection with row checkboxes plus a select all matching the current filter, then let the user apply one status to the whole selection. This part needs care: Amplitude's Taxonomy API allows only 4 concurrent requests and 7,200 cost units per hour, and every POST, PUT, or DELETE costs 2 units. Apply bulk changes in small sequential batches with no more than a few requests in flight and a brief pause between batches, never as one big parallel fan out. Show a progress indicator listing which events succeeded and which failed, let the user cancel partway through, and leave the already applied changes in place when they do.

Manage categories from inside the console. Populate the category dropdown with Get Event Categories, let the user add a new category inline while editing a row using Create Event Category, and let them rename an existing one with Update Event Category.

Retiring an event uses Delete Event Type, which soft deletes it. Always show a confirmation step first, naming the event and its current week volume so nobody deletes something that is still firing. A bulk delete confirms with the full list of names and requires an explicit confirm. Keep deleted events reachable behind their own filter with a Restore button wired to Restore Event Type.

When an event is broken rather than dead, a button on the row files a Linear issue with Create Issue. Prefill the title as a tracking bug for that event name, and prefill the description with the volume evidence: current week volume, unique users, DAU percent, and the current status, description, and category. Let the reviewer edit the title and body and pick the engineering team, populated from Linear's List Teams, before submitting. Once created, show the issue key and link on the row so the team can see it was already reported.

Track everything done during the current review session: events verified, blocked, hidden, descriptions rewritten, events deleted, events restored, and tickets filed. Persist this session log so it survives a page reload. A Share summary button opens a preview of the message, lets the user pick a Slack channel populated from List Channels, edit the text, and post it with Slack's Send a Message. Format the message in Slack mrkdwn with the headline counts and a few notable items, such as the highest volume event that was deleted and links to any tickets filed.

One important note on the 30 day dormancy number. The available Amplitude data gives current week volume, not a last triggered date, so do not pretend to know something you cannot read. Compute what you can directly, which is how many events had zero volume this week, and on every load store a snapshot of each event's weekly volume in app storage. Use that accumulating history to show how many consecutive weeks an event has been silent, and label the scorecard tile accordingly: until about a month of snapshots exists, show the dormant figure as not fired this week and note that the history is still building. Once there is enough history, the tile becomes a true 30 day figure.

Use app storage for the weekly volume snapshots, the session logs, and each user's preferred Linear team and Slack channel so they are not re-picked at every review.

What does this prompt do?

  • Lists every event you track next to this week's volume, unique users, and share of daily active users, so you can see at a glance what is actually being used and what is dead weight.
  • Groups near duplicate names such as sign-up, sign_up, and user_sign-up into a single cluster, so you can spot the variants that quietly split one metric across three lines.
  • Lets you set each event to verified, unverified, blocked, or hidden, rewrite its description and category, and retire dead events behind a confirmation step you can undo.
  • Files a Linear ticket for events that are broken rather than dead, and posts a summary of everything the session changed to Slack when you are done.

What do I need to use this?

  • An Amplitude account with manager or admin access, since that is what lets you create the keys the console connects with
  • An Amplitude plan that includes event taxonomy editing, which is where the verified and blocked statuses live
  • A Linear workspace, for filing tickets about events that are firing incorrectly
  • A Slack workspace, for sharing the review summary with your team

How can I customize it?

  • Change the dormancy window from 30 days to whatever your team uses before it retires an event
  • Point tickets at a specific Linear team and the summary at a specific Slack channel, so reviewers do not pick them every time
  • Adjust how duplicate names are matched if your naming convention uses prefixes, such as a feature or platform name in front of every event

FAQs

Does deleting an event here remove my historical data?
No. Events you delete are soft deleted, which hides them from your taxonomy without throwing away the data behind them. Deleted events stay visible under their own filter in the console with a Restore button, so you can bring any of them back if you retire one too eagerly.
Will this work on a free Amplitude plan?
Reading your event list and weekly volume works broadly, but the taxonomy controls that set an event to verified or blocked are a paid Amplitude feature. Check that your plan includes event taxonomy management before you set the console up, otherwise the review columns will load but the status edits will not save.
What happens if I change the status of fifty events at once?
Amplitude limits how fast taxonomy changes can be submitted, so the console applies bulk changes in small batches one after another rather than all at once. You get a progress bar showing which events have been updated, which failed, and the option to stop partway through.
Can two people run a review at the same time?
Yes. Each person connects their own accounts and works in their own session, and every change writes straight to the same Amplitude project. Bear in mind that the console reads your event list when it loads, so refresh if a colleague has been editing alongside you.
How does it decide which events are duplicates?
It normalizes each name by ignoring capitalization and treating dashes, underscores, spaces, and dots as the same separator, then groups the names that end up identical. That is what catches sign-up, sign_up, and Sign Up as one cluster, and you always confirm the call yourself rather than the console merging anything for you.

Related templates

Browse and shortlist creators without burning audit credits

Search creators for free, shortlist the best with your team, and spend an audit credit only when you decide someone is worth a closer look.

HypeAuditor
Airtable
Slack
App
Hiring funnel dashboard for every open Hireflix role

One screen showing invited, completed, and shortlisted counts for every open role, plus the stalled invites that have quietly gone nowhere.

Hireflix
Slack
App
Voice agent QA review board for your Hume EVI calls

Open one board each morning, see which voice calls went badly, replay the exact moment the caller got frustrated, and file the fix.

Hume
Linear
Slack Bot
App
Close the loop between Front tickets and Linear bug fixes

See every customer waiting on a bug fix, file the ticket without creating a duplicate, and tell them the moment engineering ships it.

Front
Linear
App
Global operations exposure map for your sites and suppliers

Open one board each morning to see which of your facilities, suppliers and shipping lanes are sitting near trouble in the news right now.

GDELT
Airtable
Slack
App
Compare creators on post performance before you pay them

Pick creators from your saved list and see their best and worst Instagram posts side by side, so your brief is built on what actually lands.

HypeAuditor
Google Docs
Slack
App

Stop reviewing your tracking plan in a spreadsheet.

Open one console that shows every event, what it is actually doing, and the controls to fix it on the spot.