Accurate Phone Call & Form Tracking in Google Analytics 4

Call Conversion Tracking in GA4


Hello everyone,
I’m looking for some guidance for setting up phone calls and form submissions as conversions in GA4. 

form_submit’ already appears on my list of Existing Events so I’ve marked it as a conversion, however, upon testing, GA4 did not record a form submission. (I followed a video guide on how to turn it on). Am I missing something? 

Regarding phone calls, they do not appear on my list of Exsiting Events/Conversions so I’ve attempted to create a new one. However, I am not sure how to customise it.

Could somebody please provide some guidance? Has anyone else come across a similar issue that form submissions did not record as conversions in their GA4? 

Many thanks in advance! 
Details
other_google_analytics_questions

Locked

The short answer is:

How can I accurately track phone calls as conversions in GA4?

The inconsistency with your form_submit conversion is likely due to the client-side form submission listener in Google Tag Manager failing to fire because your form is an Asynchronous JavaScript and XML (AJAX) form, or due to validation issues.

You must bypass the unreliable automatic listener by implementing a Custom Event via the Data Layer on the form’s success callback, firing a custom event like generate_lead which you then mark as a conversion in Google Analytics 4.

For phone call tracking, the most robust, privacy-centric, and future-proof solution is a server-side implementation using a hosted Google Tag Manager server container via Stape, which utilizes the Google Analytics Measurement Protocol.

This method allows your web container to pass data to your server container, which then reliably transmits a custom event, such as phone_call_conversion, to GA4, guaranteeing accurate attribution even against browser restrictions, making it highly cost-effective by preserving valuable conversion data.

The long answer is:

The common issue you’re facing where marking the existing form_submit event as a conversion in Google Analytics 4 does not work during testing is often rooted in how modern website forms function.

The built-in Form Submission trigger in Google Tag Manager relies on a standard browser form submission, but many forms today – especially those that display an inline success message without a page reload, often referred to as AJAX forms – prevent the default browser form submission, thus bypassing the listener that fires the GTM trigger and the corresponding form_submit event.

To fix this, you need to work with your development team to implement a Data Layer push on the form’s successful submission callback, which is a method that uses custom code to ensure a reliable event is sent only upon genuine conversion.

For example, the developer would push an event like dataLayer.push({'event': 'form_submission_success', 'form_name': 'contact_us'}); after the form data is successfully validated and sent to the server.

You would then create a Custom Event Trigger in your web GTM container that fires on the Event Name form_submission_success, and this trigger is attached to a new Google Analytics 4 Event Tag that sends a recommended event name like generate_lead with the relevant parameters.

Finally, you mark this more reliable, custom generate_lead event as a conversion within the Google Analytics 4 Admin interface.

Regarding phone call conversion tracking, since it is an offline or non-standard website interaction, it won’t appear as an automatic event.

The most resilient method for tracking this is to implement server-side tagging using a platform like Stape to host your Google Tag Manager server container on a fast, reliable cloud environment like Google Cloud Platform.

The initial step for call tracking typically involves an on-page JavaScript listener that detects clicks on phone numbers – a tel: link – and fires a GTM event like phone_call_click.

Crucially, instead of sending this event directly from the browser to GA4, you configure your GA4 tag in the web container to send data to your GTM server container’s URL.

Once the event reaches your server container, the Google Analytics Measurement Protocol is the underlying API leveraged by the GA4 tag in the server container to send a validated, clean, and complete hit, in this case, a custom event named phone_call_conversion, directly to the Google Analytics 4 API endpoint.

This server-side approach is highly cost-effective because it provides much more accurate and complete conversion data by bypassing cookie restrictions and ad-blockers, extending the life of the client ID, which ensures better attribution and ultimately leads to more reliable marketing decisions and optimization.

Furthermore, once you have your conversion data flowing accurately into Google Analytics 4, you can leverage the BigQuery API to export all your raw event data to BigQuery for advanced, complex analysis or use the Looker Studio API for creating custom, rich, and shareable dashboards that combine your form and call conversion data with other business metrics for comprehensive reporting.

About The Author