Curated by Carsonified

Learn with Treehouse

Accessibility, CSS3, Design, Django, HTML & CSS, HTML5, JavaScript, jQuery, NoSQL, PHP, Responsive Web Design, Ruby, Ruby on Rails, Tools, UX, Version Control, WordPress, iOS and more

Article 7

Mike McDerment of FreshBooks on Web App Marketing Metrics

By @keirwhitaker

01 June 2010 | Category: Web Industry

At Future of Web Apps Miami 2010 Mike McDerment, CEO and Co-Founder of FreshBooks, gave an amazing presentation on "Web App Marketing Metrics".

During the talk Mike outlines the metrics you should measure, the systems you need to measure them with and finally the reporting tools you can create to understand your data. It's a great insight into a simple yet powerful way of measuring the success of your online campaigns.

Watch this and other videos from Future of Web Apps Miami 2010 on our Vimeo channel

Transcript

Mike: Thanks. Good afternoon. I just wanted to start off by saying thank you, especially the folks at Carsonified for having me here and putting on what is, again, another awesome event. I also want to thank all of you folks because the web is a better place for events like this, where folks like you can come and meet, and hopefully learn some stuff from folks like me. You voted with your wallets to make this happen, to support the folks at Carsonified. Thanks be to you.

This is me. I’m Mike McDerment. I’m the Co-Founder and CEO of FreshBooks. To set the stage for today, I want you to ask yourself this question, true of false; technology is the hardest part of building a web app business. False, alright I agree. It is indeed false. What I would say is the hardest part is the marketing, the awareness. You can solve the hardest technical problem but if nobody knows what you’re up to, it doesn’t matter. It may matter, but you’re going to be more successful if there are more people aware of it.

Ryan asked me to talk about some of the things we’ve done over the years to help us with that marketing piece. I call this talk “Flight Systems” and I want to talk to you about some metrics that are going to help you if you’re building a web app, to understand the success you’re having and improve upon it. I want to lay out for you some systems you can build to help effectively track your marketing activities, and these metrics themselves.

I’m breaking this talk up into three sections.

  1. Part one is I’m going to talk about metrics, lead you through some stuff and teach you a bunch of fancy acronyms.
  2. Part two is I’m going to show you three systems you’re going to want to build, they’re really simple.
  3. Part three, I’m going to try to do a quick case study that hopefully ties all that stuff together and gives you a taste for the power you get if you build these systems.

I want to underscore the importance of these systems and questions that can help you answer. If you’re building a web app, I’m going to come at most of this from my background, which is a freemium/recurring revenue business model. It really doesn’t matter. You could be doing a consumer facing, ad-driven web app.

No matter what, you’re going to want to know who your most valuable customers are. You’re going want to be able to link back certain key metrics to an individual customer if you can, and this talk is about enabling you to do that.

A quick bit about FreshBooks, we’re the leaders in online billing and bookkeeping, if you haven’t heard of us. Our mission is to get you paid and as Ryan said, my business started out in my parents’ basement. I spent three and a half years there, sort of toiled away. There is no venture money in the business, but we’ve got 40 people chugging away in Toronto, Canada today. We serve:

Solo professionals, web developers, dog walkers, lawyers, people who get paid for their time and expertise;

Teams like design agencies who get paid, they may have 20 people tracking time and that kind of thing.

The third group you may be less familiar with, if you’ve heard of FreshBooks before, and we support a lot of recurring revenue-based businesses. We’ve a lot of web hosts as customers, WISPS (wireless Internet Service Providers) and actually a growing number of web apps.

In that vein today, I have a FOWA exclusive announcement; Dave was just talking about – we actually have a pretty wide open API. We support OAuth, which he was talking about, but today, for people who like open standards, we’re just announcing today and pretty quietly – I’m announcing it here and we just put something up on our developer blog; support for WebHooks.

Also, our whole application is available through the API, or almost all of it. We’re built on top of the API, the application itself, but today you can send credit cards through the API. That’s a pretty big deal. Somebody can sign up on your website, you can pass that through, FreshBooks will take care of your recurring billing, and all that stuff.

