Here's a tough one.
Let's say you've got a web application that's built entirely in AJAX. This means that URLs aren't changing, so outside of deploying a bundle of Virtual Pageviews, there's no real way of using Google Analytics to build pageview-like insight around how people are interacting on your site.
You can use Event Tracking around certain activities like content consumption and conversion, but what about site search?
If people are searching, you want to know what they're searching for; but if there's no search parameter built into the URL containing the results, how are you going to use Google Analytics to find out?
One option would be to fire off Events using the Action or Label fields to contain keywords that users searched.
We know that Event Tracking plays nicely with AJAX, so the technological capability isn't a problem. What might be a problem is the sheer volume of data that would be generated; sifting and sorting through a huge mountain of Event Labels is something that would probably require Excel (and, as with anything in web analytics, if it requires Excel, there's probably a better way of doing it!)
Another problem with Event Tracking is that the site search info will all be held under Events. It won't be viewable in Google Analytics' Site Search report section. That may or may not be a dealbreaker.
One option that keeps the data inside the Site Search report section is around Virtual Pageviews. This is explained in an episode of Web Analytics TV from back in 2009.
Nick Mihailovski recommends creating virtual pageviews for the search results, ensuring that the URI of the virtual page contains the user's search query. This will pass the data to Google Analytics in the same way that "normal" site search does.
"Normal" site search, to clarify, uses results pages with the format along the lines of www.domain.com/q=search-term where anything after the "q=" is the keyword searched. That's nice and simple for Google Analytics to clean up and give us the data on what people are searching for.
And The Winner Is...
These types of questions pop up quite frequently: I want to achieve X - should I use Event Tracking or Virtual Pageviews?
In general, Event Tracking is increasingly becoming the way to go, and you can bet that as Google Analytics becomes more sophisticated and moves away from Pageview-based datasets, AJAX will probably be something that can be supported natively with something based on Events. (Indeed, if Google Analytics can track mobile apps easily, then web apps can be treated the same.)
For now, and for a specific site search scenario, Virtual Pageviews looks to be the way to go. If you have any other ways to achieve this, let us know in the comments.