This post will show you how to use Google Analytics to understand where your traffic is coming from and what your conversion rate for each source of traffic is.
How Google Analytics Buckets Your Traffic#
To make sense of your analytics you must understand that there are 9 default types of traffic.
I prefer to think of these as six main groups:
- Organic is when someone finds your website on a search engine.
- Paid search is when you pay to show up at the top of search results
- Referral traffic is when someone comes to your site from a link on someone else’s website.
- Social traffic comes from a link shared on social media platforms.
- Email is when someone clicks on a link in an email you’ve sent out.
- Display ads, Affiliate marketing, and all other advertising count as paid advertising.
Direct traffic is when someone types your URL directly into the browser. This is more of a catch-all for when Google doesn’t know where the traffic is coming from.
These categories are just Google’s default buckets, you can create your own. Lots of people promote their products via public speaking, networking, trade shows, etc; you can set up custom categories so that traffic from these efforts doesn’t end up in another category.
For example, if I want to do a cold email outreach campaign then I could label this under the default Email category. I could also create an entirely new category called Outreach and have all my cold email traffic show up there.
How To Teach Google Where Your Traffic Is Coming From#
Google does a great job of figuring out where your traffic is coming from but sometimes it’s impossible for Google to know. The solution here is to use UTM links. A UTM link is like a regular website link except that it has a string of information appended to the end of it (UTM stands for Urchin Tracker module, Urchin was the name of the company before Google acquired it).
For example, the link to this article is
A UTM link would be
If you click on the first link it will just show up as any referral traffic in my Analytics, clicking on the second one will tell me that you clicked on the demo example link on my blog. That string of information at the end, after the
? tells Google the source of the traffic and how you want to categorize it.
Creating a UTM link is not complicated, you can just use a UTM link generator. I’ll link to the one I use in the footer. Most people also use link shorteners to mask these long ugly links.
All you have to do is add the original link to the first field in the generator and then enter the relevant information for the source of the traffic. You’re given 5 fields to fill out. I’m not going to explain what all the fields do because you only need to know two to get started: Source and Medium.
The source is where your traffic is coming from. If you parse through the example UTM link above you’ll see that it says
utm_source=my-blog-demo-link in the string. This means
my-blog-demo-link is the source and that is what will show up in my analytics dashboard when people click on this link.
The medium refers to the 9 default categories we were talking about earlier. In this case, it’s a link in a blog so I’m labeling it referral traffic. It is important to use lowercasing when defining a medium otherwise it won’t work.
Cleaning Up Fractured Traffic#
I like to spend most of my time in Acquisition > All Traffic > Source/Medium.
The first column shows me my top 10 sources of traffic sources and their medium. The rest of the columns then help me understand how that traffic is performing.
This table is a bit messy because there are 3 rows with the same sources. There’s facebook.com, m.facebook.com and l.facebook.com. This happens because facebook uses different servers for different views. This is unhelpful. What I want is a single row that just tells me how much traffic I’m getting from Facebook.
The way to clean this up is to use a filter.
Go to your test view before you create a new filter. If you don’t have one, set one up before you start adding filters. Filters can be dangerous, once data starts getting filtered out there is no way to retrieve it, so you want to set up a test view where you can test the filter works as expected before applying it to all your analytics data.
In your test view, create a new filter, give it a name and then click on the custom tab and then select the search and replace option.
In the filter field, you want to select
campaign source, then in the search string you want to use regex to tell it to find any source that ends with facebook.com
^.*facebook.com$, and then in the replace string field you give it the new name you want it to use. I’ve linked to a neat guide on getting started with regex in the links in the footer.
Rather than having three different types of Facebook traffic in my sources panel, now it will all just show up under a single Facebook label. You can repeat these steps for any kind of fractured traffic by just replacing the domain name in the example above.
The next thing I did was create a UTM parameter for the links I share in Facebook groups so that I can distinguish it from when I share stuff with my friends on Facebook. This is why some Facebook traffic has started showing up as ‘facebook groups’ in the screenshot above.
The last thing we need to clean this up is a referral exclusion list. You can do this by going to the property settings. I’ve highlighted the button in red on the screenshot below.
Referral exclusion means removing your own domains from your traffic. I have sources like
learninglog showing up in my traffic. These are both my own sites. To prevent this from continuing to happen I’ve added both of these domains to the referral exclusion list.
Unfortunately, none of these changes will apply in retrospect so it’s important to make these changes as soon as you can. Now that the measures are in place, cleaner traffic will slowly drown out the messiness.
Now we know how much traffic we’re getting, where it’s coming from, and how it gets broken down. The next piece of the puzzle is to figure out which source of traffic is having the biggest impact on your business.
Tracking How Well Your Traffic Converts#
Conversion is just a measurement of how many people do something. If 1000 people visit your website and 20 of them sign up to your mailing list then your mailing list’s conversion rate is 2% (20/1000 X 100).
Before you can track any kind of conversion you have to figure out what it is you want people to do. In the example above we want people to sign up for our mailing list. For most Saas businesses the goal of the landing page is to get people to sign up.
You’re allowed to track 20 goals in google analytics. To keep things simple I recommend just starting with your single most important goal.
To set up a goal in Analytics you must go to the admin section, and then click on the goals in the view column, and then click on the red ‘create goal’ button. This will take you to the following page:
If you want to track people filling out a registration form then you will need to set up an event goal so that you can track the registration form submission event. You will need to go into the form in your landing page source code and trigger the event on submit. Depending on how you have analytics setup, you will need to do this with Google Tag Manager or the Google Analytics event trigger (or however else your project tracks events).
When you fire the event you will need to define an event category and an event action. The category is the broad grouping of the event, so ‘sign-up’ or ‘registration’ or something like that. The action is the specific behavior you are tracking, for example ‘form submission’. Labels and values are optional. If you have multiple signup forms you can use a label to add info about which form fired the event. If the signup is paid you can also allocate a dollar value to the action. These last two are optional.
That was a bit complicated but you must set up a goal in order to track your conversion rate. If event goals sound too complicated, then a simpler alternative is to set up a destination goal. This tracks when people land on a specific page. To do this you must create a page that people can only reach after completing your goal. You simply add the URL of the destination page to the goal and you are done. This is often why people direct you to a thank you page when you download something online. You could also have a welcome page that people only visit once after they sign up. However, you must make sure people don’t see the welcome page every time they log in otherwise it will skew your metrics. This is why, for signups, event goals make more sense. There are two other types of goals but those are more suited for blogs and content-focused websites so I won’t go into those.
Once you have set up your goal, the source/medium page from before will have a whole new section appended to the end of it called Conversion. In this case, my goal for my website is to get people to book in an initial conversation.
This page now has three groups of columns: acquisition, behavior, and conversion ( I have outlined the conversion column in orange above).
The acquisition column tells you how much traffic is coming from each of your sources. This is what almost everyone uses Analytics for.
The behavior column tells you how engaged a source of traffic is. There are three sub-columns, you have the bounce rate (the percentage of people that view a page once, do nothing else, and then leave), pages per session, and the average session duration. These three columns help me assess the quality of my traffic.
If I just looked at the acquisition column (and tally up all my fractured facebook sources) I would see that I am getting most of my traffic from Facebook. However, if you look at the behavior column you can see that my Facebook traffic has a much higher bounce rate than anything else. It also shows me that people who come from Twitter spend a lot longer on the site and view more pages per visit. So thanks to the behavior columns I can tell that Facebook might be giving me more traffic, but Twitter is clearly giving me better traffic.
The final column is Conversion, this shows you the result of all this traffic and engagement. In the screenshot above we can see that one person booked a consultation with me (this is the goal I have set up on my website). Unfortunately, this person came from the direct medium so analytics can’t tell me how this person found my website. Had I started using UTM links sooner I’d see what source of traffic this conversion came from. As more conversions start coming in with cleaner traffic data I will be able to tell where my highest converting traffic is coming from.
There are lots of other things you can do with the conversion section. You can set up multiple goals, you can have multi-channel goals, you can even set up neat visualizations to see where people drop out of your sales funnel but I don’t recommend diving into all that until you need to. Trying to learn analytics in its entirety is a waste of time. A much better approach is to ask an important question, and then just learn enough to answer that question. A good baseline is to understand how much traffic you get, where it is coming from, and how well it is converting. Now you know how to answer all three of those questions.
- I got accepted to CXL institutes’ growth marketing mini-degree scholarship. The program runs online and covers 112 hours of content over 12 weeks. As part of the scholarship, I have to write an essay about what I learn each week.
- This is post 8 in a series. The rest of the posts are listed here.
- This is the super cool book on regex for analytics.
- Here is the UTM tracker I use.
- If you’d like to get more updates on my growth marketing learnings you can follow me on Twitter @joshpitzalis.
I'm two weeks into my 30-day AI content challenge, and it's harder than I thought. Most people have dropped out at this point. My big takeaway so far is that while AI can produce content, the...
I went to Japan for the first time in my life. I put on a nice little roll of fat from the trip. The food, at every meal, was just incredible. I mean, even their 7-Elevens have great food. This is...