If you’re building a web app, please have a look at using FreshBooks, like over a million people already have. This is a graph of the story of our growth.

Part One – Metrics

Part one of this talk is talking about metrics. I’m not a huge fan of MBA-speak, but there is a place for just about everything in this world. I want to walk you through four metrics and their acronyms. I’m going to try to explain them from a commonsense point of view. Oh my word, that’s not how I built my slide. We’ll just work with this. It’s a bit of a different layout that I had presented them.

  1. The first metric is if you are in the process of building a web app, chances are you’re really focused on developing a good product, trying to get it to launch. Once you get it to launch, if you spent any marketing dollars to promote your application and you get your first customer or your first couple of customers, you’re going to start to ask yourself a pretty basic question; how much does it cost us to get a customer? There is a metric when you’re running a web app and you could learn about this online. Cost per acquisition, and the acronym is CPA. It answers the question; how much does it cost us to acquire a customer? It’s pretty straight forward.
  2. The next one is let’s say you have 100 customers and they’re all paying you $50 a month. Knowing that $50 a month is the average amount they pay you, that’s average revenue per user, which is ARPU. The idea is if you know this number, and you’re running a web app that collects subscription revenue, you want to try to influence that number upwards. But it begins with tracking it.
  3. The next important metric for recurring revenue web app businesses is churn, this is an indication of at what rate people are canceling and leaving your service. You work really hard to get customers in the door for them to pay you a monthly subscription, and eventually the day will come when the first person cancels. You’re going to say “Damn, this sucks!” It does, and churn can be a killer.If your churn is 5%, or 5% of your customer base is canceling every month, think about this for a second; in a 12-month year, you have to grow your business 60% just to achieve flat growth. Most businesses do not grow 60% a year. A lot of technology businesses do and that’s some of the neat things about this stuff. The point being with churn, you want that number to be really low.
  4. The final number there is lifetime value, LTV, which is a combination of those other three things. It answers arguably the most important question if you’re building a web app, which is how much is a customer worth? That’s lifetime value.

Some of you may be really familiar with this stuff, but this is important conceptually to even understand this stuff. Here is another way of contextualizing where in the lifecycle of you acquiring a customer that these metrics matter. At the top, that inverted triangle may be familiar to many of you as sort of a classic sales funnel.

It’s indicating that people come to my website as visitors. About 10% of them will convert into a trial, and about 1% may become a paying customer. That’s a very back of the envelope conversion funnel, but the concept is visit, trial, pay.

Once somebody becomes a paying customer, that’s where the metrics I’m talking about really start to come into effect. How much did it cost to get that customer? What’s the average our customers pay us? At what rate are they canceling, and how much are they worth; what’s the lifetime value of those customers?

That’s a lot to work to do once you get those customers. A lot of data to keep track of. Before leaving this slide, I want to call our attention to that dotted red line that runs across the top. I like to call that the “Google Line”. This is going to put into perspective what this whole presentation is about.

I want to show you the systems you need to build to track everything below that dotted line. It’s really important that you track all that data and you don’t leave it to someone else. I’m going to pick on Google here, for a bunch of reasons.

  • Less accurate data – using someone else is going to mean you have less accurate data. I know with Google you can create scripts that tell you if you’ve got a paying customer and all this stuff but the fact is; nothing is going to be as accurate as storing that stuff in your own database.
  • Flexibility – you’re going to want to slice and dice this data a million different ways. Today, thinking about the ways you’re going to want to slice it, you can’t conceive of them all. I’ll tell you what though; if you’re using Google, you’re only going to be able to slice them the ways they make available to you, and it’s not going to be what you really need it to be.
  • Relate Metrics to Usage – it’s going to be hard to relate these metrics to usage of your application. Neal showed some ways that you can kind of do this with Google, but believe me, it’s just the tip of the iceberg, and the accuracy is not going to be what you want it to be. I believe these systems are so important that you shouldn’t outsource them. Just being tied to a vendor for something like this is not the best idea.

