Month 5: Advanced revenue tracking and fine-tuning analytics for SaaS growth
By Charles Neigum
By now, the engines are firing. The stars are flying by. Galaxies unfolding. And . . . you are spending a lot of money.
To make sure that you don’t run out of fuel before you reach your goal, it’s time to tune-up your analytics and track revenue back to the source of conversions.
Advanced revenue tracking
You’ve got momentum and you’ve picked up a few intergalactic hitch hikers along the way. Your ship is getting full but you still have no idea if the passengers you picked up are going to pay you for the ride. And, even if they do pay you probably don’t know where they came from or what it cost you to get them on board.
We work with a lot of SaaS companies to launch products and drive new customers.
Most of our SaaS clients use freemium, or free trial, pricing models to generate new subscribers. While these pricing models work great for the consumer, they’re nightmares for digital marketers attempting to track ROAS for each paying subscribers back to the referring campaign or ad source.
Anyone with a decent knowledge of analytics can create a conversion goal and track free account sign-ups. You create a goal, build a funnel and assign a rudimentary goal value for the free account registration. Not bad – but you’re only halfway there.
Now you need to track paid subscribers back to the referring ad unit or keyword. And, you need to do it without relying on a cookie that’s unlikely to be present when the user converts to a paid subscriber at the end of their 30 day free trial.
This article will show you how. And, we even provide some free software scripts to help you along the way.
Before we get too deep into the solution we need to understand the three basic components for tracking paid subscriptions back to their referring ad source or keyword.
To do this you need three things:
1. Standard Google Analytics tracking code installed on your site (ga.js)
2. The ability to track your customer from click to free trial and then to paid subscription. Analytics can do the former, but not the latter.
3. The ability to capture your ad costs and correlate these costs with the subscription revenue generated. Analytics can’t do this either.
Unfortunately, Google Analytics (free edition) is useless for #1. Google Analytics relies on cookies to track your conversions (assuming you have goals enabled).
When the user converts from a free trial to a paid subscriber it’s highly unlikely that the original cookie, set by Google Analytics, will be present on the user’s machines. For the technical readers out there we’re referring to the __utmz and _utma cookies.
The default Analytics cookie duration is 6 months but the reality is some users delete their cookies.
Even if the cookie remains on the user’s machine there’s a high chance that the user signed up to their free account on one device (example: an iPad) and upgraded to a paid subscription on another (example: a laptop at work). Unfortunately, cookies can’t jump from machine to machine.
Here is an example of how consumers engage with multiple devices to complete an ecommerce purchase. The multi-device behavior for SaaS customers is very similar.
Just as unfortunate is the fact that Google Analytics does not allow you to pass dynamic (variable) transaction amounts into your goal funnels.
This makes it impossible to track and display your true cost per conversion inside of Analytics and AdWords. In short, Analytics is also useless for #2 above.
Collecting data in Martian environment:
The good news is you don’t need to be a rocket scientist to figure out how to attribute paying subscribers back to their referral source.
A good engineer and some business logic should get you there.
Here’s a solution that we’ve implemented for numerous SaaS clients including 1E.com, eBillity.com and ExecSight.com. We’ve also implemented this same tracking solution for our do-it-yourself marketing service express.onenetmarketing.com.
First we wrote a script that captures the relevant campaign variables from the _utmz cookie and passes it through to your user database. Then, once the user converts to a paid subscriber, we use the utmctr variable and query the AdWords API to get the relevant cost data for the referring ad unit or keyword.
From there we can use the subscription fee, and the cost data for the click to calculate the return on ad spend (ROAS). This kind of information will make your boss extremely happy. If you are the boss, this will make your bottom line even happier.
It sounds a bit complicated; but, it’s not overly difficult to achieve.
First off, you need to ensure the following:
- Auto-tagging is disabled for your Adwords campaigns. More on auto-tagging here.
- You’re using the Google URL Builder to tag your Adwords, and Non-AdWords campaigns. and tracking non-AdWords campaigns via Analytics (if any)
- You must have your Adwords account linked to your Analytics account. More on connecting Adwords and Analytics here.
- Once you have your campaigns tracking through Analytics you can roll your own server-side tracking solution. We’ve written a few specs to help you out. Grab our JS tracking spec here. You can get the PHP tracking spec here.
Grab an engineer and head down to the engine room. Here’s what you’ll need to do:
Step 1: Write a custom script.
1. First write a script that parses key campaign variables from the _utmz cookie. Here’s a spec that will show you exactly what to do.
2. Pass the campaign variables into your customer / CRM database using hidden form fields. Specifically you’ll need to capture the utmcsr, utmccn, utmcmd, utmctr, and utmcct variables from the _utmz cookie.
3. At the point of conversion (paid subscription), correlate the transaction amount of the subscription with the referring term or placement.
4. Query AdWords, and other ad networks, to pull the cost data for the respective ad ID. You can do this via APIs.
5. Calculate the return on ad spend (ROAS) by subtracting the ad costs from the transaction amount. You’ll probably want to present this data in a web interface. We all know marketers are impressed by graphs so we’ve included instructions on how to graph the data (below)
Step 2: Modify your database
You’ll need to modify your database to hold the new variables that you’ve defined and captured from the _utmz cookie.
Note – Google doesn’t like it when you append anonymous user data to a customer record so to keep Google happy we recommend that you build a separate table to store the Analytics data.
You can always use a unique identifier to link the Analytics data to the customer data.
Here are some sample tables.
Example Analytics table
|Unique Identifier||Source||Name||Medium||Term / Placement|
Example CRM table
|Unique Identifier||Customer Name||Customer Type||Start Date||Revenue to Date|
|111111||Mavin B Martian||Paid Member||01/01/2011||$29.97|
|222222||Giorgio T.||Paid Member||06/15/2013||$119.88|
|333333||Pizza the Hutt||Trial Member||04/01/2013||$0.00|
|555555||Dark Helmet||Paid Member||06/02/2013||$29.97|
|666666||Dot Matrix||Trial Member||04/22/2013||$0.00|
We will create a table for our new analytics data storing the Campaign Source, Name, Medium and Search Term for every user that signs up on our website. Each row will be given a unique identifier that will also be inserted into our new customer’s CRM entry.
We can then join these two tables with this unique identifier to find our trends for each keyword.
For example, we can see that the term “Mars Trip” has brought us two customers, one paid (customer 111111), one trial (customer 333333) with our paid customer bringing $29.97 in revenue for our company. More on this later.
Next you’ll want to figure out how much each term or placement costs you. This is your media spend and it’s integral for calculating return on ad spend. Your media spend is derived from your various ad networks, or marketing programs.
Common sources of media spend include:
- Google Adwords
- Bing Ads
Most ad networks and marketing apps have APIs that can be used to programmatically retrieve cost data. We won’t go into detail on how to leverage these APIs in this post.
You’ll also need to sum the revenue generated for each term or placement. The end goal is to create a cost table similar to the one below
Example cost table
|Term / Placement||Media Cost||Revenue Generated||ROAS|
Where ROAS = (Revenue – Media Cost) / Media Cost
We’ve written a free spec to help you achieve the programming mentioned above. You can download it here.
Step 3: Present the data
We all know marketers are impressed by graphs. They’re even more impressed when your web app shows them where they’re making the most money. The last step is to present the data that will justify your pay raise.
Here’s what we do:
1. Using the data we have stored in Step 1 we can compile a .csv file combining our information from the Analytics table to the stored data in our CRM table. If we wanted to know the total value of the keyword “Mars Trip” we can retrieve a list of all customers that joined our company after signing up to a free trial after searching for the keyword “mars trip”. We can also filter between organic and CPC campaigns using the same keyword.
2. We could use this to calculate the total amount of sales driven from a specific keyword or placement. We can find which keywords lead to the most paid members and conversely which keywords lead to the most cancelled accounts.
3. Once we have defined and calculated the metrics most important to our campaign, this data can be converted from hard to read spreadsheets into graphs and charts which make it easier to visualize our data trends spot trends with specific campaigns and keywords.
4. Graph the data using a graphing engine such as Google Charts, phpChart, or HighCharts, and display the info on a web page.
You’ll probably want to password protect the page to prevent the page from being indexed by search engines and discovered by your competitors. You’ll also want to make the data exportable so the business team can further manipulate it in Excel.
What to do with the data
As a marketer you can use the ROAS data to fine tune your keyword lists and ad placements by removing those that are not profitable and increasing ad spend to those that are.
Using the example above, the term “Mars Trip” has a ROAS of 110.17% in Google. The natural progression here would be to launch a Bing campaign with the same keyword to find additional profitable customers.
ROAS is just one metric. Once you’re successfully capturing campaign and costs data you can build out your campaign dashboard to include other key metrics such as average customer lifetime and customer lifetime value (CLV).
No tracking system is flawless, but the solution outlined above will get you a lot closer to understanding where your customers come from and how much they cost you to acquire.
Common problems for tracking the initial registration (free trial)
|Problem||Solution||Notes / Reference Link|
|Cookies disabled or deleted||None||A small percent of users >2% disable or delete cookies on their browser.|
|Cookie duration exceeded||None||Google uses a 6 month cookie. If a user signs up 7 months after clicking on your ad it will not track.|
|Different device||None||If a user clicks your ad on their iPhone, and signs up on their laptop the cookie will not track.|
|Logged-in Google users||Assume source = google and medium = organic||Terms will appear as “not set” for logged-in Google users that click your link from the organic search results.|
Common problems for tracking the free-to-paid subscribers
|Problem||Solution||Notes / Reference Link|
|Autotagging enabled||Disable. Use Manual Tagging.||Disabling autotagging in Adwords makes your adwords campaigns a little more difficult to manage but the payoff is full insight into your customer conversions. If you disable autotagging your conversion goals will not display in Adwords. You can still view conversion goals in Analytics. More on autotagging here.|
Track from discovery to purchase with reverse funnel analysis
Another great tool for understanding the paths to conversion is called a reverse funnel analysis.
Let’s take a look at how to use funnels as well as look at multi-channel attribution, which shows you the overlapping influence between different channels.
We’ve recommended that you do three basic things: acquisition (help prospects discover you), activation (help prospects consider you and start experiencing your core value), and retention (help them stick around).
Funnel analysis helps you retrace the steps and locate your best performing channels.
Let’s say you are a medium-sized SaaS company and want to know which online channels are bringing you customers right now.
You’ve been dipping into social media.
You might have a few PPC campaigns running, SEO, and have been reaching out to a few influencers.
But you need to focus.
You need revenue. You need to make sure your marketing is focused in the right area.
Which digital marketing channels are making or costing your SaaS company the most money?
We are going to show you how to:
- Reduce the complexity of multi-channel attribution so that you can quickly know which digital channel brings the best return.
- Easily track your keywords and traffic sources back to revenue.
- Discover which channels to focus on for the next three months.
What is multi-channel attribution?
A few years ago, marketers were star struck with multi-channel attribution.
Channels like PPC got an unfair credit when it came to conversions. For example, a PPC report might tell that “Buy Galaxy-Trotter Rocket Fuel” was producing a flood of sales.
But it wasn’t just a single interaction that caused a sale. It was actually a galaxy of channels, all working together to bring the customer from awareness to consideration, trust, and action.
The missing story
But the untold story was this. The customer actually first heard about the brand “Galaxy-Trotter” when reading their favorite blog. And this discovery came from seeing a display ad, offering a free resource “ten essential tools for planning your first space odyssey.”
A few weeks later, the customer saw the same report being promoted on Google+, clicked and read it. A month later, after multiple organic visits to the website, they finally clicked on that PPC ad “Galaxy-Trotter Rocket Fuel” and ordered online.
The big insight is that the customer journey is complex, overlapping, and involves a combination of assists, some paid and others organic.
How this helps to decipher your conversion paths
The real promise of multi-channel attribution is channel optimization.
That is, understand that your customers are acquired across channels. It isn’t as simple as cutting out channels – like social – just because they don’t directly lead to a customer reading a tweet and then buying immediately.
This is excellent in concept, but harder if you don’t have deep pockets.
Here’s a little magic for you.
While we absolutely believe in multi-channel attribution, it can also get complex for smaller brands.
If you are a massive brand like Microsoft, you can distribute your spend, buy PPC, run social media campaigns, combine awareness and direct response.
But if you are reading this you likely need growth. So here’s a trick for taking some of the complexity out of multi-channel attribution.
Follow the money with a reverse funnel analysis
Let’s return to our example of a medium-sized SaaS company.
Let’s say that your product helps small business owners track and organize their tax receipts.
You have the marketing team working on the following channels:
- SEO, writing blog posts about “taxes” and “small business profits.”
- Social media, with 1500 followers on Twitter; 600 Facebook fans.
- PPC targeting keywords like “track my receipts online.”
- Sponsored posts in tax accountant and small business blogs.
So how do you know which channel produces the highest ROI?
Let’s do some live analysis.
Which of the channels below do you think is producing the most conversions?
If we just focus on aggregate visits, it’s hard to tell.
The answer is doing a funnel analysis.
A funnel is a concept used in digital marketing analysis to create pathways from discovery to purchase.
A very, very basic type of funnel would be:
You take a look at your entire website traffic (SEO, paid traffic, social media, email), see if those people visit a product page (the first step to buying), and then see how many people actually signed up for a trial.
You’d probably see something like this. In March, 8,175 people visited the site. 2,000 of those visited product pages. 200 of those actually signed up for a free trial.
Yay, our digital marketing works.
But which channels are the most valuable?
This is where segmentation comes in.
Instead of doing a general traffic funnel analysis, segment your organic traffic. This can be done in Google Analytics.
For example, let’s say you want to know if SEO drives quality leads.
SEO clearly drives a lot of traffic. But it’s a little light on conversions.
Before we throw the SEO team out of the spaceship, let’s think about this.
If you are an advanced digital analyst you’ll know that the above funnel isn’t 100% accurate. For example, multi-channel attribution and advanced analysis in Google Analytics might reveal that SEO’s fundamental role is discovery.
In other words, don’t discount a channel at first glance
Visitors might not buy from SEO–but perhaps they are joining our email list, finding us on social, or later clicking on a PPC ad.
But for now, as this guide is about SaaS growth, let’s focus on simplicity.
We can optimize the galaxy later, but we are on a mission here.
The big question: is there a quick revenue win here?
OK, let’s leave the SEO team alone. Keep paying them. It’s an important channel.
Let’s also keep the social media team. PPC also survives, but let’s keep an eye on them.
What about this tiny traffic source we often ignore? Paid blog placements. It only has 100 visitors.
That paid placement was, as you remember, was a blog post we sponsored in TaxAccountants.com.
The author of TaxAccountants.com loved our product and agreed to promote our “track your receipts online” SaaS product to his audience of small business owners. We bought a banner ad and he did a transparent, objective review.
We expected a flood of new leads. The sponsored post cost us $1300! But we only had a trickle and forgot about it.
Let’s analyze that tiny traffic source.
Galloping Galaxies! That tiny traffic source brought us 7X more free trials than a month of SEO!
In hindsight, this makes sense. People read about our product in a highly relevant blog (tax advice). They trusted the author and also knew that while he might be getting paid to review us, he had a long track record of only recommending great products.
Unlike SEO which often attracts a wide net of visitors, the paid placement was highly targeted.
So while only a tiny fraction of readers were interested in the review, they were highly qualified.
What to do next? Funnel analysis of keywords
Definitely, try some more paid placements in relevant blogs. Also, look for other small traffic sources bringing excellent conversions.
We can also do a funnel analysis on different keywords.
Our big keywords like “online receipt software” probably only have a conversion rate of 3% as we are competing with other providers.
But long-tail keywords might have as much as 10% conversion rate, such as “online tax software that integrates with QuickBooks PC 2078?”
Finally, also look at individual traffic sources
Finally, another helpful method of analysis is to look beyond the obvious heavy-hitting referral sources like Facebook, your top keywords, and press mentions.
One great place to experiment is with forums and communities like Quora. For example, maybe a customer mentioned your product in TaxForum.com.
Sure, your analytics only shows about 50 visitors per month coming from that source.
But it’s likely very targeted. And unlike a blog post that takes 5 hours to write, dropping a comment in a forum only takes 5 minutes. 5 minutes = 50 visitors. So how do they convert?
By studying different sources, you’ll often find small pockets of traffic that convert very well. Go out and claim more of those opportunities.
Awesome funnel analyses to try out
Here’s a few funnel analyses to conduct. We’ve covered these above, but this is a summary.
- Analyze by keyword, comparing large volume “head” keywords with longer tail keywords.
- Analyze by overall channel source such as SEO, Paid, Social (don’t overlook multi-channel attribution).
- Analyze by individual referral source such as single posts in Quora or customers talking about you in relevant forums.
Put more money and effort into the best-performing channels. There is no single source of conversion here. All of your marketing channels are likely working together.
But there are easy, quick profitable wins. So, don’t throw your social media team out of the spaceship or feed the PPC team to the aliens on the next planet. You will need them. But keep an eye on where you are going by analyzing what has worked.
One last tip for digital analysts
The above analysis was for SaaS companies as “free trials” are generally the first metric measured. Of course, you want to tie your analysis back to revenue.
This final metric can be more complex in SaaS. For example, finding out whether your digital marketing is profitable is pretty easy with e-commerce as the visitor actually purchases from a shopping cart and conversion tracking is relatively simple.