A contact button can receive plenty of clicks while the business receives very few enquiries. The useful question is whether a visitor completed the form and the website accepted the message. For a WordPress service business, that distinction determines whether analytics helps you make better decisions or simply produces a reassuring chart.
This guide explains how to define, implement and test a contact-form event in Google Analytics 4. It is a measurement plan for business websites, with a specific Contact Form 7 example. Official documentation checked on 6 November 2026.
Start by agreeing what a successful enquiry means
Write a plain-language rule before opening Google Tag Manager: “Count this enquiry when the contact system confirms that it accepted this submission.” Then identify where that confirmation happens. A custom form might return a successful API response after saving a record. A WordPress plugin might expose a documented success event. A dedicated thank-you page may be suitable if visitors can only reach it after completion.
Keep a separate operational check for whether the team actually receives or retrieves the message. A browser event alone cannot establish that a salesperson read an email. If enquiries are saved, compare a controlled test against that record. If the form relies on email, check the delivery path as well.
Give the business a short measurement specification: which form qualifies, which outcome triggers the event, who receives enquiries, and which installation sends the analytics event. This becomes a useful handover document when another developer maintains the website.
Choose one lead event and one implementation
Google documents generate_lead as a recommended event for a newly generated lead, including a lead created through a form. Use it consistently for the enquiry outcome you defined. Google also supports monetary value and currency parameters. Only assign a value when the business has a defensible method; if you supply a monetary value, include its currency. See the official recommended-event reference.
Automatic form measurement can help describe engagement, but check what it actually observes on your form. Google's enhanced-measurement documentation lists form_start and form_submit. A general submission event is not, by itself, evidence that your particular backend saved an enquiry. Test the relationship rather than assuming it.
Choose a single route for the confirmed lead: a plugin integration, a Google Tag Manager tag, or developer code. Inventory existing integrations first. A second implementation can send another event for the same submission even when both configurations look reasonable in isolation.
Use the form's documented success signal
For an AJAX-enabled Contact Form 7 installation, the plugin documents different events for invalid input, suspected spam, failed mail, and sent mail. Its wpcf7submit event runs regardless of those outcomes. For a mail-success definition, a developer can listen for wpcf7mailsent, restrict the handler to the intended contact form ID, and send the lead event from that handler. Follow the Contact Form 7 DOM-event documentation.
That signal means the plugin reports mail sent; it does not prove inbox delivery or a saved database record. If your business definition requires storage, use and test the relevant storage confirmation instead. Other form plugins have different interfaces, so do not paste this event name into an unrelated form setup.
A thank-you-page implementation needs its own checks. Open the URL directly and refresh it after a submission. If those actions create additional leads, the setup measures page visits rather than reliably counting completed enquiries. Use the form's confirmed result or add an appropriate completion guard.
Keep message content out of ordinary analytics events
For this basic reporting setup, send only fixed, non-personal labels such as a form identifier or form type. Leave the visitor's name, email, telephone number and message in the contact system. Also inspect the page URL, page title, redirect destination and any configured link parameters for personal information.
Google's guidance on avoiding personally identifiable information explains that personal details can leak through URLs and form fields. Do not append an email address to a thank-you URL simply to make testing convenient. Keep the analytics implementation consistent with the site's privacy notice and applicable consent choices; do not bypass a visitor's selection to make an event appear.
Run a small acceptance test before trusting the report
Use harmless test details and tell whoever receives enquiries that you are checking the form. Record the expected and observed outcome for each case:
- Valid submission: confirm the message reaches the intended system, then expect one lead event from the chosen implementation.
- Missing required field: expect validation feedback and no confirmed lead.
- Controlled failure: on staging, simulate the form's error response and confirm it does not count as success.
- Retry and refresh: check that refreshing a confirmation screen does not report a second completion for the first submission.
- Phone test: submit from a real mobile browser and verify the same path, including the visible success message.
Use Google Analytics DebugView to inspect event names and parameters in a test session, then check Realtime. Google's verification guide describes both tools and notes that standard reports need processing time. If an event is missing, inspect the trigger, tag destination, consent state and browser blocking before changing unrelated settings.
Turn the verified event into a business measure
Once the event behaves correctly, mark the intended event as a key event in the appropriate GA4 property. Follow Google's event and key-event setup instructions. Keep search boxes, newsletter signups and contact enquiries separate where they represent different business outcomes.
Review analytics alongside the enquiry log, using the same date range and time zone. Differences can come from consent, blocked requests, spam filtering, tests or implementation errors. Investigate a discrepancy before changing advertising spend. A recorded enquiry is still not a qualified opportunity: the business needs a follow-up process to determine fit.
For related operational checks, read the guide to missing order emails or testing connected business workflows. Need help tracing your own form from submission to a useful report? Tell me which form you use and what you want to measure.
