Javascript 谷歌分析可以用来衡量动态表单的使用情况吗?
我们开发了一个基于web的应用程序,用户可以将科学数据输入到动态表单中,并在表单输入发生变化时动态生成结果 因为表单是动态的,所以用户可以在表单上花费很多时间,而无需重新加载页面 我们的客户想知道每个用户对表单进行了多少调整,以衡量使用情况和参与度 我们已经有了一个Javascript计数器,它记录了对表单所做更改的数量 他们还问我们是否可以测量有多少字段被更改(我们可以通过Javascript进行测量)Javascript 谷歌分析可以用来衡量动态表单的使用情况吗?,javascript,forms,google-analytics,Javascript,Forms,Google Analytics,我们开发了一个基于web的应用程序,用户可以将科学数据输入到动态表单中,并在表单输入发生变化时动态生成结果 因为表单是动态的,所以用户可以在表单上花费很多时间,而无需重新加载页面 我们的客户想知道每个用户对表单进行了多少调整,以衡量使用情况和参与度 我们已经有了一个Javascript计数器,它记录了对表单所做更改的数量 他们还问我们是否可以测量有多少字段被更改(我们可以通过Javascript进行测量) 是否可以在Google Analytics中记录动态表单的使用情况?最好的方法是什么?是的
是否可以在Google Analytics中记录动态表单的使用情况?最好的方法是什么?是的,如果您可以在每次更改中添加一点Javascript 如果您碰巧使用Google标记管理器,您可以将事件对象推送到数据层并侦听这些对象,然后触发GA事件标记 如果您没有GTM,那么只要在发生更改时硬编码GA事件即可 除非您不能对每个事件发送的Javascript有任何发言权 Google Tag Manager(GTM)事件示例: 然后,您将告诉GTM侦听值为“form_change”的自定义事件
是否有可能访问相关站点进行查看?有链接吗?您可以使用
onclick
或onchange
触发事件来向GA发送上下文更改事件。我发现使用助手函数来实现这一点很有用
此函数应放置在
中,并应填充相关表单名称和上下文(此
)
在上述示例中,每次更改文本字段或选择字段或单击复选框或单选按钮时,都将调用具有以下结构的事件:
- 类别:表格
- 操作:
{{formname}
- 标签:
:{{element name/id}}
{{{element type}}
dataLayer.push({
'event': 'form_change',
'eventCategory': 'forms',
'eventAction': [e.g. form name e.g. newsletter sign up],
'eventLabel': [type of change e.g. field value after change]
})
<script>
// helper function to trigger a Data Layer Form Event
analyticsForm = function(f, el) {
var formName = f;
var elName = el.name || el.id || el.type;
var category = 'interaction';
var action = 'form: ' + formName;
var label = elName + ':' + el.type;
// GA method of sending the event
ga('send', 'event', category, action, label);
// GTM method of sending the event
window.dataLayer.push({
'event': 'event',
'category': category,
'action': action,
'label': label
});
}
</script>
<form>
<input type="text" name="field1Name" onchange="analyticsForm('formName', this)">
<input type="text" name="field2Name" onchange="analyticsForm('formName', this)">
<select name="field3Name" onchange="analyticsForm('formName', this)">
<option value=""> </option>
<option value="A">A </option>
<option value="B">B </option>
<option value="C">C </option>
</select>
<input type="checkbox" name="agree" value="false" class="checkbox" onclick="analyticsForm('formName', this)">
</form>