Start with one useful question

A small website rarely needs a detailed record of every step someone takes through a contact form. The most useful question is often simpler: how many visitors successfully sent an enquiry? A count of successful submissions can help you judge whether people can find and use the form. It cannot tell you why someone contacted you, whether the enquiry was valuable, or whether you replied. Keep those questions separate rather than trying to answer them by putting private correspondence into analytics.

Before adding tracking, write down exactly what the event means. For example: “Count one contact_form_success when the website confirms that it has accepted a submitted form.” That definition is more useful than a vague event called “contact,” which might include page views, clicks, failed attempts and completed enquiries. If your website has several forms with different purposes, give each a fixed form identifier, such as general_contact or project_enquiry. The identifier should describe the form, not the person using it.

Record success, not a button click

A click on “Send” is not proof that a message went through. Required fields might be missing, a network request might fail, or the server might reject the submission. Trigger the success event only after the form receives a successful response. Depending on how your site works, that could be when the server displays a confirmation page or when an in-page form shows its confirmed success state.

Check for duplicate counts, too. Refreshing a confirmation page can record another page view even though no new message was sent. A browser script might also fire twice if it runs both after a successful request and when the confirmation page loads. Choose one place to record the event and test what happens on refresh, retry and double-click. If you cannot reliably distinguish a new submission from a repeated confirmation view, label the measure as confirmation-page views rather than presenting it as an exact submission count.

Send only the data the report needs

For a basic report, an event name and a fixed form identifier may be enough. Do not attach the visitor’s name, email address, phone number, subject line, message text, uploaded file name or a copy of the form payload. Avoid sending a unique submission ID unless you have a clear need for it and understand how it will be retained. Your form-handling system may need contact details to deliver the enquiry; your analytics system generally does not.

Private details can also reach analytics indirectly. Some tools record page addresses, page titles, error messages or custom event properties. A confirmation URL such as /thanks?email=person@example.com would expose information even if your event contains no form fields. Keep submitted values out of URLs and confirmation-page titles. If your analytics setup automatically captures clicks or form interactions, review those settings rather than assuming that a manually configured success event is the only data being collected.

Test the full path before relying on the count

Use a test submission and inspect what your analytics tool actually receives. Check the event name, properties and page address. Confirm that no message text or contact detail appears in the event or in automatically recorded activity. Then try an invalid submission and a simulated failure; neither should register as a success. Repeat the successful test with the confirmation page refreshed so you can spot duplicate counting.

Compare analytics counts with the number of enquiries received by the form-handling system over a short test period. They may not match exactly: a visitor may block analytics, a spam filter may intervene, or one system may count a different stage of the process. The comparison is still useful for finding obvious errors. If the figures diverge, investigate the definition and trigger before treating the analytics report as a definitive total.

Use the measure with its limits in mind

Once the event is dependable, you can look at successful submissions alongside visits to the contact page. This can help you notice a large change after moving a contact link or redesigning the form. It is not a complete conversion rate for the whole site: some visitors contact you by phone or email, and not every contact-page visitor intends to submit a form. Name the measures clearly so a simple dashboard does not imply more certainty than the data supports.

Keep a short note of the event definition, its trigger and the properties it sends. Recheck it whenever you replace the form plugin, change the confirmation flow or adjust analytics settings. That small maintenance habit helps preserve the value of the count while keeping the contents of visitors’ messages where they belong: in the system used to handle their enquiries.

Back to category ↗