A Complete Guide to Marketing ROI Tracking

If there is one thing that has allowed us at Slidebean to grow efficiently, it is our obsessive tracking of marketing budget returns.

Back in 2015 when we only had about $2,000-$3,000 worth of marketing budget to spend each month, getting the most out of our buck was fundamental for growth and survival.

But keeping track of where a customer came from is very hard, especially when you start diversifying your marketing channels to campaigns that don’t directly convert.

Let’s take a Google Adwords ad, for example; you can track and confirm the source of a conversion using:

-The conversion tracking pixel from Adwords.

-A conversion event in Google Analytics.

-The UTM parameters on the URL.

However, when you sponsor a podcast or a Youtube video, for example, customers might end up searching for your name in Google rather than clicking the sponsored link, which means you’d probably have no idea how they made it to your website.

This is where the science of smart tracking comes in; for any online product or service, there are dozens of tools you can use to track customer sources accurately; we’ll get into each one of them in this article.

The basics: Google Analytics

Google Analytics is a powerful tool. If it were easier to use, it would probably kill a bunch of other analytics tools in the market, but Google hasn’t been great at simplifying it.

Still, it’s simple to integrate and start tracking; all you need to do is add a short script to the top of your website.

From there, Google will start tracking everything that happens on your site: pages visited, funnels, user journey, time on a page, and so on. You can go back any time to look at historical data and answer new questions about user activity. However, mining this data is complicated.

The easiest way to approach Google Analytics is to define conversion goals early on. A conversion goal is a trigger that occurs when a user completes a desired action on the website.

These goals might be:

-Visiting an individual page or series of pages.

-Spending a certain amount of time on the website.

-Completing a trigger event that you are sending from your app.

Once you have goals defined, you can easily filter your data to know which channels are driving these conversions. On this sample, you can see that we can easily tell which channels drive more signups and compare conversion rates.

You can do the same for more advanced goals, like starting a subscription or completing a purchase. It’s important to define these goals early on because the goals function doesn’t allow you to look at historical data, so they will only start recording conversions once you have set them up.

Google limits conversion goals to 20 per account, so feel free to use them all up at the very beginning and then discard and replace the ones you aren’t using.

At Slidebean, we regularly track the following goals:


-Conversion to any plan

-Conversion to our Individual Plan

-Conversion to our Teams Plan

-Single presentation purchase

As you can see, all our goals are related to marketing ROI. You may also define goals to monitor the user interface of your product or service, but other tools like Kissmetrics let you take more action on those types of funnels.

READ MORE  Serving Up Savings Tax Tips for Food Truck Owners

UTM Parameters

You can further “educate” your Google Analytics metrics by using UTM parameters on your links.

A parameter is like a suffix on a URL. When you paste a link on a site, Google Analytics can track the domain and the address where that visitor came from, but that data is rarely very useful on a mid-to-large scale website.

UTM parameters are also the only way to get deep campaign insights in Google Analytics from marketing efforts that are not running inside Google’s environment.

With the Google URL Builder, you can send additional information to Analytics to track traffic sources better.

Source: usually the domain where the link will be posted. If you are advertising on Facebook, this should be facebook.com.

Medium: mostly used for paid ads campaigns, but you may also define it as email, post, or content. Google Analytics will automatically consider any CPM/CPC visitor as “paid traffic”.

Campaign: you’ll want to define a campaign nomenclature and get everyone on the marketing team to follow that standard, like US-Startups or WW-ContentMarketing, so that you can group all the conversions together using a single ID.

Campaign term and content (optional): you should only add these parameters if you are doing in-depth analysis or if your campaign has a lot of fronts.

Tracking conversions directly in your ad platform

Switching between your ads platform and your Google Analytics results can be cumbersome.

Inside Google’s environment, you can integrate your Google Analytics to Adwords account and cross-match your goal conversions to your campaigns, ad groups, and even specific ads and keywords.

Knowing which particular keyword drove a conversion can be extremely useful to filter out bad keywords or optimize for these keywords in your SEO plans.

But this Analytics-Adwords direct integration doesn’t occur naturally on other platforms, so it’s hard to know which specific ads are being successful unless you have an advanced UTM tags system.

This is why many platforms have started creating their tracking pixels. Some are easy to integrate (and some are not) but most follow the same system as Facebook.

With Facebook, you need to add a general tracking pixel to the head section of your pages. That pixel automatically tracks page views, so you can define conversions based on specific pages visited.

However, the best way to track goals is to use Facebook’s Conversion Events. Facebook has a default set of events like “Lead” or “CompleteRegistration” that you can trigger when a user clicks a particular button or completes a concrete step. These are much more accurate than URL tracking and are necessary if you have a single-page application like ours.

On Facebook’s ad platform, you can build campaigns using these conversions as objectives, so their ads are automatically optimized for the copy and images that are driving the most conversions.

