2017-06-29 9 views
1

Googleイベントトラッキングをウェブサイトのすべてのフォームに追加する必要があります。Gravityフォームの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へのリダイレクト条件文を持っている:私は私の機能で、次のコードのファイルを持っています。これらのフォームでは、私はちょうど赤色の回転アイコンを取得し、ユーザーはリダイレクトされません。

私は同じ結果を達成するために使用できるより優れた機能やフックがありますか?私は明らかに理由でプラグインの使用量を制限したいので、手動でこれをやりたいのです。

答えて

0

あなたのメインのJavaScriptファイルに投稿を聞いて、それ以降の検証エラーをチェックすることができます。このような何か:それは上記のすべてのイベントを追跡するだろうが、と考えることができるように

https://wordpress.org/plugins/gravity-forms-google-analytics-event-tracking/は思えません:

//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のプラグインもあります。

関連する問題