Enhanced CloudFront Logs, Now With Query Strings
One thing that I love (among many) about working at Amazon.com is the customer-driven innovation cycle. We introduce a new product or service with a useful yet somewhat minimal feature set. We do this to get it out into the real world as soon as possible so that our customers can start to use it and to provide us with feedback on it. Then we put an ear to the ground and do our best to listen and to learn. The information that we gather in this way feeds directly in to the product planning process. I hear the phrase “voice of the customer” several times per week as I wander the halls.
The Amazon CloudFront team has been improving their product in this way since they launched it at the end of 2008. In response to requests from customers they have added a number of great features including more edge locations, private content, streaming media content, HTTP request logging, a reduced TTL (Time To Live), private streamed content, streaming access logs, console support, additional pricing tiers, support for HTTPS, and out-and-out price reductions.
Our customers have been asking for additional information in the CloudFront access logs. Specifically, they have asked us to include the URL’s query string (the part after the “?”) in each log entry so that they can implement better and more detailed tracking of the source of each request.
We have implemented this feature and it is available now.
Here’s how it works. The basic URL to the image above is:
Let’s say that I want to use the same image in this blog post and in a white paper about corporate innovation. I could simply append two distinct query strings to the URL, like this:
My log analysis software can use the “?blog” and “?white_paper” strings to figure out which source is more popular.
Many customers have told us that they use (or plan to use) this technique to track marketing campaigns and microsites, as well as targeted use of their content. People used to say that “content is king.” These days, based on what I am seeing and hearing, numbers and analytics are about to depose the king. The ability to track, analyze, and understand the behavior of site visitors (perhaps using some A/B testing and a healthy dose of Elastic MapReduce) has become a critical success factor.
You can generate these query strings yourself, but I’d assume that sophisticated blogging and content management tools will start to do so over time. CloudFront logs and then ignores the query string. It is not passed along to Amazon S3.
As I said earlier, this new feature is available now and I look forward to hearing how you put it to use. If you develop content management or analytic tools and add support for it, let me know by posting a comment or by sending me some email.
A great way for you to influence our future investments is by sharing your use case with us by means of our CloudFront survey. We always appreciate it when our customers suggest ways to make CloudFront even better.