Question from Reddit user:
Hello,
We have a lot of traffic come to the website and I want to see what traffic is tracking the actions we are tracking.
We have two tags manager events, Phone calls, and submit forms.
They are linked in GA4, so I can see how often those actions have happened.
but How do I see that by source or medium?
I want to see where our conversions are coming from exactly.
I use UTMs for each placement.
?
Thank you
Answer from Nabil:
The short answer is:
To see your custom events like phone calls and form submissions broken down by source and medium, you should use the Acquisition > Traffic acquisition report in GA4 and add a secondary dimension.
Start by navigating to the report, which defaults to showing sessions by Session default channel grouping
.
Click the plus icon to add a secondary dimension and select Event name
.
Then, use the table filter to look for your custom event names, like your ‘phone calls’ or ‘submit forms’ events.
The table will update to show you a row for each event, and in the other columns, you’ll see the source or medium that drove the traffic for those specific actions.
For a more flexible report, use an Exploration and choose the Source
or Medium
dimension for rows and Event count
for values, with Event name
as a filter.
The long answer is:
Your goal is to tie your valuable user actions – your custom events for phone calls and form submissions – back to the marketing channels that drove them, which is the core of effective conversion tracking.
The key is understanding how GA4 connects these pieces of information.
The default reports in GA4 are designed to surface this data, but you need to combine the right dimensions.
As mentioned, the Traffic acquisition report is your starting point, as it attributes the entire session (and the events within it) to the traffic source.
The primary dimension is usually Session default channel grouping
, which is a high-level view.
By adding Event name
as a secondary dimension, you are instructing GA4 to first group sessions by channel, and then further break down the data to show which specific events, like your phone_call
or form_submit
events, occurred within those sessions.
You can also change the primary dimension to Session source
or Session medium
to drill down using your specific UTM parameters.
Alternatively, for greater flexibility and to avoid sampling, you can build a custom report in the Explorations section.
You would select a Free Form Exploration, use Session source
or Session medium
as the Rows, Event count
as the Values, and add a Filter where Event name
contains (or is equal to) the name of your specific conversion event.
This is the most effective way within the standard GA4 interface.
For a truly excellent and future-proof solution that eliminates sampling and gives you complete control over attribution models and raw event details, you should adopt a data pipeline approach using Google Tag Manager and a server-side environment like Stape or Google Cloud Platform.
This setup allows you to send clean event data to GA4, and more importantly, it enables you to pipe the raw, unsampled data directly into BigQuery via the native GA4-BigQuery link.
Once your data is in BigQuery, you can use the Google Analytics Data API to query specific slices of that data, or simply use Looker Studio’s BigQuery connector to build fully custom reports without sampling restrictions.
This BigQuery plus Looker Studio API solution is excellent because you can perform your own joins and SQL queries on the event stream, ensuring that every phone call event is accurately and unambiguously linked to the initial UTM parameters that drove the user, which is something even the GA4 interface can sometimes struggle with due to its processing model.