In Error Analysis, identical errors are grouped to avoid their duplication in the error list, as although multiple errors might be identical, they can have slightly different details (depending on the error type) which could result in them being treated as separate, “unrelated” errors.
Therefore, grouping logic is applied to enable you to:
- Navigate the error module more easily
- Spot and prioritize errors faster
- Identify the real impact of the error
How grouping works by error type
For each of the error types, the following error details are used to group identical errors:
API errors
Request URL
- Certain values are ignored due to their high variability. These include:
- Numbers, identifiers, hash patterns, IDs, and names (for example: cart, product, project, etc.)
- Geographic variations such as location and region IDs, countries, and languages ISO codes
- Coupon codes
- Media content variations (for example: image, video, file uploads)
- Categories reflecting browsing patterns
- Variables, especially those following the ~ symbol
Status code
- Errors are grouped based on HTTP status codes, providing insights into the type of error that occurred
Method
- The HTTP method (GET, POST, PUT, DELETE, etc.) is considered for grouping as it defines the action requested.
Matching Body Content
- If a collection rule is set, errors can be grouped based on specific patterns in the request body content
Response Body Elements
- If a collection rule is set, errors can be grouped based on specific elements in the response body
Console messages
- Message, but ignoring values:
- Message, but ignoring values:
- Date/Time
- Numbers
- Amount
- Telephone
- ID
- JSON values
- Duration (e.g. 03:35)
- Identifiers in the form of hexadecimal numbers
Example 1
The following errors would be grouped, as the date/timestamp pattern is ignored for grouping:
- [ERROR]: 2024-06-27T14:14:36.329Z Something went wrong
- [ERROR]: 2024-06-27T13:11:35.391Z Something went wrong
Example 2
The following errors would be grouped, as the number pattern is ignored for grouping:
- [ERROR] This date does not correspond to the age entered in your search (10 years old). Check the date or start a new search
- [ERROR] This date does not correspond to the age entered in your search (25 years old). Check the date or start a new search.
Custom error
- Message, but ignoring values:
- Date/Time
- Numbers
- Amount
- Telephone
- ID
- JSON values
- Duration (e.g. 03:35)
- Identifiers in the form of hexadecimal numbers
Example
- “Oops, discount code invalid” or,
- “One or more of the values you have entered is incorrect. Please verify your login information and try again.”
Generating custom errors for each value
If, however, you don't want the above listed values to be ignored (and instead have each value generate a separate custom error) you can add the attribute below using Contentsquare Tag Configurator custom error template or using the custom error tag command.
Attribute:
- key: GROUPING
- value: DO_NOT_GROUP
This is commonly done in cases where you want to separate the "out of stock" errors by Stock Keeping Unit (SKU), so that you can then quantify the business impact of out of stock items (by their SKU).
Crashes
For Android Native crashes, we use the following elements of the first frame:
- Exception type
- Package
- Method name
- File name
For iOS Native crashes, we use the following elements of the first frame:
- Exception type (or Signal if no exception type)
- Module
- Function name
- File name
For React Native crashes:
- Context line function name
- File name
Flutter
- Exception Type
- File name
- Class name
- Method
- Directory
JS errors
- File name domain but ignoring values related to country and language (extension codes…)
- Error message:
- Ignoring some values (numbers, URLs) and minified code variables
- Grouping similar javascript errors across different browsers and eliminating specificities unique to browsers or browser versions
Analyzing error groups with a Group ID
Errors that have been grouped together are given a Group ID, so that it’s easy to identify which group an error belongs to. You can find and use error Group IDs when analyzing in Error Analysis, Session Replay and with segments in the Analysis Context.
Error grouping in Error Analysis
Click on an error from the error list to open the side panel. There, you can see the Group ID and click the three-dot ‘more’ menu to “Copy error details”.
Error grouping in Session Replay
When applying an error Group ID in Session Replay, the list of replays will be filtered to those that include the Group ID.
When watching a replay, use the Event Stream to view the error's name, details and the Group ID the error belongs to.
Error grouping with segments in the Analysis Context
Create and save a segment of the grouped error in the Analysis Context to use in other modules.
Tip
Use saved segments in Impact Quantification to compare users who have experienced the error VS. users who have not, to see the impact on conversion and revenue.
FAQ
Why have I seen a sudden change in my total number of distinct JS errors?
As of the 4th of August 2025, we improved how JS errors are grouped to help you better quantify and troubleshoot them. Similar JS errors across browsers became grouped and minified code variables become ignored (previously appearing as separate JS errors). Whereas certain error information - in parenthesis and variable & property - is now being used to better differentiate errors.
This may lead to existing JS errors with traffic dropping or increasing, new JS errors appearing and a global variation in the total number of distinct JS errors, around the 4th of August 2025.