当我尝试在Google Analytics中设置appVersion时,我的事件跟踪就会停止工作。具体来说,我尝试将应用版本包含在事件跟踪中,以便了解该应用的哪个版本会导致事件发生。
我尝试过像这样设置应用版本:
ga('set', 'appVersion', app.version);
我试过这样的事:
ga('send',
'event',
eventCategory,
eventAction,
{'page': pageName, 'appVersion' : app.version });
我还尝试了替代语法:
ga('send',
{'hitType' : 'event',
'eventCategory' : eventCategory,
'eventAction' : eventAction,
'page' : pageName,
'appVersion' : app.version});
如果我包含appVersion,则事件跟踪会停止工作。没有事件实时显示,并且第二天没有在“行为/事件”部分显示。 PageViews仍然有用。
根据评论中的要求,我正在编辑以添加我的事件跟踪代码。我尝试解决这个问题时经历了几个变化。这是目前的样子。
var app = {
trackEvent: function (pageName, eventCategory, eventAction, optionalEventLabel, optionalEventValue) {
var eventObject = {
'eventCategory' : eventCategory,
'eventAction' : eventAction,
'optionalEventLabel' : optionalEventLabel,
'optionalEventValue' : optionalEventValue,
'page' : pageName,
};
console.log("app.trackEvent - " + JSON.stringify(eventObject));
ga('send', 'event', eventObject);
}
}
我使用类似的调用从很多地方调用此方法:
app.trackEvent("PageNameValue", "EventCategoryValue", "EventActionValue", "EventLabelValueIfIHaveOne", AnIntegerValueIfIHaveOne);
非常感谢任何帮助或建议。
修改... 我发现了以下似乎适用的错误报告:https://code.google.com/p/analytics-issues/issues/detail?id=366 bug报告者提到通过设置自定义维度来解决此问题。我会尝试一下。
答案 0 :(得分:5)
这似乎是Google Analytics漏洞。有关详细信息,请参阅https://code.google.com/p/analytics-issues/issues/detail?id=366。
根据错误报告人的建议,解决方法是使用您在Google Analytics控制台的“管理/自定义定义/自定义维度”部分中定义的自定义维度。
var dimensionValue = 'SOME_DIMENSION_VALUE';
ga('set', 'dimension1', dimensionValue);
代码示例中唯一需要更改的是' dimensionValue'的值。所以我最终得到了以下代码。
ga('create', 'UA-########-#', 'auto');
ga('set', 'checkProtocolTask', null); // Disable file protocol checking (so that GA will work on Android devices)
ga('set', 'dimension1', app.version);
ga('send', 'pageview');
在此之后,自定义维度将应用于Google Analytics记录的每个匹配,您可以使用该自定义维度在Google Analytics控制台中过滤结果。
答案 1 :(得分:3)
根据谷歌
由于appName字段必须与所有应用程序匹配一起发送,因此通常是这样 最好使用set命令在跟踪器上设置该字段,或者 或者,当创建跟踪器时:
ga('create', 'UA-XXXXX-Y', 'auto', {
'appName': 'myAppName'
});
// The `appName` field is now set on the tracker, so
// screenview hits don't need to include it.
ga('send', 'screenview', {appVersion: '1.2'});
// Sending multiple parameters
ga('send', 'screenview', {appName: 'com.company.app', appVersion: '1.2'});
更多信息here
答案 2 :(得分:0)
如果您至少设置了“ appName”,它会起作用,这是在设置“ appVersion”之前先设置“ appName”和“ appId”的一种好习惯。
ga('set', 'appId', app.id);
ga('set', 'appName', app.id);
ga('set', 'appVersion', app.version);