Google Universal Analytics有一个hit type of exception
ga('send', 'exception', {
  'exDescription': 'DatabaseError'
});我本以为能够去谷歌分析控制台,找到一个与“事件”相同级别的异常报告,但它却无处可见。
安卓和iOS的API都写着Crash and exception data is available primarily in the Crash and Exceptions report,但我找不到任何使用这个名字的报告。
发布于 2014-02-12 12:21:16
我想通了。我不知道为什么他们不把这作为一个内置的报告,但也许有一天。
我在仪表板中制作了一个自定义小部件,维度为Exception Description,指标为'Crashes‘:

这给了我一个类似这样的报告:

您还可以转到Customization选项卡,创建一个自定义报告,为您提供一个错误表,然后将其添加到您的仪表板。

与此全局异常处理程序一起使用
if (typeof window.onerror == "object")
{
    window.onerror = function (err, url, line)
    {
        if (ga) 
        {
           ga('send', 'exception', {
               'exDescription': line + " " + err
           });
        }
    };
}您可以将此处理程序放在Javascript的初始化中的任何位置-这将取决于您如何配置所有JS文件。或者,您可以将其放在靠近html body标记顶部的<script>标记中。
发布于 2015-02-26 02:31:27
我进一步采用了Simon_Weaver的指南来制作自定义报告,并构建了一个相当完整的Google Analytics自定义异常报告。我觉得它可能值得分享,所以我把它上传到GA "Solutions Gallery“。
我的模板:Google Analytics Exceptions Report
以下是最终结果的图片:

发布于 2017-05-19 05:15:07
这就是我想出来的,所以你不需要把代码放在每一个地方。只需向每个.js文件添加new ErrorHandler();即可。这是为Chrome扩展所做的,但我认为应该适用于任何地方。我在一个单独的文件(因此是app.GA)中实现了实际的ga()内容,但是您也可以在这里烘焙它。
/*
 *  Copyright (c) 2015-2017, Michael A. Updike All rights reserved.
 *  Licensed under the BSD-3-Clause
 *  https://opensource.org/licenses/BSD-3-Clause
 *  https://github.com/opus1269/photo-screen-saver/blob/master/LICENSE.md
 */
// noinspection ThisExpressionReferencesGlobalObjectJS
(function(window, factory) {
    window.ExceptionHandler = factory(window);
}(this, function(window) {
    'use strict';
    return ExceptionHandler;
    /**
     * Log Exceptions with analytics. Include: new ExceptionHandler();<br />
     * at top of every js file
     * @constructor
     * @alias ExceptionHandler
     */
    function ExceptionHandler() {
        if (typeof window.onerror === 'object') {
            // global error handler
            window.onerror = function(message, url, line, col, errObject) {
                if (app && app.GA) {
                    let msg = message;
                    let stack = null;
                    if (errObject && errObject.message && errObject.stack) {
                        msg = errObject.message;
                        stack = errObject.stack;
                    }
                    app.GA.exception(msg, stack);
                }
            };
        }
    }
}));https://stackoverflow.com/questions/21718481
复制相似问题