What is Session Replay?
Imagine sitting next to your users while they're browsing your website. That would be awesome, wouldn't it? You'd get to experience first-hand what kind of issues they run into, and you'd see the parts of your application they don't get and feel frustrated about.
Imagine now being able to move them aside when those problems arise and open up their browser’s developer tools to make sense of what went wrong. Wouldn’t that be incredible?
This is where session replay comes into play. It allows you to watch how your users navigate your web application and see what happened under the hood, so you can easily reproduce the situation if anything goes wrong.
What alternatives are there to session replay?
Several alternatives out there can give you some of the benefits session replay offers. One could group them into two categories: monitoring tools and product analytics tools.
This category is filled with solutions targeting different technical aspects of your application.
For example, application performance tools like New Relic or Dynatrace are great for tracking slow code in your backend or poorly performing transactions with your database. However, that only shows you one side of the story: the backend, but you still need the front-end state.
Instead, you could focus on errors only and rely on an error-tracking tool like Sentry. Still, you'll fall short while trying to reproduce bugs as you'll never get hold of the entire context, like the users’ behavior, network activity, debug logs or even the app state at a given point in time.
You can also add a Real User Monitoring (RUM) tool, which would let you track other aspects, such as application performance, loading times (including web vital metrics), failing requests, and so on. But you'd still be missing the context that comes from watching a session replay. The perfect complement for RUM is session replay, because it provides information that can only be obtained visually:
- Did our site design confuse your client into using the wrong feature?
- Was the user entering too much data in that field and that’s why the app crashed?
- Was the error message visible to the user long enough for them to read it?
Those are questions you can’t answer with RUM tools and that’s one of the main benefits of using session replay.
All these monitoring tools are great, but they only tell you one side of the story. With session replay, you can see exactly what happened and what went wrong as if you were sitting next to your users. Those visual and technical clues make solving any issues a breeze.
Applications like MixPanel and Amplitude fall into this category.
Product Analytics tools show you how people use your application, what features they like, whether or not they come back to use it again, and even what’s preventing them from converting. For example, a funnel analysis may show you where users are leaking in a specific journey, but not why they dropped.
Session replay tools can answer that question. They complete that picture with every missing detail imaginable. They help you correlate metrics from analytics tools with user behavioral and technical data.
How do they compare with Session Replay tools?
None of these tools captures the whole picture; if you use them individually, you’re missing out on the full context. However, adding session replay into the mix can help you bridge the gap between metrics and insights.
You won’t have to guess why there is a significant drop in your main funnel, or why the new feature released last week has not been adopted by your users yet. With session replay, you’ll see precisely what your users are doing and how your site reacts to each of their interactions along their journey.
Should I add session replay to my stack?
If you're wondering whether or not to go for session replay, the answer is most certainly "yes". Session replay complements whatever observability or analytics stack you may already have, and removes existing blind spots in your digital experience by turning metrics into insights. It’s like looking over your users’ shoulders when something wrong happens.
Problems Solved by Session Replay
Session replay tools can cater to many different areas within the same company, making picking the right alternative even harder.
- Want to check out how users are interacting with the new design update? Session replay got you covered!
- Trying to figure out why the app keeps crashing? Session replay can answer that question.
- Curious about how users are reacting with the newly released features? You guessed it, session replay can help out as well!
Let's look at some of the most common use cases where session replay tools can shine like no other.
Reproduce and fix issues
Issue reproduction is one of the most powerful use cases for session replay as it helps developers get to the root cause of a wide variety of problems.
Developers cannot rely on users to create bug reports when they face a problem in their app. And they're not to blame; after all, users have no clue — and are not supposed to — about your technical stack, or how to raise and properly describe a bug. This means you end up with reports that look like "The application stops working after a while".
How can you get the details you need to reproduce the issue without making the user uncomfortable?
Begging for screenshots, debugging logs or even asking for a screen recording are all valid options. And yes, you can ask your power users for favors and even jump on a zoom call to save yourself some trouble. However, you cannot do it all the time, and certainly not with all users.
Why waste time going back and forth with users when you can watch the recorded session instead? With session replay, you can easily fast forward and rewind to the exact spot where the error, frustration, or crash occurred. Plus, with access to developer tools inside the player, you'll have all the information you need right at your fingertips, like errors, network requests, and performance metrics. What used to take hours to get fixed, now takes minutes.
Track your app's performance
Keeping track of your website's performance is something some session replay tools do and do very well. When recording what users are doing on your web app, session replay can also track and measure resource utilization, loading times, and other web vitals.
With metrics like CPU/memory consumption, speed index, image load times or page response distribution, any performance hiccup or regression caused by an update in your code becomes trivial to find. You can even set alerts on those metrics to roll back code changes if things go wrong after a new release.
Understand and alleviate user frustrations
Session replay tools can surface insights about features or sections of your site that frustrate users. In other words, when your app doesn't behave the way users expect it to, they get annoyed or, worse, stop using it.
Buttons that don't work, users rage-clicking and other similar frictions can be quickly found by session replay tools. It's as if you were there, looking over your user's shoulder. With these valuable insights, you can dig further and inspect those replays to get to the root cause and fix your user experience in record time.
Engage with your customers when they need support
A handful of session replay tools allow you to engage your customers — in real-time — while they’re having problems.
Let’s take the example of a user that’s struggling with the checkout process in your site and they reach out to your support chat for help. With a live replay, you can jump into the user's active session and troubleshoot the problem in real-time. This means you can offer a solution in minutes, instead of having them wait for hours or even days for the issue to be resolved.
This is a game changer for support teams. It brings down their mean-time-to-resolution, helps reduce user frustration and avoid attrition. A happy user is someone who converts into a paying customer sooner or later.
Improve your product
Take everything mentioned so far, and you have a powerful tool that helps surface frustrations and uncover all sorts of friction, making your product day after day.
Some session replay tools may even provide a full range of analytics capabilities to keep an eye on what matters the most to the business, ranging from increasing conversions to improving your application’s digital experience.
Who is Session Replay useful for?
Session replay technology is so versatile that it provides value to different teams within an organization. That’s one of the reasons why there are so many session replay alternatives in the market. They each focus on different personas and use-cases. There is hardly any tool out there that encompasses all of them together. So make sure to have your internal user and its primary use-case in mind when picking your session replay tool.
Developers will benefit from session replay tools that capture issues as well as their context.
Debugging problems is a part of every developer's day-to-day job. In some cases, this process requires them to contact users and ask for details. Otherwise, they need to find a way to reproduce the problem themselves using the provided bug report.
What would your dev team think if instead of a bug report, they received the exact reproduction steps? And what if on top of that, you threw in a recording of what the user did and fill it with technical clues from your stack? They could now work on fixing the problem as if they had the user sitting next to them, walking them through what they did and what just happened afterwards.
The ideal session replay tool for developers should record the following:
- Application-specific information like state mutations making it easy to rewind and check the state of their web app at any point in time during the replay.
- Web vital metrics (like loading times and time-to-first-byte) and various other performance metrics (like CPU and memory utilization).
- Network activity so developers can track the calls made by the app to internal and external APIs and inspect their payloads.
A tool like this has the potential to reduce debugging time significantly and improve the developer’s experience while fixing problems.
With various metrics and funnels, product managers can understand what are the most impactful features of an app or where (and why) customers are dropping. Data captured by session replay tools can usually be transformed into custom visualizations which in turn help PMs iterate a lot faster because they’re now dealing with qualitative data, instead of raw metrics. Think of it like this: they can literally feel their user’s pain points and see exactly how they interact which each and every feature of their product. That alone represents a goldmine of insights to PMs.
Session replay tools are the perfect complement to any analytics stack. By combining both quantitative and qualitative data, Product Managers can be empowered even more to continuously improve their product and ultimately provide the best experience to their users.
Designers and UX researchers
Designers benefit greatly from observing how users interact with their designs, but conducting focus trials takes time and effort. Furthermore, the results are not always trustworthy since user behavior can sometimes be affected by the fact that they are being observed; this is known as the Hawthorne Effect.
On the other hand, session replay can give designers the chance to watch their users and iterate over different design choices to understand how their work looks in production. After all, different devices, resolutions, and even browser versions can affect the final display, which in turn may impact the end user's experience.
Time-to-resolution is a metric support teams care about very much. It translates into how fast they can resolve issues for their customers. Customer care agents should therefore be armed with the right set of tools to carry out their mission, and session replay can help here too.
The ability to contact a user while they’re having problems and help them live, sounds too good to be true. However, some session replay tools have this capability. Instead of waiting to receive the user’s complaints, support agents can watch active sessions and help users right there, on the spot. In fact, they can co-browse with their customers, annotate their screens, and if that’s not enough, jump on a video call, all without asking them to leave the website.
Session replay tools can also bridge the gap between customer care and other teams in large organizations, such as product managers and developers. They help reduce friction by ensuring that all stakeholders, working to resolve a particular issue, speak the same language, namely session replay.
How Does Session Replay Work?
Let’s shed some light on what happens behind the scenes when capturing and replaying a session recording. Some parts may be technical, but don't worry; it will all make sense.
What gets really captured inside session replays?
The collected data may differ from one session replay tool to another. Remember, these tools may target different personas in an organization and therefore address some use-cases but not others. That being said, the best tools should be able to capture the below elements:
- User behavior: We're talking clicks, mouse movements, scrolls, hesitations, and more. Are users scrolling over important messages? Or perhaps are there rage clicking on some buttons? This data is valuable for surfacing key frustrations.
- DOM mutations: When you visit a website, your browser downloads then assemble various elements, such as pictures, text and videos before rendering each and every page. The Document Object Model (DOM) acts as a translator between these elements and your browser, allowing the web pages to be assembled and rendered. Session replay tools detect when any of these elements get updated, and capture these mutations (changes) as part of the replay. DOM mutations are the essential ingredients for session recordings. They are the frames that make up the replay.
- Web vitals: Monitoring the loading times of your web app, not just pages but also its various resources, can provide valuable insights into how your users experience your site. In addition, metrics such as memory and CPU utilization can be used to track crashes and fix slowdowns in your application. This makes session replay tools a key piece of your observability stack.
- Frustrations: Click rages, excessive scrolling or dead clicks are examples of user frustrations that session replay platforms can detect. Identifying them is the first step towards providing a better product experience to your users.
- Custom events: That covers downstream or upstream events in your application that you may need to log alongside every recorded session. Tracking custom events means you can synchronize those bits of data with your replays for a much richer context.
- Metadata: Additional information about a particular recording. Things like userIDs, segments, browser versions, country and more. Metadata is used to filter through the replays and aggregate data.
- Assets: Caching of certain assets like images, fonts or stylesheets is a vital aspect of any session replay platform. Imagine you record a session for your new website, and a couple of months down the line, you decide to give it a fresh new look. Now, if the assets weren't cached, the old recording would simply be broken as it cannot reference its previous stylesheets and fonts. That's why asset caching is so important as it ensures that your replay stays true to its original form, no matter how much time has passed.
How long can I keep the recorded data?
Each session replay platform comes with its own data retention policy. Cloud solutions usually offer limited options here. Your data gets cleaned up after a reasonable amount of time, depending on the plan you opted for. On the other side of the spectrum, self-hosted session replay tools allow you to customize your own retention policy by keeping the data for as long as you want. After all, it’s self-hosted so your data rests on your premises and you have full control over it.
Pretty cool, right?
All major tools capture what’s needed for basic session replay. What sets them apart are the extra recording capabilities (like DevTools), the way they handle your data (cloud or self-hosted), and the level of control you have over it.
Importance of Data Privacy in Session Replay
Most session replay tools allow developers to have control on what gets recorded and what gets sanitized. Sanitized elements are not sent to the server. In fact, they never leave your user’s browser. Instead, they’re either masked (i.e. text replaced by asterisks and images by placeholders) or not tracked (the data is simply ignored).
For example, let's say the user profile page in your website contains personal information that must be sanitized, like address and phone number. The development team could mark these fields as "masked" to the tracker. With that, anytime a user visits the profile page, the tracker would sanitize those fields by replacing their content with asterisks. This results in a properly sanitized replay that still fully captures the user journey without revealing any Personal Identifiable Information (PII).
If you have PII data, there are always internal privacy policies to follow and external regulations to comply with.
Internally imposed policies can range from security restrictions around the infrastructure all the way to the software you can install. When it comes to international regulation, the three most important ones are:
When it comes to external compliances, the three most important ones are:
- GDPR. Applies when collecting data from EU citizens. GDPR also allows users to ask you to remove their data from your databases. This, of course, covers session replay data.
- HIPPA. This one is specific to healthcare-related data. If you're collecting this sort of information on your users, you’re most likely already complying with it.
- CCPA. Similar to GDPR but for residents of California in the United States.
If you're not part of the healthcare industry, and your website is globally accessible, chances are you have to comply with GDPR and CCPA. Adding a session replay tool into the mix might seem like an extra hoop to jump through. However, these tools solve data privacy concerns through sanitization and other fine-grained controls. Developers can tell the tracker what data to track and what to ignore. That way, PII is kept safe within your user’s browser and is not transmitted to the server.
Therefore, it's always important to review and understand how session replay tools can deal with personal data so you can abide by the regulations in place.
Data Ownership and Security
Even though the data is sanitized, who owns it? And how can you ensure it’s safely processed and stored? This may give headaches to many compliance and security teams.
While most of the tools come in the form of SaaS applications, some session replay solutions allow you to self-host their entire platform on your premises. That means you own the data, which also rests on your servers, therefore complying with your internal security and privacy policies.
This is a crucial point. Make sure you’re fully aware of the details when deciding which session replay platform to pick.
Session Replay and Pricing
There are mainly two pricing models for session replay tools, and the main difference between them is how they scale over time for growing companies.
You can think of it as an “on-demand”, “serverless” or “pay-as-you-go” plan, very similar to what you get when you run a Virtual Machine (VM) in the cloud. You’re charged based on utilization, so the more sessions you capture, the more you pay. Some session replay providers may have different “tiers”. The higher the tier, the more sessions you can record and the more features you have available.
Overall, this is a good pricing model for websites that don’t get much traffic. The starting “tiers” tend to be quite affordable, and companies can still extract a lot of value from them. This is definitely a great model for small and medium companies, but one that can hardly scale with traffic.
So if you're looking for an enterprise-friendly pricing model, this may not be the best one. A much better option would be to go with a value-based pricing model when available.
This model is based on how much a company benefits from having session replay. That usually means how many people inside an organization get to use the platform.
This way of pricing is ideal for large companies looking as it’s uncorrelated with their data volume (a.k.a traffic). They can afford to provide session replay to a few teams and still keep expenses under control even when the traffic is massive. Additionally, if the tool can be self-hosted, then the overall costs (including infrastructure) can be significantly reduced.
Overall, a value-based pricing model scales well and is considerably better for enterprise companies looking to leverage the power of session replay.
What to Look for in a Session Replay Tool
Because session replay covers many different areas within an enterprise, selecting the right provider for your business case may be overwhelming. What features should you look for in a tool to ensure it provides the value you need?
We’ve put together this section to answer that question and provide guidelines to help you make an informed decision.
Ease of Implementation
A session replay tracker should not require more than a few lines of code to get started, regardless of your tech stack. Once the basic setup is complete, you should look for how easy it is to extend its capabilities. The more flexibility the tool provides, the more likely it can fit within your use case.
An ideal tracker should be easy to set up with minimal code, but at the same time, it should give you all the options you need to customize it however you see fit. This includes capturing custom events, sanitizing data, adding extra information to sessions, and more. All of this should be accomplished while minimizing performance impact.
To leverage the power of session replay for your frontend developers, it's important to provide an environment that closely resembles what they already know and use on a daily basis. In fact, every major browser comes with some variation of DevTools, a set of technical tools that help developers, in their day-to-day job, reproduce and debug all sorts of issues.
An ideal session replay tool should be able to capture those technical clues and provide a familiar debugging experience to developers. After all, one of the areas where session replay is especially effective is in reducing the time required to identify and fix bugs.
As discussed in the Data Privacy section, compliance and security policies may not give you the choice as whether to host the session replay platform or use it as a cloud service.
Fortunately, certain session replay solutions offer a self-hosting option that allows you to install and operate their entire platform on your own servers. This provides two major benefits:
- Full control over the data generated by your users. Session replay data goes directly to your servers, where it’s processed and stored.
- Compliance with internal policies and regulation becomes much easier this way. No more time is wasted on lengthy compliance and security checks.
In the end, self-hosting is often the solution that enterprise companies choose because it provides complete control over their data. If data ownership and security are important concerns for your company, make sure to prioritize this criterion when evaluating your options.
Developers enjoy tweaking, enhancing, and building custom features on top of their session replay tool. An open-core or plugin-based architecture makes a solution extensible by design and future-proof for internal user needs.
If you prioritize extensibility and customization, consider exploring open-source session replay solutions when evaluating alternatives.
Capturing millions of sessions per day can make finding the relevant replay feel like searching for a needle in a haystack. An ideal session replay tool should offer a powerful and versatile search engine. This requires the ability to filter by almost any captured piece of data, such as a user action, a particular session attribute, or a technical event.
Such filtering capabilities become critical to choosing the right tool.
It’s not far-fetched to think that with all the data captured by session replay tools, one could create various visualizations to track and understand different aspects of the web app.
For instance, you can create a dashboard to monitor your website's performance, including loading times, slowest resources, and other web vital metrics. You can also receive alerts when something goes wrong and use session replay to identify the root cause. This reduces the time to resolve potentially critical issues.
So when choosing a session replay tool, prioritize the ability to aggregate data and create visualizations for the metrics that matter to you.
As mentioned in a previous section, there are two main pricing models for session replay solutions. When choosing a model, it is important to consider how scalable it is based on your website traffic and use case.
If your website generates millions of monthly sessions, consider a value-based pricing model. However, if you have low traffic, the cheapest alternative would be to use a session replay solution that offers volume-based pricing. Even better, look for open-source alternatives that you can host yourself to reduce costs.
The ability to integrate with third-party tools is typically the hallmark of powerful session replay solutions. In fact, session replay shows you one side of the story: your frontend. What if you need the full context when reproducing a bug and therefore require backend logs? This is where integrating with other tools in your stack may be very helpful.
Another interesting type of integration is with ticketing systems, such as JIRA. By creating a ticket that includes all necessary details while reviewing a particular replay, you can significantly improve the workflow of your QA team.
So make sure to look for the available integrations when picking your session replay tool.
Breadth of features
While it is essential to ensure the solution you pick comes with the right set of features you need for your primary use case, it's actually recommended to keep an eye on all features the tool might have.
As stated previously, session replay tools can benefit various roles and teams within an organization. Although they may primarily target a few use cases, consider the tool that offers complementary features other team members could benefit from in the future.
Finally, when deciding which session replay solution to choose, we believe it's important to consider its community. An active community, where users (or developers in the case of open-source products) are engaged and contributing to the platform, is a sign of a successful and healthy product.