The good news, after hearing all that, is it’s actually easy to do this. I’m going to lead you through the three systems now.

Part Two – The Systems

Three pieces of the puzzle are cookie tracking, database storage, and reporting. The first up is cookie tracking. Three parts to cookie tracking; the variables to track, unique URLs, and cookie cutter.

What I’m really getting at here with cookie tracking is when people visit your website, instead of relying on Google script to create a cookie and then send that back up to Google Analytics, you want to create your own cookie, for certain kinds of events. You can track a million things. You can track screen resolution, operating system, everything Google does. It’s not hard, and I’ll show you how easy it is. But, I would encourage you to begin with these three things:

  1. Start with the domain they came from.
  2. The referring URL on that domain that they came from.
  3. Focus on the landing page that they showed up on your website.

Why domain and URL? I’ll give you an indication. It’s great to know, let’s say TechCrunch writes and article and points to your web app and you’re really fired up about that. You get all this traffic. Down the road, what may be more interesting to you is to know the specific posts people came from.

Maybe there is a post about your industry and you just get mentioned, but people come and convert really well. You’re going to want to be able to go back in time and know that and say, “Maybe we should write more content about this topic.” Just knowing it came from TechCrunch is not that useful.

Store the URL it came from and the landing page, I’ll show you why those are important right now. This is a banner ad on a web design website that we’re running, so we’ve got a lot of web designer, developers as customers. Here is a little chicklet sort of banner ad. If you rollover that ad, we point all our advertising, stuff we create, to individual landing pages.

You’ve probably seen this before. Google Analytics will help you do this as well; UTM=, like all this kind of stuff. You want to create unique URLs and store those URLs in your database so you can go back later. We can compare. Maybe on this website we’re running three of the same banners. We want to be able to compare which one worked best. If we store the landing page URL, we can tell. You want to store and track that stuff in your database. I’ll talk more about that in a second.

This is all it takes. This is actually one line of code which was hard to read if it was horizontal, so I just looped it over. This is going to be all you need to write to store information about which domain referred somebody to your website. That’s it; to store, it’s three-times that to add URL and landing page.

This is PHP. You can do it in whatever you’re writing your app in. It’s that simple to do this. Have a look at those three variables. Write the stuff, and then proceed to the next step which is going to be storing it in your database.

Two pieces to this. We’re talking about adding a table to your database; I’ll explain what it is should look like. And, associating that table with user profiles. This is a screenshot of – if you’re building a web app that has any kind of registration, if you store an email address on a user, maybe a street address or that kind of thing, this is basically your “User Profile Table”, your account table in your database. Everyone probably has one of these if they’re building a web app.

This is a table you probably do not have in your database, called a “Marketing Table”. It’s going to include things like the domain they came from, the landing page they landed on. We have something when you sign up and try out FreshBooks, “How did you hear about us?” We let people tell us that. Those are the kinds of things you want to have in your marketing database.

You want to be able to associate these two tables later on, when you’re looking back. This is actually the “aha” moment for a lot of people. You take this account which was created, somebody signed up, and you look back and ask what is the marketing stuff associated with that person? How did we get them? If this person turns out to be our best customer, we want to know where they came from.

I don’t want to waste your time. So far, all we’ve done is added a new table. That’s pretty simple. We’re writing cookies and when somebody signs up for your site you’re going to put stuff in those tables. That’s not a hell of a lot of work.

Step Three – Reporting

The next piece here, we’re going to talk about simple reporting. What are the basics to get you going? I’m a big fan of building web apps and when you build a product, build the absolute least you can, get to launch, but I will say I believe in building all this stuff I’m talking about right now. It’s the only think I would add to the least.

We’re going to talk about searching, sorting, and dumping of data. Before I go any further, I want to make another point here and get you thinking. How do marketers get data out of a database? They interrupt software developers. That’s no good. We don’t want that.

