Build Chrome extensions quicker with a TypeScript boilerplate project

Learn why users are uninstalling your extension

ExtensionNinja | 1/22/2022

Publishing your browser extension is a really exciting moment. The code you have been working on for a long time will be finally used by real people. And even with minimal marketing there is a high chance that you will get decent daily install numbers. At least for the first couple of months, that’s simply how the Web Store algorithm works. It gives a chance for new browser extensions to be discovered. As quickly as sudden popularity comes you will also quickly experience the other side of the coin - churn.

User churn can occur due to many reasons. Mismatched user expectations based on extension description, buggy code, missing features or confusing user experience that prevents users from discovering value that your extension provides. The worst part is that you are mostly left looking at the daily uninstall graph and guessing why it’s happening on your own. The only tool that Chrome Web Store has to help with this is user reviews, but almost nobody leaves reviews. So what to do?

To your rescue comes setUninstallURL - an obscure extension API function that should get a lot more prominence in the documentation than it has currently. It allows you to set a URL that gets opened once your extension is uninstalled. This is your last chance to prompt users for feedback.

The content of the uninstall page is up to your imagination. But until you figure out the perfect way of asking for feedback, you could start with a simple Google Form questionnaire. Just don’t expect that users will be willing to dedicate a lot of time answering it. Keep it short and simple.

This is how you can set uninstall URL in your code:

chrome.runtime.onInstalled.addListener(reason => {

Don't miss latest Chrome extension developer news

Join Newsletter