Tracking Repeat Customers in Google Analytics

Justin Cutroni has just written an excellent post on five Google Analytics custom variables that ecommerce companies should definitely use.  Actually the principles behind these variables apply to all web analytics tools, just the type of variable used may differ.  He recommends using custom variables to track:

  • coupon and promotional codes
  • payment method
  • shipping method
  • repeat customers
  • purchase history

I did chip in with a comment on some other custom variables that would be useful for ecommerce website (my suggestions are all page level variables):

  • On the Product Details page
    • Availability (proportion of sizes/colours available)
    • Brand
    • Price Range (group into buckets so low, medium, high)
    • Sale (flag if at a reduced price)
  • On the Search Results page
    • Number of search results

While I like the principle behind what Justin is trying to capture with his last two custom variables, I am not sure this is the best method.  He suggests using visitor custom variables to first capture if someone is a repeat purchaser and then, via some clever server side configuration, to capture the number of purchases made.

The value of this is that these customers are likely to behave differently as they have used the website previously.  The problem with this approach is that it relies on the customer using the same device to make all their purchases and to never delete their cookies.  Both of which are unlikely over time.

Instead I suggest taking advantage of the fact that repeat customers will have set an account up and therefore will login to the website.  Not all customers will have but irregular customers who either always checkout as a guest or create new logins are not the customer segment we are interested in identifying.

Rather than a custom variable, I recommend triggering an event when a visitor either logs in or arrives on the website with a persistent login.  You can still create segments for visits in which this event was triggered providing you with the information required.  The value for the action field would be the method used to login, whether it was creating an account, logging in or having a persistent login on the website.

The event can also be used to capture information related to the purchase history as Justin recommends.  As websites can return the name of the person when they login, I assume they can return the number of orders these people have placed and even the total value of these orders.  Therefore use the event label to identify the number of orders placed by the visitor (previous to this visit), using ‘none’ if they have never made a purchase.  And populate the value label with the total revenue generated by the customer (rounded to the nearest dollar, pound, etc).

The only flaw with this approach is you can’t identify customers who return to the website but that don’t login.  But as per the original description, we are interested in the identifying and splitting out the behaviour of customers who make a purchase having previously purchased.

This is a new idea, can someone who tries it out let me and everyone else know if it works.  And thanks to Justin for the inspiration.

Share and Enjoy:
  • Twitter
  • Digg
  • StumbleUpon
  • del.icio.us
  • LinkedIn
  • Facebook
  • Yahoo! Buzz
  • Google Bookmarks

Tags: , , ,

2 Comments

  1. Duncan July 11, 2011 at 3:49 pm #

    Hi Peter,

    This is really really interesting thanks. What I want to do is see the value of traffic coming from different sources (say Twitter) over time. If a user comes from Twitter originally and buys something, but then returns later using a bookmark or brand search and buys more, I would like attribute those sales to the original source (Twitter). Do you think the method you suggest would be able to do this in GA?

    Duncan

    • Peter O'Neill July 11, 2011 at 10:26 pm #

      @Duncan This method will only label someone who previously purchased, not attribute future sales to them. I can see three options for you:

      * Use the multi-channel funnels when you get access to them to understand multiple touch points prior to sales.
      * Apply no_override=1 as a URL query parameter for all campaigns or probably need to apply to all landing pages somehow – this will revert all sales to the first touch, not the last touch.
      * Pass the traffic source through to your back end systems as part of the purchase and use your back end systems to remember the first influence on a customer over multiple purchases. This method will work even if the customer deletes cookies, it is more a function of customer analytics instead of web analytics.

Post Comment

Notify me of followup comments via e-mail. You can also subscribe without commenting.