We want to build something so that software developers don’t need to be interrupted because they’re probably in the zone and working on something good. If you’re writing software, the idea of writing a one-off report that’s only going to be used once and doesn’t have ongoing value is not that attractive.

Here is a simple system you can build to help your marketers search, when they want, and get the information they need. This is an example. You could put whatever is relevant for your business in here. In this case, this will enable a marketer or business person to say, “Give me all the customers in Canada who signed up in July 2008. That’s pretty powerful.

You build this search interface once and they can run a million of those queries. Whether they’re paying, free, whatever it is, and then all you need to do in terms of an interface for reporting is to dump this out into a screen that looks like this. Imagine that the number of columns is basically infinite. It would be pretty easy to add a column to this report. You can do that periodically.

Give them this one interface. Dump it out, make those column headings. You can use jQuery, and make them easy to sort. Somebody could click on “average purchase price” and sort all the results from the people who are paying from July 2008 who live in Canada, and get from greatest to least. That’s what’s going on.

The next thing you want to do is to make it really easy to dump this data. Get it out, put it into Excel where the marketer can make all the pretty reports they want, and do all those kinds of things. You are just giving them the ability to get data out of the database. They should be able to leave you alone then. You don’t need to build fancy dashboards with all kinds of different interfaces. Let them get the data and say, “You build your own stuff in Excel.”

Those are the three systems. If you build those things, you’re probably going to end up saving yourself time in the long run. You’re going to give yourself a shot at having a lot more visibility. You can build really sophisticated dashboards later on, but you don’t even know what to build in those dashboards yet, so let your marketer build all kinds of reports by being able to get the data out of the database. Then you can implement the reports at a much later date.

Case Study

Let’s have a quick case study and see if we can bring this stuff all together. Let’s use the example of a web app, with a freemium business model. For those of you who aren’t aware of what a freemium business model is, that’s what we use at FreshBooks. You can use FreshBooks for as long as you like with three clients or less, but once you have a fourth, you pay us a monthly recurring fee. All kinds of businesses are run this way. Evernote and all kinds of things.

In this case study, we’re going to run a marketing campaign. It’s going to run for 6 months, we’re going to spend $10 thousand a month. That may sound like a lot of money, but if you’re buying advertising it’s surprisingly little. I should say; there is a lot of talk about not spending any money on advertising, marketing, or what have you.

I can tell you we spent, from day one. It was $400 to begin with. We’d get 30 trials out of that, but there is a place for marketing and advertising. It does move the business. It helps raise awareness. It’s better if you don’t need to spend the dollars, but traditionally a lot of businesses are built by doing it. All this will help you spend more effectively.

Wow, you’re leading up the whole presentation to one point and then those slides don’t actually show up. Do you see them on your screen? Okay. Let me get my laptop here.

Ryan: While we get that set up, we’ll do some questions, once he grabs his laptop. Let’s do some quick Q&A while Greg gets that setup.

Q & A

Q: I was wondering, depending on where you’re advertising, do you have different landing pages that are tailored – if you’re advertising on design blog versus more business focus site, or are they all the same, just for the different query stream?

Mike: I think it’s always a good idea to contextualize experiences for people. If you have the time and resources to build a landing page that reflects their mindset when they’re showing up, or I’ve even seen using the logo of the site that’s sending them over and that kind of stuff; building dedicated landing pages is a great way to go. We don’t do that in all cases, but we do it sometimes.

Q: In your tracking database, do you track every single different time the lead came to the site, and then build a history of they came from a Google link, they came from one of your banner ads, and then on the third time they bought?

Mike: You’re getting into attribution analysis there, where if somebody came 5 times before they became a paying customer, the truth is we don’t. Our systems don’t do that. Maybe someday they will.

Q: Given now that Google Analytics has an API which allows you to actually retrieve data that they’ve logged, would you use that in any way in conjunction with this database?

