2

我想使用 Google 跟踪代码管理器跟踪此页面上成功提交的表单,为此我需要在用户提交表单时触发自定义 JavaScript 事件。

<script>dataLayer.push({'event':'formSubmitted'});</script>

我使用的插件是Ninja Forms,据我所知,它使用 PHP 或 AJAX 来处理表单。

我最好的猜测是我需要在 ninja-forms\includes\actions 中的 SuccessMessage.php 文件中的某处添加我的 dataLayer.push 事件(您可以下载插件并查看内部),但我不确定在哪里或 ho .

或许那不是

谢谢

4

2 回答 2

0

您可以更改成功消息的 HTML 吗?如果是这样,我建议将您的 JavaScript 片段放在那里。

如果这不起作用,您可以将其添加到 jQuery.ajax Post 的成功函数中的 front-end.js 文件中:

   jQuery.ajax({
                url: nfFrontEnd.adminAjax,
                type: "POST",
                data: l,
                cache: !1,
                success: function(t, i, n) {
                    try {
                        dataLayer.push({'event':'formSubmitted'}); //<- YOUR CODE HERE
                        var r = jQuery.parseJSON(t);
                            nfRadio.channel("forms").trigger("submit:response", r, i, n, e.get("id")),
                            nfRadio.channel("form-" + e.get("id")).trigger("submit:response", r, i, n)
                        } catch (o) {
                            console.log("Parse Error")
                        }
                    },
                    error: function(e, t, i) {
                        console.log("ERRORS: " + t),
                        nfRadio.channel("forms").trigger("submit:response", "error", t, e, i)
                    }
                })
于 2016-10-31T17:13:07.817 回答
0
nfRadio.channel("forms").on('submit:response', function(e) {

       console.log('submit');
       dataLayer.push({'event': 'test'});
});
于 2017-03-28T07:19:34.470 回答