gpt4 book ai didi

javascript - 为什么我的 Ajax 表单提交目标没有被跟踪?

转载 作者:行者123 更新时间:2023-12-02 17:12:08 25 4
gpt4 key购买 nike

我正在尝试在提交有效的 ajax 表单后提交目标事件。

我正在使用analytics.js并且已经创建了目标,但这是我第一次尝试实现目标,所以我可能会错过一些关键的东西。表单验证并正确提交,它只是没有跟踪谷歌分析中的目标。

我的整个表单函数如下,但问题区域一定是:

// custom event for google analyics
$(document).on('formSuccess', function() {
ga('send','event','form','submission');
})

我的目标,因为它在 GA 中的设置是:

Category:'form'    
Action: 'submission'
Label: blank
Value: blank
Use the Event value as the Goal Value for the conversion: Yes

当我验证时,我的转化率为 0%。是否可以验证 ajax 表单?

我很早就有一个“formSuccess”的事件监听器,如果response.success为true,我就会在ajax.success中触发该事件。顺便说一句,其他一切都工作正常。

<小时/>
REA.mailForm = function() {
var formId = '#tour-form';

// custom event for google analyics
$(document).on('formSuccess', function() {
ga('send','event','form','submission');
})

$(formId).submit(function(e) {

e.preventDefault();

var firstName = $(formId+' #first-name').val();
var lastName = $(formId+' #last-name').val();
var phone = $(formId+' #phone').val();
var email = $(formId+' #email').val();
var datePicker = $(formId+' #date-picker').val();
var timePicker = $(formId+' #time-picker').val();
var referral = $(formId+' #referral option:selected' ).val();
var formData = {};
var alertElement = $(formId+' .alert');

alertElement.removeClass('alert-success alert-danger');

var alertClass = '';
var alertText = '';
var showAlert = function(alertClass, alertText) {
alertElement
.addClass(alertClass)
.show()
.find('.alert-text').text(alertText);

};

// super basic validation
// if((firstName && lastName && phone && email) !== '') {
// prepare each form field for php form processing
formData.firstName = firstName;
formData.lastName = lastName;
formData.phone = phone;
formData.email = email;
formData.datePicker = datePicker;
formData.timePicker = timePicker;
formData.referral = referral;
formData.website = window.location.pathname;

// send data and examine response
$.ajax({
type: 'POST',
url: 'process.php',
data: formData,
success: function(data) {
var response = JSON.parse(data);
if(response.failure){
alertClass = 'alert-danger';

for (var key in response) {
alertText += response[key]+'\n';
}

} else if(response.success) {
alertClass = 'alert-success';
alertText = response.success;
REA.clearForm(formId);
// custom event for analytics
$(document).trigger('formSuccess');
}

showAlert(alertClass, alertText);
},
error: function() {
showAlert('alert-danger', 'Sorry. Something went wrong. Your message was not received.');
}
});

var timer = setTimeout(function() {
clearTimeout(timer);
alertElement
.removeClass('alert-success alert-danger')
.hide()
.find('.alert-text').text('');
}, 10000);

return false;
// }
});
}

最佳答案

事实证明,只需要大约 24 小时即可收集数据并将其填充到分析中。从来没有任何问题。

关于javascript - 为什么我的 Ajax 表单提交目标没有被跟踪?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24741433/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com