Tracking conversions in Kissmetrics

Kissmetrics is a powerful tool to track activity inside your app and it’s done wonders for us regarding tracking our marketing ROI.

If you install Kissmetrics in both your app and your landing pages, their pixel will automatically assign an anonymous ID to every single visitor that lands on your website, even if they haven’t registered yet. Any data points associated with that identifier are stored on the Kissmetrics database and linked to an email address as soon as that user provides that information.

READ MORE  27 Simple Ways to Cut Your Business Costs

Let’s look at an example:

1. User A visits your website, thanks to a piece of content that you promoted through a Facebook ad.

2. They read the content and leave.

3. One month later, they read another piece of content from your blog that they found browsing the internet.

4. Three months later, that user returns to create an account on your platform. They search Google for your company name, and come across a Google ad that you have set up, and click it to get to your website.

Even though it was the Google Ad on step four that ultimately drove that customer to sign up, the real credit goes to the campaign that brought them there in the first place.

For Google Analytics, the credit/attribution for that sign up will probably end up being the Adwords campaign for branded searches that the customer clicked on step four; because Google Analytics assigns the signup to the last campaign that brought the user to the website.

In Kissmetrics, on the other hand, you can look at that customer’s activity log, and you will see that a unique ID for that user was created in step one, and that the first source campaign for that customer is a Facebook ad.

Here’s an example of a customer’s journey in Kissmetrics:

Each visit is tracked with activity and campaign sources.

One key difference between Google Analytics and Kissmetrics is personally identifiable data: as soon as your customer adds an email address, that email is connected to the anonymous ID created on the first visit, which lets you look at a particular user’s activity log.

You hardly ever need to look at user-specific data, but having that data available is fundamental to truly understand your metrics at scale.

Last resort: Promo codes and checkout surveys

Some campaigns simply cannot be tracked by traditional means. If you put a billboard on the subway, for example, you can try driving people to yoursite.com/subway, but many individuals will just search your brand in Google and convert from there.

This is where checkout surveys and campaign-specific promo codes come in. You can use a checkout survey to track and validate further the results you are getting from your other marketing channel tracking methods.

We implemented this checkout survey that we built in Typekit, and it has done wonders for us. We copied that two-question system from Squarespace, and it has been great to track our new marketing efforts, like podcasts.


For a SaaS company, there’s a magic LTV > 3x CAC number: the “lifetime value” (or LTV) of a customer should be more than three times higher than the cost of acquisition (or CAC) of that customer.

For SaaS businesses, this is calculated quite easily using the monthly churn percentage.

Tracking lifetime value on other types of businesses is harder. On an ecommerce platform, for example, you can use margins, average transaction size, and percentage of repeat customers to calculate an LTV.

READ MORE  Get a Business Credit Card to Build Your Startup s Credit

We recently implemented a product that works as a single purchase rather than a subscription plan, so we’ve looked at customer data to understand how many of our users make repeat purchases, and how many of them subscribe a plan after that. We accounted all of that to estimate that ‘single purchase LTV,’ which is now at 1.4x the value of the original transaction; but this will obviously vary from business to business.

Bringing it all together

Now you have various data points confirming the customer source, but how to summarize them in a way where you can study your ROI?

We use a combination of spreadsheets to connect the following data points:

-Customer ID: emails from the database.

-Customer plan and estimated LTV: based on their plan or purchases sourced from SaaS metrics platforms like ChartMogul or Baremetrics.

-Customer’s sources: all the data points collected from the UTM tags and the checkout surveys.

-Customer’s revenue to-date: pulled from Stripe, our credit card payments processor.

Metrics are everything and they will become more and more complex as your business grows. Developing a system early on will allow you to grow your understanding of the data as it becomes more advanced. It’s important that you understand what you are doing rather than just following a step-by-step tutorial.

For example, you can search Google for “average values in a database column based on specified conditions,” which will bring a bunch of tutorials on using the AVERAGEIF function. The formulas that you’ll end up using the most are INDEX/MATCH, COUNTIFS, and SUMIFS.

These are the spreadsheets that we end up using the most:

-Weekly/monthly summary: a general spreadsheet and charts to understand week over week and month over month performance.

-Monthly recurring revenue per campaign: using INDEX/MATCH, you can generate a graph of how much MRR each campaign brought for a given weekly or monthly cohort.

-LTV per campaign: using INDEX/MATCH as well as your estimated LTV data, you can calculate the estimated LTV brought by each campaign.

-Revenue collected to date, per campaign: using Stripe data, you can calculate actual charges made to each user and determine if the spend for a particular campaign is on track to being recovered.

Metrics-driven decisions are as objective as a business gets. They have allowed us to mitigate the risk of decisions that otherwise we would have had to make on a gut feeling.

Leave a Reply

Your email address will not be published. Required fields are marked *