0saas

Job ticket 941009 · smb · event census · no subscription

Amplitude Free is 2M events a month, forever. The document that decides what gets counted is not on any tier.

No credit card required, 10,000 monthly session replays, 20 behavioural cohorts, 1 active experiment. Plus starts at $0 and prices on volume above two million. What no plan includes is the taxonomy: the event names, the triggers, the properties, and the question each one answers.

Amplitude is a trademark of Amplitude, Inc. This is an independent, unaffiliated comparison built on Amplitude's own published pricing page, linked below and re-read every thirty days. No SDK, key or event ever reaches this page or us.

The event census — rendered in this browser

Source: noneRendered: 0Uploaded to 0saas: nothing

Sample data is illustrative, not a claim about Amplitude. Every Amplitude figure on this page comes from the linked pricing page, read 2026-09-28.

The prompt pack

Two prompts, each mapped one-to-one onto a Amplitude feature you are currently rationed on. Run them from this page with a free key, or copy them into any free chat model — the text is identical either way, and it is printed in full at the bottom of this section so it survives this site.

Loading the pack from tools.json… If this fails, the full prompt text is still readable below.

One-time unlocks only, never a subscription. If a price ever appears here it was read from Stripe in that request, not typed by hand. An unlock is client-side gating, not secure payment verification: it is stored in this browser and cannot prove payment to anyone else.

What Amplitude's own pricing page says

Read from amplitude.com/pricing — Free, Plus, Growth, Enterprise on 2026-09-28. Fields we could not read are marked unconfirmed rather than filled in with a plausible number.

What Amplitude meters, and what the census hands over — verified 2026-09-28
The jobAmplitude's own pricing page (read 2026-09-28)What it costsThis page + a free-tier model
Event volume2M a month, forever, no cardUS$0Not ours: we track nothing
Session replays10,000 a month, 1-month retentionUS$0Not ours: we replay nothing
Cohorts and experiments20 cohorts, 1 active experimentUS$0Not ours: we run no experiments
The measurement planNot a product featureNot sold at any tierThe sheet, and the audit of the one you have

What this replaces, and what it does not

A displacement claim you cannot substantiate is a lie with good typography. This is the whole scope, including the parts where Amplitude wins.

A plan you could hand an engineer

Every event has one naming convention, a trigger an engineer can check, the properties as a developer would name them, and the question it answers.

Events struck out on purpose

A row that cannot state a question is moved to the notes with the reason, so the plan you keep is the plan you will actually query.

A subtraction, not a growth

The audit reads your existing list back and marks what is used, what is unused, what is duplicated and what has no owner — it never proposes a new event.

Not analytics

No event is instrumented, collected, stored or replayed; no chart, funnel or dashboard is rendered; no data leaves your browser. This page has no Amplitude connection at all.

No claims about anyone's analysis

This page does not say a taxonomy written here is better analysed than one written anywhere else. We do not have your data, so we cannot analyse it, and we do not pretend otherwise.

Not a tracking implementation

The sheet says what to count. Wiring the SDK, managing the event budget and keeping the plan current are engineering work, and the page is explicit about which side of that line it sits on.

The prompts, in full, as text

Copy these into any model. They are the product; the page around them is convenience. Each block is the exact system prompt the interactive runner sends, plus the user-message template.

Prompt 01 — 1. Taxonomy writer · amplitude-taxonomy-writer v1.0.0 · best ally: Groq Cloud — free tier · openai/gpt-oss-20b

Replaces: The measurement plan nobody sells: an event's name, its trigger, its properties and — the part that separates a taxonomy from a wish list — the question it exists to answer, with events that back no question struck out.

Why this model: Enumerating a product's events with a trigger and a question per row is structured judgement that must stay consistent across dozens of rows; a mid-size free instruct model keeps the naming rule identical down the sheet. Fallback ally: Google Gemini API — Free usage tier.

System prompt (2316 chars):

You are the census desk of a product team. The team describes their product in plain language — what people do, what the screens are, what breaks, what they are arguing about — and you return an event taxonomy: one row per event, with the trigger that fires it, the properties it carries, the question it exists to answer, and the tag that says which part of the product it belongs to. You are writing a measurement plan, not a wish list. An event that answers no question does not belong in the sheet, and events that answer none are listed separately as struck out, with the reason.

Return ONLY one JSON object. No markdown fences, no commentary, no preamble.

{
  "kicker": string (max 8 words),
  "title": string (max 8 words),
  "subhead": string (max 20 words),
  "items": [
    { "title": string (max 20 words), "tag": string (one of activation,engagement,conversion,failure,retention), "body": string }
  ],
  "notes": [ string (one short footnote per run-wide decision) ]
}

Hard rules:
1. Return between eight and twenty rows, and every row must be an event a user or system could fire in the described product — never a metric, never a chart, never a segment.
2. Every event name follows one convention, printed in the first row: object in the past tense, then action, lowercase with dots (e.g. 'report.exported'). Never two conventions in one sheet.
3. The trigger must be checkable by an engineer who has never seen the sheet: a state change, a response, a click on a named control — not 'when the user engages'.
4. Properties must be the fields that already exist in the product, named exactly as a developer would name them. Never invent a property that would require a new data source; if one would, mark it [NEEDS NEW FIELD: what].
5. Every row's body must end with the question the event answers, phrased as a question. A row whose question is 'more data' is struck out and moved to the notes with the reason.
6. Never claim a funnel, a conversion rate or a lift. This sheet measures; it does not analyse, and it does not say what the numbers will show.
7. Never name a feature the team did not describe, and never instrument an internal event nobody outside the team would query.
8. At most six notes: the naming convention, the events struck out and why, and any property that needs a new field.

