This guide explains how to track enquiries in Google Analytics 4 (GA4). By the end, you'll know how to record each enquiry as a key event, how to check that it's working, and how to avoid the mistakes that most often make enquiry numbers misleading. The first method needs no coding at all. If you'd like help at any point, you're welcome to get in touch.
GA4 shows plenty of numbers out of the box: users, sessions, page views. What it won't show, unless someone sets it up, is how many people got in touch, and which pages, channels and campaigns brought them. For that, you need to decide what counts as an enquiry, record it as an event, and tell GA4 that event matters.
Why traffic numbers aren't enough
Traffic tells you people arrived. It doesn't tell you whether they did anything useful once they got there.
Picture two pages on a plumber's website. One gets 2,000 visits a month and no quote requests. The other gets 200 visits and a steady trickle of them. Without enquiry tracking, the busy page looks like the success. With it, you can see which page is doing the work.
That gap is often behind the "plenty of traffic, no enquiries" problem we cover in our guide on why your website gets traffic but no enquiries.
Key events: what GA4 calls the actions that matter
Everything GA4 records is an event: a page view, a scroll, a click. The events that measure actions important to your business are called key events.
If you've used older versions of Google Analytics, this is what used to be called "conversions". Google now keeps the word conversion for Google Ads. You create a conversion from a key event, and you need a linked Google Ads account to do it.
For enquiries, Google recommends its predefined generate_lead event, which it describes as measuring when a lead has been generated, for example through a form. Using Google's recommended name, rather than inventing your own, means GA4 understands the event without extra configuration.
Step 1: Decide exactly what counts as an enquiry
Before changing any settings, write down the actions you want to count. For most small businesses, that list looks something like this:
- A successfully submitted enquiry or quote form. Not a click on the submit button, but a form that actually went through.
- A click on your phone number or email address (more on what these can and can't tell you below).
- A booking made through a scheduling tool, if you use one.
Track each type separately so you can tell them apart in your reports. A bookkeeper, for example, might want to know that a month brought eight form enquiries and three bookings, not just "eleven leads".
Then look at what your form does after someone presses send. That decides which of the two methods below suits you.
Method 1: Track a thank-you page
Best when: your form sends people to a separate confirmation page, such as /thank-you, that they can only reach by submitting the form.
This needs no code and no Tag Manager. In GA4:
1. Go to Admin → Data display → Events.
2. Click Create event.
3. Name the event generate_lead and switch on Mark as key event.
4. Choose Create without code.
5. Set the trigger to the page_view event, with the condition that the page URL matches your confirmation page.
6. Click Create.
One thing not to do: don't simply mark page_view itself as a key event. That would count every page view on your site as an enquiry. Google notes the new setting can take anywhere from a few minutes to a few hours to apply.
Watch out for: confirmation pages people can reach without submitting the form (linked from a menu, bookmarked, or indexed by search engines), and people refreshing the page. Both inflate your numbers. Keep the page out of your site navigation and consider adding a noindex tag.
Method 2: Send a generate_lead event with Google Tag Manager
Best when: your form shows a "thanks, we'll be in touch" message on the same page instead of redirecting. Many modern forms work this way. This method also suits you if you want more control.
It assumes GA4 is already installed through Google Tag Manager with your Measurement ID.
1. Find a reliable success signal. The most dependable option is a small piece of code that runs only after the form has been accepted, pushing an event to the data layer, for example dataLayer.push({event: 'enquiry_success'}). Your developer or form provider can usually add this. If that isn't possible, a trigger based on the success message becoming visible is a reasonable fallback. Avoid triggering on the submit-button click: that also fires when validation fails, such as when someone forgets to fill in their email address.
2. Create a trigger in Tag Manager that fires on that success signal (for a data layer event, a Custom Event trigger named enquiry_success).
3. Create a tag of type Google Analytics: GA4 Event. Enter your Measurement ID and set the event name to generate_lead. You can add an optional lead_source parameter (for example contact_form or quote_form) to tell forms apart. Only add value if you have a meaningful value per lead, and if you set value, you must also set currency.
4. Preview and test (see below), then publish the container.
5. Mark the event as a key event. Once generate_lead appears in GA4 under Admin → Data display → Events, click the star icon next to it. You need Editor access or above to do this.
Never send names, email addresses, phone numbers or message text in event parameters. Google's documentation is explicit that you must make sure no personally identifiable information is collected.
What about GA4's automatic form tracking?
GA4's enhanced measurement can record form_start (the first interaction with a form in a session) and form_submit (when a user submits a form). They're useful signals, but they're generic. A submission event isn't the same as an enquiry your business received, and depending on how a form is built, the automatic event may not match what really happened.
Treat them as background information. Your deliberately configured generate_lead event should be the number you report on.
Phone and email clicks: intent, not outcomes
A click on a phone number (tel: link) or an email address (mailto: link) can be tracked in Tag Manager as its own event, such as phone_click. It's worth recording, as long as you're clear about what it means:
- A phone click shows someone intended to call. It doesn't tell you the call connected, was answered or was a genuine enquiry. On a desktop computer, the click may not lead to a call at all.
- A form-submit click isn't a successful lead either. Only a confirmed submission is.
So report phone and email clicks separately from completed enquiries, rather than adding them together.
GA4 records the click, not the call. If you advertise with Google Ads, it has its own phone call conversion options:
- Calls from ads: calls made directly from call assets, location assets or call-only ads. A call counts when it lasts at least a minimum length you set (in some regions Google can also assess calls using recordings).
- Calls to a number on your website: a short code snippet shows a Google forwarding number in place of your own number to people who arrived from one of your ads, so their calls can be counted, again using a minimum call length.
- Clicks on a number on your mobile website: Google itself notes this tracks clicks on your number, not actual phone calls.
- Imported call conversions: calls you track in another system, such as a CRM, can be imported and matched to Google Ads calls.
These options only cover calls linked to your ads, and Google forwarding numbers are available only in certain countries, so check eligibility for yours. To measure calls from every source, including organic search and repeat visitors, you need a dedicated call-tracking service.
Test before you trust the data
A tracking setup that hasn't been tested is a guess. Before relying on the numbers:
1. In Tag Manager, click Preview. This opens Tag Assistant and puts your browser in debug mode.
2. Submit a real test enquiry, clearly labelled as a test (for example "TEST, please ignore") so whoever reads your inbox knows to ignore it.
3. Confirm your generate_lead tag fired once, and only after the submission succeeded.
4. In GA4, open Admin → Data display → DebugView and check the event arrived.
5. After publishing, use the Realtime report to confirm live key events, then allow up to 24 hours for standard reports.
If your site uses a cookie banner with consent mode, events from a browser that hasn't accepted analytics cookies won't appear in DebugView. Accept analytics cookies in your test browser first, or you may think the setup is broken when it isn't.
Avoid counting the same enquiry twice
Double counting is an easy mistake to make, and it makes results look better than they are. Check that you haven't:
- Created generate_lead from a thank-you page in GA4 and sent generate_lead from Tag Manager for the same form.
- Marked both form_submit and generate_lead as key events for the same action, unless you deliberately want two measures.
- Set the tag to fire on the button click as well as on success.
- Renamed an event that was already a key event without checking it again. Google notes a renamed event is no longer a key event.
Privacy and consent
Analytics tracking is covered by privacy and cookie rules, and those rules vary by country. Many sites use a consent banner together with Google's consent mode, which passes each visitor's consent choices to Google tags. Consent mode doesn't provide the banner itself; you still need one.
For visitors in the European Economic Area, Google's EU user consent policy requires advertisers to collect consent and share consent signals with Google to keep using its tags for ad personalisation and measurement.
We can't tell you which rules apply to your business, so take advice on what fits your own situation and audience.
What to do with the data
Once enquiries are recorded as key events, you can see which pages, channels and campaigns produce them, not just which ones attract visitors.
If you run Google Ads, you can link the accounts and create a conversion from your key event, so campaigns are judged on leads rather than clicks. That's the starting point for working out whether your Google Ads are working, and for paid advertising built around enquiries.
Enquiry data also shows where visitors drop off before getting in touch, which is where user journey optimisation begins.
FAQs
Is GA4's automatic form tracking enough?
Usually not on its own. It records form interactions generically, so it can't confirm that an enquiry was successfully received. Use a dedicated generate_lead key event for reporting.
Do I need Google Tag Manager?
Not always. If your form redirects to a confirmation page, you can create the key event directly in GA4. Tag Manager is useful when forms confirm on the same page, or when you want to track several forms and phone clicks in one place.
Can GA4 track phone calls?
GA4 can record clicks on your phone number, which show intent to call. It can't confirm a call took place. For calls linked to your ads, Google Ads call conversions can count calls above a minimum length, where Google forwarding numbers are available. For calls from all sources, you need a dedicated call-tracking service.
What's the difference between a key event and a conversion?
A key event is an important action measured in GA4. A conversion is the Google Ads version, used for ad measurement and bidding, and it's created from a key event in a linked Google Ads account.
How long before enquiries appear in reports?
Test events appear in DebugView within seconds, and live key events show in Realtime within minutes. Standard reports can take up to 24 hours.
Should I give each enquiry a value?
Only if you can estimate a meaningful one, such as average revenue per lead. If you set a value, you must also set the currency.
Need a hand with enquiry tracking?
Once enquiries are tracked properly, decisions about your website and marketing can be based on what's bringing people in, rather than on traffic alone. If you'd like help setting this up, or a second pair of eyes on how your site records enquiries now, you're welcome to get in touch. You can also see what our analytics and reporting service involves.