_trackEvent
and _trackPageview
work by making a tracking pixel request to the Google servers -- you could be running into a timing problem where the image request is canceled because of a request for rendering a new page. A common solution is to delay the form submission a small amount after the tracking call.
Using jQuery, something like:
jQuery(function($){
$('#constant-contact-signup2 input[type=submit]').click(function(e){
e.preventDefault();
_gaq.push(['_trackEvent', 'Button', 'Click']);
setTimeout(function(){$('#constant-contact-signup2').submit()}, 150);
});
})