User message template:

Write the event taxonomy for this product: What the product is, and what people do in it: {{product}} The questions the team is currently arguing about, and the one decision they actually need to make this quarter: {{questions}}

Variables:

  • {{product}} — The product, and what people actually do in it (max 2200 chars) sample data shipped with the tool
  • {{questions}} — The questions you argue about, and the decision this quarter (max 1200 chars) sample data shipped with the tool

Output schema (the answer must match this exactly):

{ "type": "object", "required": [ "items" ], "properties": { "kicker": { "type": "string" }, "title": { "type": "string" }, "subhead": { "type": "string" }, "items": { "type": "array", "minItems": 1, "maxItems": 60 }, "notes": { "type": "array" } } }

Decoding: temperature 0.6 · max 2600 output tokens · responseMimeType application/json · budget ~500 in / ~1,100 out for a twenty-row taxonomy · cost per run: 1 request against Groq's published free base; the relay floor needs no key at all.

Prompt 02 — 2. Tracking plan audit · amplitude-tracking-audit v1.0.0 · best ally: Google Gemini API — Free usage tier · gemini-2.5-flash-lite

Replaces: The Free tier's real cost: an event list read back and marked up — the events nobody queries, the properties nobody filters on, and the questions your current plan cannot answer at all.

Why this model: A hundred-row event list with a verdict per row is a long read and a short write; a free long-context model holds the whole list and its properties in view so the unused-row call is consistent rather than impressionistic. Fallback ally: Groq Cloud — free tier.

System prompt (1934 chars):

You are the audit desk of a product team. The team hands you the events they currently track, with their properties and anything they know about who queries them. You return an audit: for each event, whether anyone can name a question it answers, which properties are actually used, and what it costs to keep tracking. The point is subtraction. An event nobody queries is not a harmless detail; at two million events a month it is a share of the ceiling that buys nothing.

Return ONLY one JSON object. No markdown fences, no commentary, no preamble.

{
  "kicker": string (max 8 words),
  "title": string (max 8 words),
  "subhead": string (max 20 words),
  "items": [
    { "title": string (max 22 words), "tag": string (one of used,unused,duplicate,no-owner), "body": string }
  ],
  "notes": [ string (one short footnote per run-wide decision) ]
}

Hard rules:
1. Return one row per supplied event, in their order, and never an event they did not list. Never propose new events here — this desk subtracts.
2. Tag each row used, unused, duplicate or no-owner, and the tag must follow from what the team said: an event is 'unused' only when they said nobody queries it or gave no reader, and 'no-owner' when they named no team at all.
3. Every row must end with the question it answers, or with the words 'no question on record' when the team supplied none. Never invent a question on their behalf.
4. A duplicate row must name the two events it duplicates, by their exact event names, and say which to keep.
5. Never claim a percentage, a funnel or a lift. This audit reports what is in the list, not what the data says.
6. State the cost of subtraction in the team's own terms: what fraction of their monthly event volume the unused rows represent, computed from what they told you, and 'unknown' where the numbers are not stated.
7. At most six notes, each a question the team should answer before the next quarter's plan is set.

User message template:

Audit this tracking plan: The events we track, their properties, and who looks at them: {{events}} What the team already knows is broken about it: {{known}}

Variables:

  • {{events}} — The events you track, their properties, and who reads them (max 3000 chars) sample data shipped with the tool
  • {{known}} — What you already know is broken (max 900 chars) sample data shipped with the tool

Output schema (the answer must match this exactly):

{ "type": "object", "required": [ "items" ], "properties": { "kicker": { "type": "string" }, "title": { "type": "string" }, "subhead": { "type": "string" }, "items": { "type": "array", "minItems": 1, "maxItems": 60 }, "notes": { "type": "array" } } }

Decoding: temperature 0.5 · max 2400 output tokens · responseMimeType application/json · budget ~700 in / ~1,000 out for a twenty-row audit · cost per run: 1 request against the Gemini free tier; no per-minute spend, no card on file.

Questions worth asking before you cancel

Amplitude's free tier is 2M events a month — what's the real problem then?

Knowing what to count. Most teams hit a wall well before the ceiling, and the wall is never volume: it is an event list where nobody can name the question a row answers, so a funnel gets rebuilt in a notebook because the data cannot be found. The census is the document that fixes that, and it costs nothing at any volume.

Is this going to tell me what our conversion rate is?

No. Rule 6 forbids it: this sheet measures, it does not analyse, and it never states a funnel, a rate or a lift. It produces the plan under which those numbers would be trustworthy, which is a different and more boring thing.

Where do the free-tier numbers come from?

Amplitude's own pricing page, read 2026-09-28 — the Free card and the feature-comparison table, which is where the ceilings that actually bite (replays, cohorts, active experiments, agent sessions) are printed.

Why does the page quote no Plus price?

Because Amplitude does not print one: Plus is shown as 'Starts at $0' with an on-page estimator, and Growth and Enterprise are 'Custom, event based pricing'. Quoting a number the page does not print would break the one rule this whole site runs on.

Does it work without an API key?

Yes. Copy the printed prompt into any free chat model, paste the JSON back, and the census renders here as the same stamped column — one row per event, with the question it answers.

Nothing is loaded from X or LinkedIn until you click, and no share is counted, logged or reported back to us — the buttons are plain links to each network's own share page.

Next on the ledger