I created and maintain a Chrome Extension with a modest ~8,000 weekly active users. I quickly realized the importance of getting feedback from users, and settled upon a lightweight way of serving a Google Form to users when they uninstall the extension. I figured it might be helpful to other Chrome Extension developers!

1. Create a Google Form

Go to Google Forms. Create a form. Use this as sample if you can’t think of good questions to ask on a feedback form.

After you’re happy with your form, click Preview (the eye icon next to colour palette and settings gear). Copy the URL. This will be your public-facing form link.

2. Add code to background.js to redirect users to your form on uninstallation

/* Check whether new version is installed */
chrome.runtime.onInstalled.addListener(function(details) {
    /* other 'reason's include 'update' */
    if (details.reason == "install") {
        /* If first install, set uninstall URL */
        var uninstallGoogleFormLink = 'YOUR_FORM_LINK_HERE';
        /* If Chrome version supports it... */
        if (chrome.runtime.setUninstallURL) {
            chrome.runtime.setUninstallURL(uninstallGoogleFormLink);
        }
    }
});

IMPORTANT: Add this snippet to the bottom of your background.js file, or whatever is guaranteed to run when the extension installed. If no javascript runs on extension install, then add it to whatever script gets run first. The snippet only needs to get run once.

When the extension is uninstalled, the browser opens up a new tab and goes to your Google Form.

Note that you can also add custom javascript to be run when your extension is updated by replacing details.reason == "install" with details.reason == "update". Details here.

3. Analyze responses

All user responses are stored in your Google Drive for your leisurely perusal and data graphing. Here’s an example of a simple statistic:



I too prefer the "Too clunks; don't want" OS

Motivation

I maintain PrettyPrintGmail, a Chrome Extension that cleans up printing in Gmail and lets you print emails in large batches + other things. A friend and I initially built it just for ourselves, but on a lark I put it up on the Chrome Web Store and forgot about it. Next time I checked on it, it had 500 daily active users. “Woah cool,” I said and promptly forgot about it again (I had exams and assignments to worry about; I swear I don’t have transient amnesia).

A year later, I checked again, and the extension had grown to 1500 users. Intrigued, I opened up the Stats page of the extension and started poking around. I quickly noticed that the extension had quite a few daily uninstallations. Once my ego had recovered (why would anyone ever want to uninstall my extension?), I realized that the number of people installing on a daily basis was growing as well. Which made sense, considering that more the users, more the number of people who could uninstall it, but still it would be good to know what exactly they didn’t like so I could make fancy GitHub issues around them and tag them as feature-requests and bugs (I have simple pleasures). It turns out that you can add a handler to your Chrome Extension that opens a URL when the user uninstalls the extension [API reference link]. Yes! So I could create a feedback form and redirect the user to that when they uninstalled. But creating a form sounded like work. I could just use Google Forms. And that’s what I did, as described above.