2017-06-29 41 views
1

我需要將Google事件跟蹤添加到整個網站的所有表單中。我在我的函數文件下面的代碼:Gravity Forms的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文件中偵聽提交內容,然後檢查後驗證錯誤。事情是這樣的:

//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/

似乎並不像它會跟蹤所有上述活動的,但可以考慮。

相關問題