You might be wondering why traffic from your paid Meta Ads isn’t being grouped correctly in your Paid Social channel grouping in Google Analytics 4 or maybe you’re not seeing your PMAX campaigns in Paid Search.
A crucial part of any marketing strategy is setting up your traffic sources for correct attribution. This will help you compare the performance of different marketing channels in your Google Analytics data.
Each source of traffic needs to have meaningful UTM parameters, and you need to use those UTM parameters consistently. On top of that, they must align with the defined logic of Google Analytics’ Default Channel Grouping, or you must define your own Custom Channel Grouping logic and change the settings of your property to use your Custom Channel Grouping.
Let’s take a deeper look at each of these crucial components of your attribution strategy, and how it impacts your reporting.
UTM Parameters
UTM parameters are strings of text added to a URL to label incoming traffic with info about the origin and additional details. This helps group traffic for effective analysis later.
Default Channel Grouping
Default channel grouping is a predefined categorization of source / mediums within Google Analytics. Think of them as buckets to more generally analyze groupings of multiple traffic source / mediums for a broader analysis.
Depending on which platform you are using to drive traffic, you have different options for adding UTM parameters. Here’s a brief summary of just a few of the main sources of traffic we see and how we recommend you define your UTM parameters for each.
Google Ads
We like to use auto-tagging in our Google Ads accounts; this signals Google Analytics to record
source = google
medium = cpc
campaign = whatever the campaign name is
Additionally, Google Analytics records the keywords used during the search that brought the user to your website.
Meta Ads
In Meta Ads, you must place UTM parameters on each ad. You can add these as part of your Destination URL in the ad or in the tagging settings of each ad. We set it up like this:
source = facebook
medium = cpc
campaign = we insert a dynamic variable that inserts whatever the campaign name into this parameter
Depending on what’s important for our specific client strategy, we may also define a convention for using the content parameter as well.
This depends on what options your email platform gives you. Some have a simple way to set the parameters on the account level and apply them to every link used in your email. We love that because it helps us stay consistent. Other platforms, you have to add parameters to any link you want to use, and that’s pretty error prone. Regardless, those parameters serve a purpose, and we have to get them added so we can analyze the results. We generally like to use:
source – the name of the email platform, such as mailchimp or klaviyo
medium – email
campaign – the internal name of your campaign or something else easily identifiable like the send date plus the subject line
The default channel grouping contains sequential logic for sorting traffic into the following buckets. This is based on what is found in the source and medium parameters, plus some additional logic specific to Google Ads campaigns:
- Direct
- Cross-Network
- Paid Shopping
- Paid Search
- Paid Social
- Paid Video
- Paid Other
- Display
- Organic Shopping
- Organic Social
- Organic Video
- Organic Search
- Affiliates
- Referral
- Audio
- SMS
- Mobile Push Notifications
Here’s a resource to read more about the specific logic of each channel group.
Almost always, the answer to “Why is my traffic not showing up correctly in Google Analytics” is either, “You didn’t add UTM tags” or “You didn’t add the correct UTM tags.”
For example, if you want your paid traffic from Meta Ads to be grouped into the Paid Social channel, you must use UTM parameters that align with the following logic set by Google:
Source matches a regex list of social sites
AND
Medium matches regex ^(.*cp.*|ppc|retargeting|paid.*)$
So let’s check our UTM convention of facebook /cpc against this.
Does our preferred source of “facebook” match a regex list of social sites?
Yes
Google provides a long table of sources and the category they map to at this link. “facebook” is on that list, and it is a category of social, so we know it matches their regex list of social sites.
Does our preferred medium of “cpc” match regex ^(.*cp.*|ppc|retargeting|paid.*)$
Yes
“cpc” matches the portion of the regex that is “.*cp.*.” This regex option means a medium that has “cp” within it, regardless of what may come before or after, matches. Other examples of valid choices for medium here are “cpm” or “ppc” or “retargeting” or “paidsocial” or “paid-social” because each of these match the logic defined in this regex statement.
Because of the “and” portion of this logic, both of these statements need to be true, and because they are both true, we are confident that by UTM tagging our Meta Ads urls with source = facebook and medium = cpc, we will see our Meta Ads traffic correctly grouped in the Paid Social default channel grouping.
Let’s consider Google Ads next. This gets a little interesting, because if you’re like us and always use auto-tagging, your traffic from any Google Ads campaign is going to come through as google / cpc. However, because auto-tagging brings in so much more data about the specific Google Ads campaign, Google Analytics also knows things like the ad network type and the campaign type and can correctly group this traffic into more specific channel groupings.
So traffic from Demand Gen, Performance Max, and Smart Shopping ends up in the Cross-Network bucket, while a search campaign will end up in Paid Search. This is a pretty hands off setup. It’s just something to remember because if you’re used to seeing all your google / cpc traffic get bucketed into Paid Search, you might find that with these varying campaign types, you find this traffic in new and unexpected buckets. You could always switch to analyzing by source / medium instead, to see all your Google Ads traffic together as google / cpc with maybe a secondary dimension of campaign to dig a little deeper in a more familiar way.
Custom Channel Grouping
You can define your own logic for your own groupings. You can start from scratch or duplicate and modify the existing definitions, and then change your property settings to use your own special buckets. This will regroup historical data; changing your tagging convention will only apply to future traffic.