Tracking form submissions
You can track when visitors submit forms on your site — such as contact forms, newsletter signups, or lead generation forms — by firing a custom event on form submission.
How it works
Listen for the submit event on your form and call gmTrackEvent. Place this script before the closing </body> tag and after your GoodMetrics tracking script.
Tracking a specific form
Add an id to your form, then listen for its submit event:
<form id="contact-form" action="/submit" method="POST">
<input type="text" name="name" placeholder="Name" />
<input type="email" name="email" placeholder="Email" />
<button type="submit">Send</button>
</form>
<script>
document.getElementById('contact-form').addEventListener('submit', function() {
gmTrackEvent('Contact Form Submission');
});
</script>
Tracking multiple forms
If you have several forms on your site, you can use a class or data attribute to track them:
<form class="gm-track-form" data-gm-event="Newsletter Signup">
<input type="email" name="email" placeholder="Email" />
<button type="submit">Subscribe</button>
</form>
<script>
document.querySelectorAll('.gm-track-form').forEach(function(form) {
form.addEventListener('submit', function() {
var eventName = form.getAttribute('data-gm-event');
if (eventName && typeof gmTrackEvent === 'function') {
gmTrackEvent(eventName);
}
});
});
</script>
Each form can trigger a different event by using a unique data-gm-event value.