There are many good metrics that help us understand customer behavior on our websites. Conversion rate, page views per visitors, average time in website, average number of pages to purchase etc etc, and you can segment them. But sometimes they leave us hungry and unfulfilled.
I have not seen these two metrics a lot in off the shelf packages but I like them a lot because they can be deeply insightful about customer behavior, specifically in context of an outcome. The metrics are “Days to Purchase” & “Visits to Purchase”. I am sure you've seen them used before, if you have not read on.
(I am using the term purchase here but there is nothing unique about ecommerce, you can use these metrics if your site exists to gather leads or get people to download pdf’s or for tech support. All that is required is a robust understanding at your end of what the “outcome” is on your website.)
Most of the current crop of web analytics metrics (KPI’s if you will) are very much session based. Not all but most of them. The “limitation” of session based metrics is that it presumes a “closure” in one session (one visit if you will). That is usually not the case. Customers visit your website, come back more times, depending on why you exist, and then maybe close the deal (buy, give a lead, get an answer, send your CEO a nasty email about how dysfunctional your website is).
These two metrics are “pan-session” metrics and since they accommodate for how customers really use most website they can be deeply insightful.
Ok enough teasing, here are the specifics (though I have to admit I am much better at this topic in front of a white board than a blog post, I ask for your patience because this is a bit complex)…..
Assumptions:
- Your website uses some kind of “sessionization” methodology. For the most part, regardless of if you use weblogs or javascript tags to collect data sessionization happens using cookies. Either via your web analytics tool or your web server platform. Both are fine.
- Your website sets both transient session cookies and persistent 100% anonymous “user_id” cookies.
- Like anything that relies on cookies it is optimal if you are on first party cookies to improve quality (it won’t eliminate error, just reduce it). [PS: If you are not on first party cookies I strongly recommend that you badger your analytics provider to switch you to first party asap, all the big boys/girls support first party cookies.]
Definitions:
- Avg Visits to Purchase: Average number of sessions from first website interaction to Purchase.
- Avg Days to Purchase: Average number of days from first website interaction to Purchase.
Why should you measure these kpi’s?
Most often what is lost in all our analysis is the fact that there are many different interactions for someone before they purchase. People come, they see, they come back, they see something else, they go read amazon reviews, they do price comparison and then for some weird reason even though you sell at a really high price they come buy from you.
Session based metrics (say all the off the shelf path analysis reports you see in your web analytics tools on the market today) don’t really illustrate this.
So as you run your affiliate marketing campaigns or your PPC campaigns or direct marketing efforts, what is the value of the first visit by a customer and should you pay more to get customers into the door because they have longevity?
One simple reason to measure these kpi’s is to get a true understanding of “how long” it takes people to buy from your website and is that behavior different across different segments of your website customers. If there is, you can exploit this knowledge to optimize your campaigns, promotions, other efforts to get the best bang for the buck.
How do you measure these kpi’s?
The analytics tools at our disposal simply don’t allow for this kind of sophistication in analysis so we use our data warehouse that contains all our aggregated clickstream and outcomes data. Perhaps your web analytics tool could allow you to do this (if so please do share via comments). We run SQL queries and here is the “query” in english:
- Gather all the sessions for the last x amount of time (six months in our case, hence millions of rows, use oracle)
- For each session the data you will bring in will depend on your website, I recommend: all cookie values, campaign values, pages.
- Organize the sessions by their persistent “user_id” cookie value (often sites use shopper_id as a persistent cookie, just ask your web guys what the name of the cookie is, I am sure you have one)
- For each “set”, as in #3, look for the session with presence of your “thank_you” (purchase) page.
- For the first metric Visits to Purchase:
- Take all the persistent cookie user_id’s for all those who purchased in a given month (say July 2006)
- Look back in the data (six months in the above case) to find their first visit
- Count of Sessions in the “set” between first visit and purchase visit
- For the second metric Days to Purchase
- Take all the persistent cookie user_id’s for all those who purchased in a given month (say July 2006)
- Look back in the data to find their first visit
- Count of Days in the “set” between first visit and purchase visit
- Done, get a glass of champagne, you deserve it
What do you do next?
Now you have overall metrics that look something like this (all numbers obviously not real and your numbers will look different):
And…..
This in of itself is really valuable. If this data were real and for your website it would be thrilling to know that a full 81% of people convert in three sessions or less and most of them (62%) on the same day (!!). If you are the half empty kind of gal/guy, it is rather depressing that you are essentially getting just a couple of shots, in just one single day, to convert someone to a purchaser. The chances someone will buy go down dramatically after day zero (the first visit day).
You can obviously make the groupings of visits and days that make the most sense for your business.
What is even more valuable is to segment this data (is that not a good idea all the time!! : )).
You do the simple one first. Segment by month and get a trend of the data. Are you getting better or worse over time? Is there a seasonality impact of these numbers (so in the dull month of July if people take their own sweet time, rather than valentine's day then you can do different things on your site)?
My standardize advice after that: segment by your core acquisition strategies (examples: affiliate marketing, “direct” traffic, PPC, SEO, referrers from blogs etc). You are going to get a Real understanding of customer behavior because most likely you’ll see something like this:
Wasn't that a lot of fun? Only to a geek like me you say? I’ll take that. : )
What actions can I take from these Insights?
As you begin to understand pan-session customer behavior you are actually getting into things beyond the surface, things that most web analytics tools don’t provide. This also means that if you get this far, you can develop an understanding that can be a true competitive advantage for you because this is hard to do, even for your competitors.
Actions you can take from these kpi’s could be:
- Optimize spending on key phrases for ppc campaigns, especially as you bid for “category” terms (with category terms you are betting on getting on the radar “early”, compared to brand key phrases, and if the number of sessions is small from above analysis that would be rather depressing, so put less value on category key phrases – this is a completely hypothetical example).
- Optimize your website content and structure for different segments. Clearly if I came to you and said you get one session to convince me to buy or I am out, would your website be the same? Probably not, you would throw away all the “extra” content and focus on the most powerful. Alternatively if the data indicated the purchase behavior was long stretched out over days/visits, you could / should provide more content since visitors seem to want more.
- Optimize “interruptives”. This is very cool, if your web platform allows it. If you know the point of “bailing” (say third session) for your customers, you could attempt to offer up a goodie in the fourth session or based on what they have seen so far show them something more relevant (this is your last chance) or ask for an email address for a future deal or whatever.
- Other smarter things you can think of but are failing me right now.
Ok so what do you think? Sounds interesting? Are you totally confused? Are you already using these metrics as standard operating procedure? Don’t agree with something above? Please share your feedback via comments.
[Like this post? For more posts like this please click here.]
We have a unique problem. We have certain categories that sell in the same session and certain others that take a while to convert. Even though we could apply different day for conversion to the different categories. The problem arises while setting tracking mechanism for advertising. Do you attribute for a conversion that is session based or that is more long term.
Appreciate your response.
Cheers
jaisri
Hi Avinash,
As usual, an excellent post. I especially like how you referened what _actions_ can be taken based on the data.
I would like to point out that Google Analytics has a number of reports that address time to e-commerce conversion. The E-Commerce > Loyalty & Latency report section contains the following reports:
– New vs Returning
– Time to Transaction
– Visits to Transaction
Unfortunately only the New vs Returning visitor transaction report can be segmented easily. The Time to Transaction and Visits to Transaction report simply show a pretty graph that can not be segmented. I'll see if I can't figure out a nice way to dig deeper into the information and write up a blog post.
Have a great week,
Justin
I wish there was a way to segment the Time to Purchase Reports by Source, etc. and even have Revenue Numbers available. But havent found anything.
Ideas?
Steve: You should be able to segment Time to Purchase report by anything you would like to. Just click on the Add Segment button on top of the report.
Just be a little careful as you are looking at pan-session data, and this is a session level report.
A better strategy is to use the Time Lag report in the Multi-Channel Funnels folder. This will give you the revenue view you are looking for. But more than that, this is a pan-session report.
You will have to create new segments here, click on the button called Conversion Segments at the top of the report.
If you need more specific help, please reach out to a GACP, here's a list: http://www.bit.ly/gaac
Avinash.
Loved the post. I really enjoy data extraction and manipulation so this is right up my alley. (does that qualify me as a geek??) The “actions you can take” piece was very beneficial. For me, getting the data and creating the metrics is the easy/fun part!
We currently just switched analytics vendors and are in the middle of implementation but I’m looking forward to adding these KPI’s to our list once we get up and running.
Hi Avinash,
Sorry about the earlier comment that I had written in a hurry. When I read it again, I realised that it does not make sense for someone reading it out of context.
I have rephrased the same as below and would like to know your response to the same. There is problem that I have in hand that is with regard to the days/ visits to conversion. Ours is a large retail site and we sell different categories. The problem arises on who do we assign the conversion, the search engine that first got the customer to the site or the price comparision site that got the last visit before the purchase. This problem gets compounded if you have different categories that you sell and gets converted at different periods of days/ visits.
Jasri: My apologies for the late reply. You describe a complex situation and it is always dangerous to propose answers with limited data. But…. : )
For different categories converting at a different "pace" segmentation is the answer. In the above example I segment by "traffic source" you can just as well segment by product category (and then segment one more level by source for some great insights that you can action).
For the second part, same person but multiple attributable sources, two thoughts:
1) Decide on a overall rule for the business. Give credit to the first source or the last one or the one in the middle. Have one rule that is right for your business. This is rife for personal interpretation and since there is no wrong answer people apply their own interpretation, avoid that. Usually people give "credit" to the last one.
2) What many people are doing with source attribution is computing and assigning a value to each source using a model that works best for them.
So if this is the behaviour: I came to you website from a search engine, then a affiliate, then price comparison site and purchased. Let's say that my order was for $100.
Given the % of people who come from search and affiliate and then price comparison you can assign a value to the search key term and the affiliate.
Each can get "credit" for some part of the conversion. Depending on the number of people moving from one stage to next, number of bailing,
how soon/late you can come up with a model that assigns the value to each source.
But it would depend on what is going on in your site at a aggregated macro level and there is a very strong gut level "business smarts" that are required.
My overall thought would be: start simple, start small and work your way to complexity. I know this sounds obvious.
I hope this is of some help.
Hi Avinash,
I cant help but link this excellent analytics tip to the Eisenberg's book when they describe how impulsive purchases (purchase on first visit) happen on low-risk/cost items, where as for costier items – with more risk involved – purchases usually happen after 3-4 visits.
Of course this is made very visible with tools such as SiteCatalyst or GA :-)
An interesting tool would be defining expectations for the number of visits for a given product, by products class.
"Cars are bought after 4 to 5 visits, toasters after the second visit, usb flash drives upon the first visit"
Just a thought.
Thanks Avinash,
I shall take your advice and start with the simple segmentation first and then move upwards.
I was wondering if there is any benchmark data out there for online retailers with a broad catalog and customer base on these two reports- time to transaction and visits to transaction. Does anyone know of anything like that?
Thanks Avinash, for the nice tips
Hello Avinash,
Excellent Article. It was just what i was looking for…Though you had posted it two years ago, it is still useful today
Avinash, love your blog, just ordered your book.
When will Google Analytics start reporting “Days to Purchase” & “Visits to Purchase” correctly? Measuring from the first visit in from a campaign is, which missed users who came in directly, is (to put it bluntly) retarded, and renders those reports useless. Thankfully we're using User Defined Variables to stamp the actual Join week on our users (along with year of birth and gender), and so can get by, but being able to trust those two reports across the entire userbase would be a very nice-to-have.
Hi Avinash
it's a long time ago you wrote this blog . . .
We think that "days since last transaction" and "visits since last transaction" could be an interesting metric for an ecommerce site. Why? Remember the Recency in the RFM-model.
Regarding the case we're analysing about half of the customers are 1x buyers and given the customer's b-t-b market it must be possible to improve this.
In this post you talk about "days TO pruchase" etc. In the meantime this is a standard feature in GA.
But . . . do you have any advice how to construct metrics like "days since last . . . ".
I dived into advanced reports / segments etc. but didn't succeed. Maybe we have to implement Custom Variables (session level?)???
I'm very curious to know how you would approach this
Kind regards
Sander Lenselink
Sander: Let me separate two things. "Customer Analytics" and "Visitor Analytics."
Customer Analytics, loosely, is analyzing people who you can identify by, often, name and address and other bits of Personally Identifiable Information. You have their purchase history stored. You can track them for multi-channel purchases etc.
Web Analytics tools allow you to do a certain amount of Customer Analysis, but what they mostly do is session (Visit) and Visitor (Unique) Analysis. Not quite the same.
For customer analytics you will likely end up using your offline systems (because in pretty much all web analytics tools you can't store PII info, or deep purchase behavior or multi-channel data etc). Corporate data warehouses, business intelligence tools etc. You get beyond web analytics (and it is pretty fun, done right very valuable).
Visitor Analytics, loosely, is analyzing the behavior of people where you mostly have non-PII data and most analysis of people is using persistent cookies (what we call Unique Visitor analysis).
Google Analytics does do pretty deep Visitor Analytics (just like Omniture and WebTrends and IBM etc). You can't do real customer analytics (as defined above) with GA, and indeed with other vendor tools as well. But some vendors (not GA) do sell you an additional Data Warehousing product where you can do more customer analytics (if you capture customer id and bring in multi-channel behavior data). So perhaps you can use them if you are interested in customer analytics.
One thing of great value you can do in GA is look at the Frequency and Recency reports in the Behavior section of the Visitors reports. This is pretty cool and if you apply segmentation it becomes more valuable.
You are right that some additional interesting things can be done in the quest for visitor analytics if you use Custom Variables (set scope at Visitor level). Please reach out to a GACP (if you are using GA) who can help you. http://www.google.com/analytics/partners.html
-Avinash.
Hi Avinash,
We utilize a SiteCatalyst v15 global suite to analyze numerous subsets of pages or microsites. There is a global s_vi cookie and a microsite cookie where applicable. Given that all data is combined it seems to be a challenge determining the number of visits to purchase as the visit counts are provided by the global cookie and not the microsite cookie. Note: We also have a custom evar and prop that captures "New" vs "Repeat" as a value on each page view.
I have configured a Page Hit segment of the microsite to isolate activity for these pages only.
Microsite ToyMarket (HIT)
Hit – MicroSite Property (evar##) equals ToyMarket
I then utilize the the Visit Number Report found under Visitor Retention. This above approach seems to provide the results I seek but am not certain of the accuracy as the microsite cookie is not used to capture visit counts in a global suite.
Thanks!
Tom
Hi Avinsh
The article is great! I have a question, my trend for the last 2 months is showing people are taking 28+ to convert.
This is really high for May & June – I wanted to find out why and needed some tips – can anyone help?
Becky: There could be any number of reasons for this to happen. The best option for complex GA requests is to hire a GAAC to go through the requirements and validate and recommend the right path. You'll find a list here: http://www.bit.ly/gaac
You will find that they are quite affordable.
-Avinash.
Great post. I just see a quick correction on how you calculate Days to Purchase or Visits to Purchase. You said to take purchase user id's for a specific month and look back for their first visit – this approach might yield a bit bias to the results.
Let's say I pull the user id's who purchased for Month of July and I find their first visit as sometime in January, this gives me about 6 months for that user to convert. What misses here is, what if the user id made a purchase in let's say April – Now we just have 4 months for that user to convert.
So, the point I'm trying to make is – We should consider the overall time frame to correctly recognize the days to purchase.
Define a time frame – let's say going back to six months
Step1: Get the first visit of the USER ID or visitor id or cookie
Step2: Get their purchase date – it could be same as first visit or later that visit
Step3: Compute the difference between first visit to purchase visit
Sravan: Thank you for the three steps, worthy analysis.
Consider also that this type of analysis less in terms of an individual human, and more in terms of looking at micro-segments (groups of people who share a common attribute).
I say that because what you are looking for are patterns of behaviour, that is something you can action.
The other thought to consider… We are looking for rolling patterns. Hence it is less that we are giving person s, y amount of time. Then you repeat the analysis over time and some of the things you are concerned about will get washed out.
Avinash.