Transactions and States: What Are You Measuring?
The Hyper-Text Transfer Protocol (http) that runs the web is built on a request/response model. The client (your browser) makes an HTTP Request which is handled by a server. The server will send an HTTP response back to the client which contains the information requested. The response can contain the contents of a web page, a link to a video stream, or a number of other things.
This whole process is state-less by definition. This means that the protocol doesn’t have any concept of memory to remember something from one request to the next. To compensate, both the client and the server have come up with a way to keep track of state between requests (cookies and sessions respectively).
The upshot of all of this is that the web is built upon a series of transactions of data, each one consisting of a request and response. A user action in a browser, such as clicking a link, triggers a request to a server (please give me the contents of this page) and the server processes the request and sends a response (here are the contents of that page you asked for).
The response is an image file (hence the name “image request”). The only reason that anything comes back at all is because there must be a response. That’s the way the web works. No one really cares about the image itself, so we make it a 1×1 pixel transparent image that’s easy to hide away somewhere where no one will see it.
Abraham Maslow is perhaps best known for defining the hierarchy of needs. He also coined a now-famous phrase that you’ve all heard before. “If the only tool you have is a hammer, you tend to see every problem as a nail.”
State introduces a new aspect of web measurement. Standard web measurement tells us how many things happened within a certain time frame. By contrast, state measurement tells us how many of something there are as of a particular point in time. The funny part is that we, as humans, actually deal with states all the time without ever thinking about it, but it’s almost entirely foreign within the realm of web analytics.
How much money did you make? How much money do you have? Two related, but very different questions. The first is transaction-based asking how many dollars rolled in during a given period. The second is state-based asking how many dollars are in your pocket?
You’re starting to hear the difference. One is past-tense and one is now. So what are the analytics equivalents? Transaction-based would be something like how many visitors did we have last month? Now let’s try the state-based version. How many customers do we have?
When was the last time you asked a question like that? I’d wager most of you never have. In 2.5 years as a member of Omniture Consulting, never once did a client ask me a question like this. Why not? Why don’t we ask questions like this? Perhaps we’ve trained ourselves not to ask them because we don’t expect the answers to come from our analytics tools (but they can!).
I’m not debating the power and insight that rests in transactional data nor am I suggesting a replacement. I’m stating that adding an understanding of status to your transactions can greatly enhance an understanding of your online presence. Use transactional data for transactional questions and use status data for status questions. With a little twist on standard implementation, SiteCatalyst can be used to help you keep track of your status.
Next time I’ll discuss in detail how we use status tracking within Test&Target to understand campaign usage, but in the meantime, take a moment to think about how state applies to you and ask yourself a few questions you haven’t asked before. The how many new registrations did you get last month question can be enhanced by the how many registered users do you have question. The percentage change in new user registrations question can be enhanced by the percentage change in the total size of the customer base question. And also note that the status version of the question also accounts for attrition! There are so many applications!