This guide describes how to send exceptions using analytics.js
Overview
Exception measurement allows you to measure the number and type of crashes and exceptions that occur on your property.
There are 2 fields that can be sent with each exception hit:
| Value | Type | Required | Description |
|---|---|---|---|
| Description | String |
No | A description of the exception. |
| Is Fatal? | Boolean |
No | Indicates whether the exception was fatal. true indicates
fatal. |
Implementation
To send an exception, you pass the ga function
the send command with the exception hit type.
ga('send', 'exception');
You can pass a configuration object to specify values for optional fields. For example:
ga('send', 'exception', {
'exDescription': 'DatabaseError',
'exFatal': false
});
You may also want to pass additional app details such as name, and version if these values have not already been previously set. For example:
ga('send', 'exception', {
'exDescription': 'DatabaseError',
'exFatal': false,
'appName', 'myApp',
'appVersion', '1.0'
});
See the Exceptions Field Reference for details on fields related to exception tracking.
Example
You typically send exceptions for which you've defined exception handling code. In the example below, an exception is sent when a configuration value has been requested but does not exist:
// The following is an example function that illustrates how to send an
// exception to Google Analytics.
/**
* Returns the requested configuration setting from the global config.
* @param {string} settingsGroup Group from which to retrieve the setting.
* @param {string} settingName The configuration setting to retrieve.
* @return {string|undefined} The configuration setting or undefined if it
* does not exist.
**/
function getConfigSetting(settingsGroup, settingName) {
try {
return configSettings[settingsGroup][settingName]
} catch (err) {
// Send the exception to Google Analytics.
ga('send', 'exception', {
'exDescription': err.message,
'exFatal': true,
'appName': APP_NAME,
'appVersion', APP_VERSION
});
}
return;
}