Saturday, February 25, 2012

How to Really Track Lifetime Customer Value


Tracking lifetime customer value and measuring the ROI of each of your marketing vehicles is the holy grail of online marketing.  Unfortunately many online marketers don’t know how to actually execute on this vision.  These marketers understand the goal of measuring lifetime customer value, but they take so many shortcuts that their conclusions are suspect.  

Tracking lifetime customer value is more complex than it seems because marketers rely on two disparate systems for customer tracking, and those systems generally don’t talk to each other.  The first tracking system is a web analytics package, Google Analytics being the most common.    The other tracking system is the transactional system (e.g., ecommerce database) that tracks customers and orders.  While the web analytics package holds information about where customers came from, lifetime value of a customer is generally in the transactional system, thus creating the challenge.
Because marketers don’t understand how to make their analytics package interface to their transactional system, they start taking shortcuts.  The most common shortcut is to pull an average lifetime customer value from the transactional system and assume that value holds across all customer segments.  This is a big assumption that often doesn’t hold up when you have access to true lifetime value by customer segment.  The fact of the matter is that some segments spend far more than other segments do so you need to dig deeper.

Another approach marketers sometimes take is to estimate customer value based on the data in Ad Words or Google Analytics (when the e-commerce capabilities are turned on.)  The problem with this approach is that Ad Words uses a 30 day cookie so you only capture customer spend for the first 30 days after they click on an ad.  That is far too little time to get a feel for lifetime value.

There are two basic approaches for accurately tracking lifetime customer value: pass customer source information to your transactional system or extract enough information from your analytics package that you can match it up with your transactional system.  In the first scenario you tag each paid ad campaign with extra data that specifies where a customer came from.  For example, let’s say we are running ads for my blog at http://kennethpmcdonald.blogspot.com/.  When we set up the ads, instead of entering http://kennethpmcdonald.blogspot.com/ for our landing page, we enter http://kennethpmcdonald.blogspot.com/?source=123 where 123 stands for the ad campaign.  We then need the transactional system to capture "?source=123" and associate this information with the appropriate customer.  In other words, when a customer clicks through on that ad, you store “123” in a field in your database for that customer. If you wrote your own transactional system, this generally isn’t a hard change on most systems.  If you are running a packaged transactional/ecommerce system, this approach may or may not work depending on how flexible your system is.

Aside from the integration issues, there are some other pros and cons of this approach.  On the positive side, once you get this system up and running, it is fairly straightforward to run reports that tell you the total amount of revenue by campaign including what customers purchased and when.  The reason for this is that all the segmentation and revenue data is one place – your transactional systems.  However, you don’t have the cost of your campaigns in the transactional systems so you will still need to match that up, but that is generally simple enough that you can do that by hand if you don’t have a ton of campaigns.  

One major issue with this approach is that it works for paid ad campaigns and other approaches where you can control the URL (in order to append "?source=123" information).  However, there are cases like free search where you cannot control the URL.  As such, you cannot measure ROI for all sources with this approach.  While paid ad campaigns are the primary place where we want to know the ROI, it is always nice to know the ROI for SEO efforts and other marketing projects too.

The second approach for tracking lifetime customer value is to extract enough information out of the web analytics system to know which customers came from where.  If you are using Google Analytics, you need to implement the e-commerce capabilities in Google Analytics.  Once this is done, you will be able to run reports in Google Analytics that show transaction IDs by customer source.  For example, can click on the E-Commerce section in Google Analytics and then click on the Transactions report.  From there you can select a segment or use the secondary dimension feature to filter the results.  Viola, you now have a list of transactions by source.  You can export this data from Google and import it into a reporting database for your transactional system where you can see what follow-on purchases were made by the customers in each source.  In other words, Google Analytics tells you that a customer came from a given campaign and placed order 1001.  You now can look in your transactional system and find out that this customer later placed orders 1010 and 1011. 

To export data from Google Analytics it is best to use an automated tool of some sort.  Excellent Analytics is an Excel plugged-in that grabs data from Google Analytics using the Google Analytics API.  It takes a little work to get set up, but it is extremely helpful if you go for this approach.
One of the great things about this second approach is that it works for virtually any customer source.  Want to know how much customers who came from organic search spent?  No problem with this approach.  As a matter of fact, you can make the data as granular as you want.  For example, you can look at users who came in on a specific keyword phrase via organic search and figure out their lifetime value.  Basically the sky is the limit on how much you can slice and dice the customer value data.

There is one major issue to be aware of with this approach  Google Analytics’ terms of service have the following section:

You will not (and will not allow any third party to) use the Service to track or collect personally identifiable information of Internet users, nor will You (or will You allow any third party to) associate any data gathered from Your website(s) (or such third parties' website(s)) with any personally identifying information from any source as part of Your use (or such third parties' use) of the Service.
I won’t try to be a lawyer, but you could definitely read these terms to say this approach violates the Google terms of service.  On the other hand, one could argue that Google is prominently listing the Transaction ID in their interface and that is a personally identifiable piece of information so aren’t they going against their own terms of service?  In addition, if you are aggregating the data by customer segment instead of looking at it by specific customer, you probably are not violating the spirit of this section.  You will have to make the call on it.  You could always use a different web analytics package if you are concerned about Google’s terms.

Regardless of what approach you take, there is one issue that you will need to think through – customers don’t follow a linear path from one source through your web site.  Customers often times will pass through multiple sources before completing a purchase.  They might click on several paid campaigns, an email campaign, and follow an organic link before making a purchase.  Which source takes credit for the customer?  You will have to figure out what rules apply.  Many of the companies I have worked with generally consider the first source to be the one that “owns” the customer but they will reassign the customer to another source if the customer goes dormant long enough (e.g., no purchases for 6+ months). 

If you follow these approaches to track lifetime customer value, you will find that your decision making is greatly improved.  You now will be able to measure the impact of virtually all your marketing activities in great detail.

2 comments:

  1. The most common shortcut is to pull an average lifetime customer value from the transactional system and assume that value holds across all customer segments.
    Local SEO

    ReplyDelete
  2. There are a lot of ways to approach the multiple sources issue. Here's how I think about it:
    1) First touch: if you only capture the fist source, you have a "first touch" model, where you attribute value to the source that first touched your customer.
    2) Last touch: if you always over-write your source with the last source, then you have a "last touch" model, where you attribute value to the last channel before the customer purchased.
    3) if you are able to track all sources, you can then use many different types of "revenue attribution" models to decide which source should get how much of the attributed credit (equal weight, time weighted, cost weighted, etc models).

    It's also good to keep in mind that not all marketing activities are designed for $ conversion - some are educational, brand building initiatives, and it would be misleading to include them in the mix of revenue attribution models.

    ReplyDelete