Impression data: send Unleash statistics anywhere!

Feature flags are great for performing A/B tests and for seeing how features in your product affect user decisions. We know this at Unleash, and have shipped with the “experimentation” feature flag type for a long time. The Unleash UI also tells you about how many users see the feature and gives you basic statistics. But it hasn’t always been easy to see this data outside of Unleash. We’re changing that with Unleash 4.7 and a feature we call impression data.

Impression data lets you listen for Unleash feature flag checks in your application. When an event occurs, you’ll get all the information about the current context and the feature flag. Then what do you do with it? That’s what’s so great about this feature: you can do whatever you want!

Impress everyone

Unleash is a feature management system, not a data aggregation system or an analytics service. We can (and do!) show you some basic statistics, but if you want to aggregate and analyze data, we believe you’re better off using a product built for that exact purpose. That’s why we built impression data: We want to make integrating with third-party services as smooth and easy as possible.

And yes, that’s “services” with an “s”! If you’re already gathering metrics, there’s a good chance you’ve got more than just one place you want to send it. Because we just expose the data and let you know when it arrives, it’s up to you to decide where, when, and how to send it. This gives you full flexibility to make it work exactly the way you want it to.

When your client SDK checks a flag’s status, it will emit an impression event. This event contains information about the event and the current context, such as the name of the feature, whether it was enabled or not, and the current Unleash context (check the impression data reference documentation for the full overview). You can use this event data to create a data payload for your preferred aggregation service and send it off when you’re ready.

If every feature emitted impression events whenever they were checked, it would get overwhelming fast. That’s why impression data is opt-in on a per-feature basisYou need to explicitly enable it for the feature flags you want to gather data for. Luckily, enabling impression data is as easy as flicking a switch (and yes, we’ve got you covered with this little how-to guide).

Add any new target with five lines of code!

Yeah, okay, that’s an approximation. But it’s really not much more you need to do to start sending event data off to your desired service! If you’re already using a service for collecting user metrics, all you need to do is:

  1. Listen for events
  2. Map the event data to the expected format
  3. Use your third-party service to capture the event

And the only bit of code you really need to write is the data mapping. It doesn’t get much easier than that! Yes, there’s steps in the how-to guide for how you do this too!

1, 2, 3 … impressions!

At the time of publishing this post, this functionality is only available in a few front-end SDK clients. If you’re using the JavaScript Proxy client or the React Proxy client, you can start gathering impression data today! Other clients, both on the client side and on the server side, will follow.

For more details, check out the impression data reference documentation; and when you’re ready to get started with your own application, the impression data how-to guide is ready and waiting for you.

These are just the first steps in making Unleash data available and accessible to outside applications. We’ll keep working to make it even easier to integrate your feature management statistics into your own systems, so stay tuned.

Want to get started?


Share this article