Mike: I would use it the way I use it today, which is if I go back – that slide where we had the funnel and then the metrics at the bottom, and that red dotted line; I would use Google to tell me how many visitors come to my website. That’s it. That’s all I use them for. They attract activity on the marketing aspect of our website, but once you become a lead, or a trial, we take it from there. We just take our uniques from Google and we use our own stuff for the rest of it.

I want to impress something upon you all, and I’ll talk about it again at the end; this is about capturing the data. We haven’t even imagined all the ways we can use it today, but if you start collecting it day one, you can always go back and do more with it. That’s why I sort of – if you’re even trying to get to launch, I really encourage you to build the least, but build this stuff so you can figure out where your best customers come from.

Let’s get back into this. We’re back in this case study now and I’m just going to walk you through it again. Hopefully this will tie things up in a neat little bow for you. It’s a web app, freemium business model, we’re going to run a 6-month campaign, and we’re spending $10 thousand a month. That’s what this marketing campaign is about.

I’m going to show you a chart here and this is data you can get out of Google. Let’s have a quick walk through and see what this chart is telling us. It looks like we got 50 customers in January, that’s great. We spent $10 thousand and got 50 customers in January. It looks like I got 75 in February, by June we’re getting 100 customers in this campaign. That’s pretty sweet. I’d like to know more. I want to understand June. How did we get to 100 customers? Charting new territory here folks; sorry about this.

Let me tell you what you were going to see. I’ll try to do it in words and we’ll go to what we learned from what we were going to see. I was talking about how you spent $10 thousand in January and got 50 customers. You spent another $10 thousand in February and you were at 75 and the idea is you have this cumulative nature based on marketing spend. By June you’re getting 100 customers a month from basically the backlog of all this activity.

What I wanted to introduce to you is a concept known as “vintages”. If you look at that February block, and we had the other graph, you’d see in February there would be a line here, and that would be for the $10 thousand, the customers that you got. The 50 customers would come from the $10 thousand you spent in February. 25% would actually be from the dollars you spent in January.

Then this block here which would be 10 customers, would be dollars you got from January, even though they’re showing up in March. By the time you get to June, this piece is all sliced up but it’s all trackable. You’d have this vintage that goes along the top here that is your January marketing spend working for you throughout the year.

From that one image, that one there, you would learn a bunch of stuff. These are the kinds of things you’d learn. You’d learn when we spend $10 thousand; we get 100 customers out of that vintage. It would take us 6 months to get those 100 customers, but we get them. Imagine knowing that your marketing dollars work for you, 6 months after the fact, and imagine knowing if you look at the fourth point there, 50% of them are going to come in the first month, 25% in the second, 10%, 5%, 5%, 5%. Your marketing dollars are working in this way, over this period of time.

We were talking about all those metrics at the start, I led you through those; if I spent $10 thousand and I got 100 customers, I know my cost per acquisition is $100. I can break this stuff out by vintage, and then I can go back and ask the question, just about my January vintage, two years from now I can ask; what was the average revenue per user of those customers we acquired through that campaign?

What was their lifetime value? How much did it cost us to acquire them? That is incredibly valuable stuff. You want to do it on the business, on individual campaign, with a partner if you’re working with them. The fact is; Google is not going to help you do that to the extent you want to be able to do it.

Ryan: Mike, we could break a bit early for our break, fix your slides, and then you can do two minutes at the end when we come back to tie it together.

Mike: I’m easy. I don’t want to…

Ryan: Let’s do that. Why don’t you finish what you have to say here, and then we’ll fix a couple of those slides and finish Mike’s presentation after break. I want you guys to get that.

Mike: Okay cool, this is actually my last slide anyway. These are parting thoughts: build these systems – they’re easy. They’re too important to outsource.

I want to impress upon you it’s all about collecting this data. Notice, I didn’t emphasize building sophisticated dashboards and stuff like that. You don’t really know what you need, but if you collect the data you can figure that out later. Just build the stuff. Don’t even tell your marketing business people or whatever; when they come looking for this stuff, they’re going to be so glad you had it. That was my talk on “Flight Systems”. That’s basically what I had.

