Our error tracking product gives you multiple ways to help you manage issues and work towards resolution.
Assigning issues
Issues can be assigned to a teammate from the list or issue page. To do this, select the assignee option and search for the teammate you want to assign it to, and select them. You can click this dropdown again to remove the assignee.
Want to assign issues to a team rather than an individual teammate? You can create a role in your project settings under Error tracking.


Auto assignment rules
You can automatically assign new and reopened issues using auto assignment rules.
Assignment conditions are evaluated against the properties of the exception event that created the issue. Because assignment rules are evaluated during ingestion, the stack trace (if present) will be unminified which allows for filtering on on exception properties such as function name and source file.


Auto assignment works well when paired with alerts filtered by assignee.
Merging issues
You can merge issues representing the same problem from the issue list by:
- Selecting the primary issue others should be merged into
- Selecting the issue(s) to merge into the primary issue
- Clicking the Merge button
After merging, all events and properties from the merged issues are added to the primary issue. The merged issues are then deleted (but the underlying events are not).


Custom issue grouping
PostHog attempts to group the same exceptions as a single issue. If you want more control over issue grouping, you can define a grouping on the client-side or using rules during ingestion.
Client-side fingerprint
An $exception_fingerprint
property is generated during ingestion by PostHog and used to perform this grouping. Setting the $exception_fingerprint
property on the frontend will override the default flow to allow for custom grouping of certain exceptions.
When using the captureException
method, you can provide $exception_fingerprint
as an additional property in the functions second argument.
posthog.captureException(error, { $exception_fingerprint: "MyCustomGroup" })
If the exception is autocaptured, you need to modify the properties before the event is sent. The PostHog config offers a before_send
hook that fires for each event which you can use to alter event and add the property:
posthog.init("<ph_project_api_key>", {before_send: (event) => {if (event.event === "$exception") {const exceptionList = event.properties["$exception_list"] || []const exception = exceptionList.length > 0 ? exceptionList[0] : null;if (exception && exception["$exception_type"] == "SyntaxError") {event.properties["$exception_fingerprint"] = "MyCustomGroup"}}return event}})
Custom grouping rules
You can also choose to group exceptions as a single issue based on their properties. As with auto assignment rules, you have access to properties of the unminified stack trace because the rules run during ingestion.

