Event definitions
Analyses, goals, and monitors read event names, and a definition keeps one behavior under one name. A track() call that was never registered shows up as Unplanned; an autocapture candidate becomes a definition only after you Accept it.
The definition table is the Definitions tab on this page. ConsoleAll-platform analyticsDataEvents & properties in the same group only shows counts, unique visitors, share, a 7-day trend, and property value breakdowns for the selected dates. It does not edit definitions. The design-time list is Tracking plan & validation.
Status
| Status | Typical origin | Allowed next |
|---|---|---|
| Created | A new definition | Approved, or blocked |
| Approved | Created or unplanned | Live, blocked, or back to created |
| Live | Approved or unplanned | Blocked |
| Blocked | Any status that can block | Back to live or approved |
| Unplanned | Events arrived with no definition | Approved, live, or blocked |
Status does not block collection. Only Blocked drops the whole event before it is stored, and it does not count against quota. Hidden is separate from status: it only removes the name from query pickers and can be undone.
The Source column is one of AI, Rule, Code, Server, Unplanned, Industry pack, or System. Accepting an autocapture candidate creates a match rule and backfills the last 90 days. After code or server events arrive in the last 24 hours, you can click Mark as verified in the code dialog. That mark is not a status.
How to use it
Click New event to register the name, label, category, description, and properties. Required properties feed completeness and the code snippet. The event name cannot change after create. Later you can edit the label and properties, follow an allowed status change from the table above, or Hide and Show it.
Deleting removes only the definition and its rules; stored events remain. A definition referenced by a goal cannot be deleted. If the name is tracked again, it returns as unplanned.
Access & limits
Anyone who can open the project can view definitions. Creating, editing, and status changes need Analyst or above. Deleting needs Owner or Admin. Generating autocapture candidates also depends on the plan quota in Event inbox.
FAQ
Does Created mean the event is not collected? No. Status does not affect collection; only Blocked drops events, and a hidden definition is still stored.
Is an event blocked when a required property is missing? No. Required properties only feed completeness and the snippet, unless you add a validation rule in the property dictionary.
Property definitions
The property dictionary governs each key's type, sensitivity, and intake rules: a wrong type breaks sums and filters, and direct identifiers should be masked in lists and exports. Values on a person profile are in User properties & tags.
ConsoleAll-platform analyticsDataProperty dictionaryTabs are User, Event, and Account. Columns are Key, Type, PII, Samples, Seen, and Last seen.
Metrics & definitions
- Type: String, Number, Boolean, Datetime, or List.
- Sensitivity: Direct identifier, Indirect identifier, or Non-personal. Direct identifiers are masked by default. Property masking applies to every role and is combined with member masking by taking the stricter one.
- Human confirmation: a scan finds new keys. Once you save an edit, later scans do not overwrite the type or sensitivity.
Validation and governance
Validation rules run at intake: expected type, required on events, a regex, max length, min and max, and allowed values. On violation:
| Action | Event stored | Result |
|---|---|---|
| Warn only | Yes | One warning on the data quality page |
| Drop property | Yes | That key is removed |
| Block event | No | Not sent to quarantine |
| Quarantine | No | Held for review; see Data quality |
Governance rules can also block the key (never stored), set a whitelist (other values stored as __other, originals waiting to be claimed), or mark Export only (analyses cannot break down by it).
How to use it
Click Scan now, or wait for the daily scan. Click Edit to change the display name, type, sensitivity, and rules; saving counts as a human confirmation. A whitelist is one value per line, up to 100. Deleting a dictionary row does not delete values already stored.
Access & limits
Anyone who can open the project can view the dictionary. Scan and edit need Analyst or above. The delete button in the console is shown only to Owner and Admin.
FAQ
Does Export only delete data? No. The value stays in the event row and is available in exports.
Where does the high-cardinality flag come from? From distinct values over 7 days; act on it from the data quality page.
When do enums and regular expressions apply? Only after you save a validation rule.
Event inbox
Autocapture records interactions before you name them; the inbox clusters them by element and page and suggests a name from rules or from a model, and they become official events only after you confirm them. Unplanned events are track() names missing from the definition table.
Tabs are Pending, Accepted, Ignored, and Definitions. The cards on top are Pending candidates, Unplanned events, Defined events, and Verified. Status rules are in Event definitions.
Metrics & definitions
A candidate shows Hits 7d, Visitors 7d, and Last seen. Filter by High confidence, Low confidence, or Not seen in 3 days. Sort by hits, visitors, or last seen. Expand a row for the 7-day trend, first seen, pages, and neighboring actions.
Rule or AI next to a suggested name only describes where the name came from. The counts are real hits.
How to use it
With autocapture on, the inbox tidies the previous day's interactions overnight. You can also click Generate candidates now. For each candidate, pick one:
- Accept: enter an event name (starts with a letter), a label, a category, and a description. This creates a match rule and backfills the last 90 days of autocapture; a large backfill can take minutes.
- Merge: adds this interaction to an existing event's match rules and backfills the increment.
- Ignore: the candidate stays on Ignored and can be accepted later.
Access & limits
Generating, accepting, merging, and ignoring need Analyst or above. If the plan has no candidate quota, the page says the plan does not include the AI event inbox and autocapture. With autocapture off, no new candidates appear; turn it on in project settings.
FAQ
Does an unplanned event stop being stored if I skip Accept? No. To stop a name, set its definition to Blocked.
Virtual events & properties
Use it when tracking is already live but you want to pick “viewed pricing” in a funnel, or group events by path prefix when the SDK does not send that property. Run the definition on rules now and replace it when real tracking ships.
ConsoleAll-platform analyticsDataVirtual eventspropsThe page has two tabs: Virtual events and Virtual properties. The list shows Rules, 7d hits, and status.
Metrics & definitions
Virtual event. A definition is a list of rules. If any rule matches, one event with the definition's name is written. Rules are OR; conditions inside one rule are AND. A rule can name a source event; blank means any event; $pageview means a page view. The copy carries a $virtual_source property with the source event name, is marked as automatic, and does not count toward sessions. After that it behaves like any event: it appears in the event list and works in every analysis model, see Event definitions.
Virtual property. Rules are checked in order and the output of the first matching rule is written. If none match, the default value is written; with no default, nothing is written. The output can reference source properties with {key}, for example {$path}. A real property with the same name on the event is never overwritten.
The left side of a condition is a built-in field or a key in the event properties. Built-ins are page path, hostname, page title, referral channel, referral domain, the three UTM fields, country or region, device type, platform, browser, and OS. Operators: equals, not equals, contains, starts with, ends with, in list, greater than, less than, at least, at most, exists, does not exist, and matches regex. A list is comma- or newline-separated. Numeric comparisons convert the value to a number.
How to use it
- On the Virtual events or Virtual properties tab, click New.
- Enter a name: letters, digits, and underscores, 2 to 60 characters, not starting with a digit, and not starting with
$or__. The name cannot be changed after creation. Display name and description can be edited later. - Add rules. A definition has at most 20 rules, and the form allows up to 10 conditions per rule.
- Click Run preview to test on the last 7 days of real data. A virtual event shows matched events, matched visitors, and hits per rule. A virtual property shows the distribution of output values.
- Save.
Example: name “page view whose path starts with /pricing” as pricing_viewed, then pick it in a funnel. Or create a virtual property section: rule one outputs “Blog” for paths starting with /blog, rule two outputs “Docs” for /docs, default “Other.”
Pause and resume. While paused no new data is produced; what was already written stays.
Backfill. A new definition only affects events that arrive afterwards. To fill history, choose a number of days (1 to 365, default 30) and start a backfill. It runs synchronously, so large volumes take a while. Running it again clears the previous result first, so it is safe to repeat. Status is running, done, or failed.
Delete. Deleting a virtual event also removes the copies it already wrote and its event definition. Deleting a virtual property only stops new values; values already written onto events are not erased.
Access & limits
Anyone who can see the project can see the list. Creating, editing, pausing, deleting, previewing, and backfilling need Analyst or above. Create, update, delete, and backfill are written to the audit log. Rules are cached for about a minute, so new events may take that long to follow an edit.
FAQ
Why does the preview have numbers but the funnel does not? Preview reads stored raw events. A virtual event only produces copies for events that arrive after the rule is active, so backfill the history first.
Why does the preview show no match? Check the source event name, property key, and condition value. Property keys are case-sensitive, and path conditions compare the stored page path.
Can a virtual event share a name with a real event? No. If a real event already uses the name you are asked to pick another.
Does it change session counts? No. Virtual event copies do not count toward sessions and carry no dedupe id.