In the world of programming, an event is something that happens when a user of software interacts with some part of that software. If they visit a page, click a button, or fill out a form the interaction can trigger an event. The advantage to dealing with things this way is that you can then process the interaction asynchronously—meaning your users don't have to wait.
Much of the way we process events came out of the world of analytics. When marketers need to measure visits and interactions in tools like Google Analytics, they do it by pinging Google Analytics with a little bit of data every time a user visits a page or clicks a specific button. Again, this is done asynchronously so that your web visitors aren't left waiting for something that neither you or they need in that moment. In the world of analytics events are really all about analyzing data sometime in the future.
This model works really well and, as a result, lots of different kinds of tools can generate events. It's not just your application or marketing website, but also things like your email marketing tools (`Email Opened` and `Link Clicked` are both events) and (physical) event marketing (`Registered for Event`). As long as all those systems know about the prospect or customer, all their interactions can be aggregated together. When it works it can all feel a bit like magic.
Importantly, events can also carry their own properties. This allows you to move additional data along with the event. Your `Email Opened` event may also include a property titled `Subject` with a value `Welcome to Variance`. Here's how properties show up in Variance to give you a sense:
To read a bit more about how events work and where they're headed, here are a few of our posts: