Slack’s growth is insane.
There’s a lot of factors in this incredible growth but I want to focus on a critical component: marketing attribution.
One of my favorite articles is an interview with Bill Macaitis, Slack’s CMO, where he talks about how Slack tracks what traffic sources are driving new users and signups. It is a masterclass on the world of marketing attribution which for most companies, starts with the classic UTM parameters and eventually evolves to Slack’s level.
From the very start, I love how Bill breaks down a complex problem into something that anyone could understand. This is how he describes marketing attribution:
“Marketing Attribution means: are you spending your money wisely?”
If you’re not familiar with marketing attribution, here is a simplified example that Bill provides to establish the problem that companies run into when scaling their marketing campaigns:
“A simplified example: let’s say you have a customer who first saw your display ad but didn’t click. Weeks later they saw your Facebook ad, clicked through and read several of your blog posts. Still weeks later, they clicked on one of your Google adwords and ended up signing up for a free trial. How do you value each of these marketing channels? If the display ad hadn’t been seen, would it have mattered? Would they have found their way to your site without the Google ad word? Which blog posts resulted in the highest value signups?”
Slack uses advanced marketing attribution which relies on an algorithmic attribution model to understand the role that different channels play in a conversion. This can be a much better model than Last Touch, First Click or even Linear Attribution.
Regardless of the model that you use, your first step in marketing attribution is collecting and storing the relevant data that you need.
This is where this article comes in. I want to talk about the fundamental concept of tracking parameters (e.g. UTM parameters) and how you can start using them to understand your different traffic sources.
This data will be relevant for almost all analytics tools such as Google Analytics, Mixpanel, Amplitude and even your custom data warehouses stored on BigQuery and Amazon Redshift.
Tracking Fundamentals: UTM Parameters and Other Parameters
Parameters are extra bits of information that you can add to URLs and deep links (for mobile) that can provide you information about where a user came from.
The most common ones are UTM parameters like utm_campaign, utm_source, utm_medium, utm_content and utm_keyword but you can actually come up with your own parameters to track even more information beyond the 5 options listed above.
A typical URL with parameters will look like this:
I can then use this link in my Facebook Ads so that users click this ad, I’ll know that they came from Facebook and even what campaign and ad they clicked.
You can add any kind of parameters that you want as long as you are able to collect and analyze them. Let’s see how Slack currently uses parameters in their marketing campaigns.
We’ll start by clicking a paid ad for Slack in the Google results. We then get redirected to a landing page which looks like:
In this case, let’s focus on the URL for this landing page which is this one:
Whoa, there’s a lot of information in this URL. The landing page URL is actually quite short (https://slack.com/lp/two) but anything after that is a URL parameter.
Let’s expand them into a list so they are easier to read:
You’ll instantly see the familiar UTM parameters (utm_source=google and utm_medium=ppc). You’ll also see custom parameters like cvosrc and c3api.
Slack is then able to track these parameters for users who end up signing up for their product. They’ll also be able to see any other parameters (think marketing sources) that brought this user to their website. This is the data they feed into their algorithmic attribution model.
Analyzing Parameters in Popular Analytics Tools
If you start tracking custom parameters (like UTM parameters), you’ll be able to start analyzing this data inside popular analytics tools like Google Analytics, Mixpanel, and Amplitude.
All of these tools automatically collect UTM parameters and you can work on collecting any other custom parameters that you want to use.
Google Analytics lets you segment your data by UTM parameters out of the box as seen in the report below:
This is how parameters look inside a Mixpanel profile:
You could use these parameters to create other reports like retention cohort tables. This report is from Amplitude:
You can run a similar analysis using SQL and other BI tools. Once you start collecting this data, you’ll be able to run tons of different reports on it to better understand how your marketing channels are performing.
Collecting and structuring your data is one of your first challenges in the marketing attribution world. You’ll then need to look into the different attribution models such as algorithm attribution which is Slack used. Tools like Convertro and VisualIQ can be a great starting point for your research efforts.
What are your best practices for collecting URL parameters? Let me know in the comments below!
I find most companies are stuck with high-level metrics and they aren't able to properly understand what actually drives user growth for their web and mobile products. To do that, you need the right data and the right tools.
If this sounds like your situation, then you should download our free tracking plan (and tutorial video). This is the document that you should create before you ever implement tools like Mixpanel, Amplitude, Segment, and Intercom. Click the image below to download your own free tracking plan (and tutorial video).