问题描述
试图找出通过GTM添加自定义fb事件的最佳方法,该事件可跟踪某人何时开始填写付款表格。我发现的唯一用于表单跟踪的信息是基于表单提交的。有谁对我如何实现这一目标有任何见识?
我的想法是:
- 跟踪付款表单中的输入区域是否为空
- 跟踪输入区域内的点击次数
- 在输入字段中跟踪onkeyup事件
感谢您的帮助!
解决方法
要跟踪用户何时开始填写表单,您可以使用一个表单级事件监听器,该监听器在首次调用时将自身删除(因此仅触发一次)。
这是一个小例子:
var myForm = document.querySelector('#my-form');
var handleFirstInputEvent = function(event) {
// call the Facebook pixel here
// this line shows that the function only runs once
document.querySelector('#output').innerHTML = new Date();
// make sure the function is only called once
myForm.removeEventListener('input',handleFirstInputEvent);
}
myForm.addEventListener('input',handleFirstInputEvent);
<form id="my-form">
<input type="text">
<select>
<option>1</option>
<option>2</option>
</select>
</form>
<div id="output"></div>
如果您还想知道某人何时开始填写表格但不提交,可以使用上述“ {input}”事件和window.beforeunload的组合。