Google跟踪Gravity Forms的代码

时间:2017-06-29 09:27:14

标签: php wordpress google-analytics gravity-forms-plugin

我需要将Google事件跟踪添加到我网站的所有表单中。我的函数文件中有以下代码:

add_action("gform_after_submission", "gf_ga_tracking", 10, 2);
function gf_ga_tracking($entry, $form) {
?>
<script type="text/javascript">
jQuery(document).ready(function($) {
_gaq.push(['_trackEvent', 'Forms', 'Submission', '<?php echo $form["title"]; ?>']);
});
</script>
<?php }

此代码仅适用于使用Ajax文本确认的表单,但是我的某些表单具有条件,可以将其重定向到PDF以供下载。在这些表格中,我只是得到红色旋转图标,用户没有被重定向。

我可以使用更好的功能或挂钩来达到相同的效果吗?我想限制使用插件的数量,原因很明显,所以我想手动完成。

1 个答案:

答案 0 :(得分:0)

您可以在主JavaScript文件中侦听提交内容,然后检查词后的验证错误。像这样:

//On load validation error
if ( jQuery('div.validation_error').length != 0 ){
    ga('send', 'event', 'Gravity Form', 'Validation Error',     jQuery('.gform_wrapper').find('form').attr('id'));
}

//AJAX Validation Errors
jQuery(document).on('gform_post_render', function(e, form_id){
    if ( jQuery('div.validation_error').length != 0 ){
        ga('send', 'event', 'Gravity Form', 'Validation Error', form_id);
    }
});

//Next/Prev page loaded
jQuery(document).on('gform_page_loaded', function(e, form_id, current_page){
    ga('send', 'event', 'Gravity Form', 'Next/Prev Page', form_id + ' (' + current_page + ')');
});

//Submission attempt
jQuery(document).on('submit', '.gform_wrapper form', function(){
    ga('send', 'event', 'Gravity Form', 'Submit (Attempt)', jQuery('.gform_wrapper').find('form').attr('id'));
});

//Successful form submission
jQuery(document).on("gform_confirmation_loaded", function(e, form_id){
    ga('send', 'event', 'Gravity Form', 'Submit (Success)', form_id);
});

还有一个WordPress插件(我还没有用过):https://wordpress.org/plugins/gravity-forms-google-analytics-event-tracking/

似乎不会跟踪上述所有事件,但可以考虑。