Hmmm... it definitely answers my question.
However, what we are trying to do is push a lead into salesforce if the user ends their session in an "order in progress" audience. Ideally we'd want it to go in as soon as possible because we've found that our customers like getting a call right away (because usually they're stuck on a question that they need to fill out).
Would you have any suggestions on how to configure things so that we don't harass users who are still working on filling out their information, but do contact users who have ended their session with an order incomplete, without having to wait a full 1/2 hour?
Hmmmm.....this may be possible. It would depend on the configuration and whether or not there was some page interaction/event that we can latch on to or use as a trigger. Or if we were calculating the time between 2 specific events. For this specific use case I recommend reaching out to your deployment/account manager so this can be addressed by one of our engineers.
We'd have to add logic to remove the Badge from the user on each page view so that visitors can re-enter the Audience if they show 5 minutes of inactivity on another page, but then you'd risk the chance of triggering multiple emails. We can get around that by using a Metric to count the number of times a visitor had 5 minutes of inactivity and ensure they can't join the Audience more than the number of times desirable.
This isn't exactly an elegant solution, but technically from the client side the browser can't call out to AS upon end of session (hence the need for the setTimeout), and AS mimics the analytics vendors as Jim stated to determine when the end of session occurs.