Ryan: You’re not done yet. We’ll have cookies, coffee, and tea now. Then we’ll fix that slide and when you guys come back he’ll do probably four minutes with you so you can show it and explain it because it’s important. Give him one more hand, and have nice tea and coffee.

Mike Returns to the Stage

Mike: I carved out that vintage I was talking incessantly about. Those orange blocks are your January dollars. That’s the way your $10 thousand works out over this 6-month campaign. That was kind of the point of this slide. The fact that you can slice and dice this stuff is because you built the systems yourself and it’s going to be accurate.

You know what; if I wanted to slice this by maybe that $10 thousand was the campaign, but maybe I spent half of it on Google AdWords and the other half on banner ads. I can re-slice this exact same graph and see how the things distribute based on those things. It gets your mind kind of going. For us, we have people who have sign up maybe by country; where did they come from?

If you get this stuff in your database, you’re going to be able to do that yourselves. That’s the slide. Ryan, thanks for getting me back up.

There is the wrap up on that, so Greg, if you want to go to the next one. Those are the things we learned you can track. If you track that orange vintage – I think the concept of it taking 6 months and 50% coming in the first one, 25% in the next is just sort of interesting, to understand how marketing works in the first place. You don’t get it all right away.

When you add those customers, those are the ones you can directly track and certainly if you do a good job serving them they’re going to lead to more business as well. This is just the basics and bare minimum. Thanks a lot.

Follow @thinkvitamin on Twitter Please check out Treehouse

Other Posts You Might Find Interesting

  • Sorry - No Related Posts Found

Comments

  • http://www.travelstormer.com George Coltart

    Great talk, thanks for this:)
    Metrics are so hot right now.

  • Arnold

    I feel like I’ve seen this talk by Mike McDerment before.

  • http://freshbooks.com/team/mike Mike McDerment

    Hey Arnold – you may have. I did a version of it at FOWA London ’09, and Ryan asked me to do it again at FOWA Miami…and this is that (and I’d say improved) version.

    Cheers,

    - mike

  • http://www.hotgloo.com Wolf Becvar

    Thanks so much for sharing this Mike. We’ve also had a lot of these discussions about GA vs. our own backend, so this talk is very helpful! If we would have found your company just a pinch earlier we would have saved us a lot of hassle. Also I really digg your company blog: breaking down the sometimes complex and confusing infos fom all the provider websites (and hell they are confusing) and presenting them the way you do …chapeau! BTW: could you put up the slides on slideshare or scribd?

    Many thanks,
    Wolf

  • http://rob-smith.info Rob Smith

    This is an interesting talk. I agree that you need to be holding your own data on this kind of activity, not least to lower your overall business risk of another company owning all of you marketing data. I would say that the two systems can work in conjunction with each other a bit more than Mike was suggesting. We use GA on a lot of sites to track events, conversions, average order value and the like which is really powerful information, and when you have a lot of people wanting access to different data the GA interface copes with that pretty well. I think a slightly more balanced approach would be where I would go in terms of measuring a web app but each to their own, and, in fairness, Mike’s been there and done it!

  • http://www.redhive.co.uk Ricky Thakrar

    An incredibly valuable presentation / speech for any small business.

  • http://philwebservices.i.ph/blogs/philwebservices/2010/06/03/philwebservices-guide-to-choosing-high-volume-philippine-web-hosting-provider/ Philwebservices

    Great article! It’s straight to the point and well-organized. Hope you’ll post more articles like this. Thanks for your insights and for posting. Kudos!

Learn Web Design!

Ads Via The Deck

Think Vitamin Radio
Episode #34: Amazon Fire and Responsive Roundtable

Check out our bi-weekly radio show. Covering the hot topics on the web.

Audio clip: Adobe Flash Player (version 9 or above) is required to play this audio clip. Download the latest version here. You also need to have JavaScript enabled in your browser.

Download Podcast as mp3

Advisory Board

The Think Vitamin Advisory Board in place make sure that you receive the best content possible.