这是一个基本的"问题,但知道有一个更大的技术块。我一直在四处寻找并且找不到类似的问题。
方案: 我有一个表单,它是响应式网站的一部分,它将桌面和移动表单填充作为转换发送到Adwords。
桌面和移动设备的表单相同,因此只有一个"提交"但是,我想知道它是移动表单提交还是桌面表单提交,因此Google Analytics只能跟踪其中一个,对吧?我用" m_form_submit"用于移动和" d_form_submit"用于桌面。
所以我想我的问题是: 有没有办法可以在单个元素上跟踪2个(或更多个)GA事件,而不会让用户同时触发这两个事件?
理想情况:告诉GA我想为移动设备提供此事件,为桌面提供 事件吗?
答案 0 :(得分:2)
您使用" jQuery"标记了此问题所以我假设您正在使用jQuery来监听表单提交,然后将事件发送给GA。
您只需要发送与移动或桌面版相关联的事件,只需在发送前进行简单的条件检查:
$('#myform').one('submit', function(e) {
// Prevent form from submitting, and then submit once the GA hit succeeds.
e.preventDefault();
// Change this to whatever you're using to determine what "mobile" is.
var mobile = '(max-width: 600px)';
if (window.matchMedia && window.matchMedia(mobile).matches) {
// Send mobile event.
ga('send', {
hitType: 'event',
eventCategory: 'Form Indentifier',
eventAction: 'submit',
eventLabel: 'mobile label...',
hitCallback: afterHitSucceeds
});
}
else {
// Send desktop event.
ga('send', {
hitType: 'event',
eventCategory: 'Form Indentifier',
eventAction: 'submit',
eventLabel: 'desktop label...',
hitCallback: afterHitSucceeds
});
}
// Once the GA hit succeeds, submit the form.
function afterHitSucceeds() {
$('#myform').submit();
}
});
此函数使用window.matchMedia
来确定特定媒体查询是否匹配(允许您匹配CSS文件中的@media
规则)。
如果传递的媒体匹配,将发送移动事件,如果传递的媒体不匹配(或浏览器不支持),将发送桌面事件。请注意,几乎所有移动浏览器都支持matchMedia
,因此回到桌面活动是一种安全的方式。