How to Get Attribution Right: The Minimum Data Requirements For SaaS
If you can’t tell which marketing activities are bringing revenue, you can’t grow. In this article, I’ll show how I helped a SaaS company set up their marketing and revenue attribution.
SaaS marketing teams usually reach out to me either because they don’t get enough value out of their data or because they don’t know what data they need.
These are teams with some very talented people, but they struggle to maximise impact simply because they can’t connect their marketing activities to revenue. One problem I see very often is that their top of the funnel data (e.g. ads, social, website) is completely disconnected from what happens inside their application (e.g. purchase, sign up).
If you can’t tell which marketing activities are bringing revenue, you can’t grow.
Without a full overview and tracking of user behaviour along the customer journey, there’s little alternative but to optimise for traffic. This can lead to bringing in low-quality leads, wasting money and having a hard time reaching goals.
In this article, I’ll show you how I helped a SaaS company set up their marketing attribution using Google Analytics, Google Tag Manager, Google Data Studio and Salesforce. After reading this and implementing what I will cover, your team will be able to answer the following questions:
Where do trial users and paying customers come from?
What marketing activity brings our most valuable customers?
What is the ROI of our different marketing activities?
The company I worked with was a SaaS startup. They were switching from a sales-led model, in which users could only get a licence by going through sales, to a self-serve model where users could subscribe on their own.
This change in business model meant they would be much more reliant on performance marketing campaigns to acquire new users. It also meant they would not be having as many direct conversations with leads anymore (through sales), having to switch from more qualitative to more quantitative data in marketing. Without proper attribution, their plans would fail.
1. Establish your marketing data pillars
We started by deciding on what we wanted to measure. If you are also trying to grow a SaaS product, I suggest you decide on similar metrics. These are the 3 data pillars we decided to focus on:
Marketing activity: the source the user has come from and the marketing pages the user has engaged with (e.g. the homepage), which we’ll access through Google Analytics.
Users, Sessions and Conversions: identifying the users and sessions that have led to new sign ups, which we’ll also access through Google Analytics.
Revenue: how much revenue has this user generated, which we’ll access through Salesforce data.
2. Set up triggers on a Tag Management System
Tag management systems bring 2 main benefits to marketing teams: independence from engineering teams, as well as governance and consistency through triggers (more on that below).
A TMS centralises all your tags in one place. You only need to install one tag on your code. All additional tags for different channels, like Google and Facebook, are installed in the TMS. As a result, your marketing team has more freedom to implement tags without needing engineers. With more freedom, your team can experiment faster with different audiences and platforms.
Another advantage of a TMS, is that it allows your marketing team to generate consistent data across all platforms. The tags will fire depending on triggers that you choose.
For this use case, we set up a trigger that fires whenever the user signs up to a trial. We could then use that trigger to set up a Google Analytics event, as well as individual platform (e.g. Google Ads) conversion events. With this set up, you know “sign up” is always firing at the same instance for all your tracking.
3. Migrate to Google Analytics 4
If you haven’t migrated to Google Analytics 4 yet like my client hadn't, then you are still using Universal Analytics. The problem is: Google is depreciating Universal Analytics by July 2023. From them on, your Universal Analytics will no longer track. Now, if you need to have year-on-year data (as most seasonal businesses do) then you need to have GA4 running with all events and goals until July this year. That’s 24 days away as I’m writing this.
4. Centralise marketing pages and app under one tracking property
This step connects what is happening outside the app with what happens inside it, allowing us to track user behaviour after they convert and understand where revenue comes from.
A lot of SaaS companies build their website on a CMS but their product is in a subdomain. That means they run on totally different systems. Take Messagebird, for example. Their website runs on Webflow and their app is under a subdomain.
How can they make sure that a user’s activity on marketing campaigns and on the website is connected with their activity inside their app? They need to make sure they are being tracked using the same property.
5. Identify and pass our join key for revenue attribution
To be able to calculate the ROI of our different marketing activities, we had to identify the converted users from each of our sources. You will need to do the same.
To achieve that, we passed a unique user identifier (UUID) on Google Analytics when the user signed up and/or requested a demo. On GA4, we set this UUID as an event parameter.
This UUID functions as a join key to our revenue data (backend) for us to calculate how much revenue is attributed to this same user.
6. Join marketing data with revenue data
In order to calculate the ROI per marketing activity, we need to join marketing data (Google Analytics) with revenue. For this customer, the revenue data was on Salesforce. But your revenue data could live in a different place, like a MySQL database or Stripe.
We join Google Analytics and Salesforce under the UUID event parameter we’ve set up in the step above. You can visualise how this works below:
For this customer, we did this join as a data blend on Google Data Studio. Depending on the volume of data you have, a better solution could be to join these two data sets on a data warehouse (e.g. Snowflake) and expose it on your BI tool (e.g. Looker).
Once users are being tracked using the same properties and users have a unique user identifier, it’s time to join Google Analytics and Salesforce.
We can do that by integrating the two and making sure Google Analytics passes a user’s unique identifier into Salesforce every time a user first submits a form on the website. In turn, whenever a deal is won, Salesforce will send an event back to Google Analytics, as you can see in the image below:
7. Visualise metrics in Google Data Studio
For the marketing team to be able to understand the performance of their activities, results must be easy to access. So we built a marketing dashboard with sign ups per source on Google Data Studio.
My client decided to switch from a sales-led to a self-serve business model. With the right tracking in place, they could optimise their marketing campaigns to generate revenue, not traffic. They centralised the tracking of marketing pages and could successfully attribute conversions. They were also able to tell which users came from which campaigns, and that really helped them understand where to focus marketing spend.
If you liked this article, then click subscribe below to receive future posts: