我有一个Google AdWords转换触发事件事件。
我的问题是,提交表单时,我想触发gtag_report_conversion函数。
但是,提交表单后,它将自动重定向到该表单所在的页面(新页面加载),因此它不会运行gtag_report_conversion()函数。
而且我无法在表单提交之前运行gtag_report_conversion,因为该函数需要一个参数(URL),它将重定向到该参数,因此我丢失了表单提交。
我不确定通常如何进行。
谢谢您的时间
触发的AdWords事件。
function gtag_report_conversion(url) {
var callback = function () {
if (typeof(url) != 'undefined') {
window.location = url;
}
};
gtag('event', 'conversion', {
'send_to': 'AW-834801494/Yv1GCMfi3pYBENaeiI4D',
'event_callback': callback
});
return false;
}
自定义表单验证(检查字段是否为空,否则提交表单。如果为空,则e.preventdefault并显示错误)
const formValidationSubmit = ( elementId ) => {
document.getElementById( elementId ).addEventListener( "submit", function ( e ) {
allErrorMessages = document.querySelectorAll( ".help-inline" );
allErrorMessages.forEach( function ( message ) {
message.style = "display: none";
} );
let errors = [];
const addError = errors => {
errors.forEach( function ( error ) {
let errorElement = document.getElementById( error + "-error" );
errorElement.style = "display: block;";
} );
};
const housingName = document.getElementById( "property-type-" + elementId );
if ( housingName.classList.contains( "showName" ) ) {
if ( housingName.value.length === 0 || "" ) {
errors.push( housingName.id );
e.preventDefault();
}
}
let firstName = document.getElementById( "first_name-" + elementId );
let lastName = document.getElementById( "last_name-" + elementId );
let phone = document.getElementById( "phone-" + elementId );
let email = document.getElementById( "email-" + elementId );
let street = document.getElementById( "street-" + elementId );
let zip = document.getElementById( "zip-" + elementId );
const validateInput = ( input ) => {
if ( input.value.length <= 0 || "" ) {
errors.push( input.id );
}
};
validateInput( firstName );
validateInput( lastName );
validateInput( phone );
validateInput( email );
validateInput( street );
validateInput( zip );
addError( errors );
} );
您通常用于电话跟踪的转换代码,您到底想跟踪什么,并且您有重定向页面的示例,因为该页面上可能会出现一些可用于触发转换标签的内容