訪問者がAJAXお問い合わせフォームの送信ボタンをクリックするたびに追跡したいと思います。Google Analyticsでイベントを作成し、送信ボタンのコードにJavaScriptを追加する予定です。
これは現在の送信ボタンコードです:
<button class="button" title="Send" type="submit"><span><span>Send</span></span></button>
カテゴリやアクションなどを追加した後のコードは次のようになります。
<button class="button" title="Send" type="submit" onClick="_gaq.push(['_trackEvent', 'Contact', 'Inquiry', 'Inquiry Form', 0, false]);"><span><span>Send</span></span></button>
これは正しいです?助言がありますか?ありがとう!
更新-これは、ある種のフォーム検証が表示されるjavascriptです。Crayon Violentが提案したように、失敗したフォーム送信の追跡は避けたいと思います。ここで問題となるのは、成功したフォームの送信のみを追跡できるように、GoogleAnalyticsコードをどこに追加するかです。注:サイト所有者のプライバシーを保護するために、ドメイン/ブランドを「XXXXXX」に置き換えました。また、2つのフォームへの参照があることに注意してください。1つは連絡フォームで、もう1つは求職者が履歴書を送信するためのフォームです。はい、同じページに両方のフォームを含めて同時に表示するのは少し面倒ですが、ユーザーを混乱させる可能性がありますが、そのビットは私に依存していません:(
<script type="text/javascript">
//<![CDATA[
var contactForm = new VarienForm('contactForm', true);
var contactFormCv = new VarienForm('contactFormCv', true);
jQuery(function(){
jQuery('#contactForm input, #contactForm textarea').each(function(){
jQuery(this).focus(function(){
jQuery(this).css({'background-position': '1000px 1000px'});
}).blur(function(){
if(jQuery(this).val() == ''){
jQuery(this).css({'background-position': '5px 9px'});
}
});
});
jQuery('#contactForm').submit(function(){
jQuery('.form-column .message', form).remove();
var form = jQuery(this);
var message = jQuery('<div class="message"></div>');
jQuery('.form-column', form).append(message);
if(contactForm.validator.validate()){
jQuery(message).html('<img src="http://www.XXXXXX.com/skin/frontend/np/XXXXXX/images/XXXXXX/sending-contact.gif" />');
var data = '';
jQuery('input, select, textarea', this).each(function(){
var name = jQuery(this).attr('name');
var val = jQuery(this).val();
data = data+name+'='+val+'&';
});
jQuery.ajax({
type: "POST",
url: jQuery(this).attr('action'),
data: data,
success: function(data){
if(data == 'true'){
jQuery('input, select, textarea', form).val('').css({'background-position': '5px 9px'});
jQuery(message).html('Mensaje enviado.');
}
}
});
}
return false;
});
var iframe = jQuery('<iframe></iframe>').attr({id: 'uploadcv', name: 'uploadcv', scrolling: 'none', frameborder: 0}).addClass('uploadcv').css({height: 0, width: 0, border: 0, display: 'none'});
jQuery('#contactFormCv').attr({target: 'uploadcv'}).submit(function(){
var form = jQuery(this);
var message = jQuery('<div class="message"></div>');
form.after().append(message);
if(contactFormCv.validator.validate()){
jQuery(message).html('<img src="http://www.XXXXXX.com/skin/frontend/np/XXXXXX/images/XXXXXX/sending-contact.gif" />');
iframe.load(function(){
jQuery('input, select', form).val('');
jQuery(message).html('Mensaje enviado.');
});
}
}).after().append(iframe);
});
//]]>