Google Universal Analytics tiene un tipo de excepción de hit
ga('send', 'exception', {
'exDescription': 'DatabaseError'
});
Esperaba poder ir a la consola de Google Analytics y encontrar un informe de excepción al mismo nivel que 'eventos', sin embargo, no se ve por ninguna parte.
Las API de Android e iOS dicen Crash and exception data is available primarily in the Crash and Exceptions report
pero no puedo encontrar ningún informe con ese nombre.
fuente
Tomé la guía de Simon_Weaver para hacer un informe personalizado unos pasos más y desarrollé un informe de excepciones personalizado de Google Analytics bastante completo. Pensé que valdría la pena compartirlo, así que lo subí a la "Galería de soluciones" de GA.
Mi plantilla: Informe de excepciones de Google Analytics
Aquí hay una imagen del resultado final:
fuente
Solo quería ampliar un poco la excelente respuesta de @Simon_Weaver para proporcionar informes de error con algunos detalles adicionales:
ga()
esté definido antes de intentar llamarlo (ya que se podría desencadenar un error antes de que se cargue la biblioteca de Analytics).window.onerror
devolución de llamada definida previamente ./** * Send JavaScript error information to Google Analytics. * * @param {Window} window A reference to the "window". * @return {void} * @author Philippe Sawicki <https://github.com/philsawicki> */ (function (window) { // Retain a reference to the previous global error handler, in case it has been set: var originalWindowErrorCallback = window.onerror; /** * Log any script error to Google Analytics. * * Third-party scripts without CORS will only provide "Script Error." as an error message. * * @param {String} errorMessage Error message. * @param {String} url URL where error was raised. * @param {Number} lineNumber Line number where error was raised. * @param {Number|undefined} columnNumber Column number for the line where the error occurred. * @param {Object|undefined} errorObject Error Object. * @return {Boolean} When the function returns true, this prevents the * firing of the default event handler. */ window.onerror = function customErrorHandler (errorMessage, url, lineNumber, columnNumber, errorObject) { // Send error details to Google Analytics, if the library is already available: if (typeof ga === 'function') { // In case the "errorObject" is available, use its data, else fallback // on the default "errorMessage" provided: var exceptionDescription = errorMessage; if (typeof errorObject !== 'undefined' && typeof errorObject.message !== 'undefined') { exceptionDescription = errorObject.message; } // Format the message to log to Analytics (might also use "errorObject.stack" if defined): exceptionDescription += ' @ ' + url + ':' + lineNumber + ':' + columnNumber; ga('send', 'exception', { 'exDescription': exceptionDescription, 'exFatal': false, // Some Error types might be considered as fatal. 'appName': 'Application_Name', 'appVersion': '1.0' }); } // If the previous "window.onerror" callback can be called, pass it the data: if (typeof originalWindowErrorCallback === 'function') { return originalWindowErrorCallback(errorMessage, url, lineNumber, columnNumber, errorObject); } // Otherwise, Let the default handler run: return false; }; })(window); // Generate an error, for demonstration purposes: //throw new Error('Crash!');
Editar: como @Simon_Weaver señaló debidamente, Google Analytics ahora tiene documentación sobre el seguimiento de excepciones (a la que debería haberme vinculado en mi respuesta original, ¡lo siento, error de novato!):
fuente
appName
yappVersion
en el objeto de excepción que envía? Creo que tiene que establecer explícitamente los ver aquíEsto es lo que se me ocurrió para que no sea necesario incluir el código en todas partes. Simplemente agregue
new ErrorHandler();
a cada archivo .js. Esto se hizo para una extensión de Chrome, pero creo que debería funcionar en cualquier lugar. Implemento las cosas reales de ga () en un archivo separado (de ahí la aplicación.GA), pero también puedes hornearlo aquí.fuente
Ahora puede encontrar una vista de "Bloqueos y excepciones" en Comportamiento (si la propiedad se crea como una "aplicación móvil" en Google Analytics).
fuente