我正在帮朋友在SquareSpace上设置网站。我已设置Google跟踪代码管理器(GTM)以自动跟踪表单提交和链接点击(使用自动侦听器)。
但是,SquareSpace中的表单不适用于GTM中的表单侦听器(显然是由于在代码中的onSubmit处理程序中使用了return false,请参阅https://productforums.google.com/forum/#!topic/tag-manager/Vlro87_GOVY)
我一直在努力寻找另一种方法来完成这项工作(当谈到JS时,我非常感到愚蠢,我很害怕,但我还在尝试我最好的。)
我还尝试在我的页脚中实现此答案中提到的代码:http://answers.squarespace.com/questions/7450/how-can-i-track-form-submissions-in-google-analytics,没有任何事件出现在GA中。应该注意的是,我使用的是Universal Analytics,而不是旧的GA - 因此不使用SquareSpace中的GA字段,因为它只支持旧的Google Analytics。 GA代码通过Google跟踪代码管理器(GTM)添加到我的网站。
有没有人知道解决方法?例如,我可以在提交表单后添加一些自定义JS代码来触发,它会通过我的DataLayer将数据发送到GTM吗?
请注意,在SquareSpace中,您无法更改表单本身的代码(这会使事情变得更容易),但您可以添加一些将在提交表单后加载的html。
这是我迄今为止所尝试过的:
1)将以下内容添加到我的页脚部分
<!-- Form Submit tracking -->
<script>
Y.use('node', function() {
Y.on('domready', function() {
Y.all('.form-block').each(function(n) {
var d = n.getData('block-json');
d = Y.JSON.parse(d);
n.one('form').on('submit',function() {
_gaq.push(['_trackEvent', d.formName + ' Submission', 'Form Submission', 'Submit']);
});
});
});
});
</script>
<!-- Form Submit Tracking END -->
2)将其添加到页脚:
<!-- Form Submit tracking -->
<script>
Y.use('node', function() {
Y.on('domready', function() {
Y.all('.form-block').each(function(n) {
var d = n.getData('block-json');
d = Y.JSON.parse(d);
n.one('form').on('submit',function() {
dataLayer.push({
'label': 'Get The Bundle',
'action': 'Submit',
'event': 'SS Form Submit'
});
});
});
});
});
</script>
<!-- Form Submit Tracking END -->
3)在提交表单后将此代码添加到自定义HTML字段:
<script onload="loadGTM()">
</script>
<script type="text/javascript">
function loadGTM() {
dataLayer.push({
'label': 'Get The Bundle',
'action': 'Submit',
'event': 'SS Form Submit'
});
}
</script>
我真的希望有人可以帮助我指出正确的方向。我确信必须有其他人尝试做类似的事情,也可以从中受益。
谢谢! :)
答案 0 :(得分:0)
这很好。
现在在GTM中,通过触发器监听事件。然后创建一个GTM标签以将触发器发布到GA。