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
Section titled “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
Section titled “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
Section titled “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.