facebook - Facebook 自定义像素事件 - 跟踪开始填写表格但未提交的人
问题描述
试图找出通过 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>
如果您还想知道某人何时开始填写表单但未提交,您可以使用上面的“第一次输入”事件和window.beforeunload的组合。
推荐阅读
- javascript - 底部粘性菜单可以滚动第一个屏幕
- android - TalkBack 可访问性 StaggeredGridLayoutManager 焦点顺序错误
- angular - PrimeNG:“p-table”不是已知元素
- python - 将 print 与 open= 一起使用
- javascript - JavaScript 在 Anki 2.0 版本中有效,但在 2.1 版本中无效
- php - 调试本地 Symfony 服务器并非在所有地方都有效
- javascript - 谷歌地图 javascript api 更新标记
- python - Element.text 数据丢失
- extjs - 如何在 Ext.Component ExtJS 中显示存储中的数据
- regex - regexp tcl 搜索变量