Forums » Developers

Manual goal logging and preventDefault()

If we have a JS form handler that uses preventDefault on the form submission (so we can't use "onclick" as far as I know), what's the best way to manually track a goal associated with the form submit?

The preventDefault() is used to validate the form first & then trigger 'submit'. Tried using "onsubmit" in the form without success.

And does it matter that we're using the asynchronous version of the Clicky tracking code? The action being tracked is a form submission - so, highly unlikely that it would occur prior to the Clicky tracking code being loaded.

Posted Tue Jun 24 2014 8:52a by dpmai***

Could you display it with your "Thank You" message for the form submission?

I run dynamic goals this way on most contact forms that I have a "Thank You" or related message that I show after submit. Should still be able to transfer/get data from the form via a POST/GET if that is what you're after?

Posted Tue Jun 24 2014 10:37a by ringo***

Unfortunately there's no thankyou - just a "retURL" attribute that sends them to a web page we don't control.

Posted Tue Jun 24 2014 11:18a by dpmai***

Ah, that complicates things just a bit :)

My suggestion, might take a little time but will work. Add a function in your JS form handler that after fields are validated to trigger Clicky's dynamic goal, then allow submission of the form. Just need to make sure the dynamic goal executes prior to the POST to the external URL.

Example of dynamic goal trigger:

var clicky_custom = {};
clicky_custom.goal = { name: 'Goal Name' };

Posted Tue Jun 24 2014 2p by ringo***

Thanks! Will give that a shot.

Posted Tue Jun 24 2014 2:05p by dpmai***

You must be logged in to your account to post!