My experience of the Chrome Extension submission process

I started building the Meeting Dolphin Chrome Extension back in April and initially, the submission process was really quite intimidating. Similar to a visa application process (which I have completed many in my lifetime), it’s quite the black box with little to no information on how the review is done, when the review is finished and what happens if it’s rejected.

As someone who walked the walk, I want to share my experiences and give you a few key insights into what I have learnt!

The initial account setup

The first thing you need is a Developer Account. There’s no way around it and you will have to pay the $5 fee. I presume this is a way for Google to weed out the casuals.

I highly suggest to input as much information as you can. Here’s more on the account setup process.

How long does the review take?

My first review took 3 days to complete, any subsequent package update was done within one day and description updates almost instantaneously. This was much lower than the weeks I’ve seen talked about in different forums so I was pleasantly surprised.

Snippet of Permission justification

As described in the official article https://developer.chrome.com/docs/webstore/review-process/ the review time highly depends on the permissions you requested and as mine were relatively few (only host permissions on Google Calendar URL, storage and tabs permissions), it went through quite quickly. Still, I wish there is a grading or report or progress bar to display some high-level insight as to why my submission went through. Personally, I think it’s mostly automated checking due to the number of requests Google must get a day.

What is a Testing package?

Initially, I didn’t know how long the review process was so I wanted to allow some of my friends and super users to test changes before I formally launch it to reduce some friction.
Creating a test is almost the same. The only difference is changing the name and description (appending TESTING or BETA) and setting the visibility of your addon to authorized testers.

For me though, I decided not to continue using this as it gets quite confusing for my testers. They effectively have 2 versions of the addon installed and making sure they are on the correct one has been difficult. The review process is short enough that it’s not too big of an issue even if there is something wrong (for now).

What happens to the users when I update the extension?

All extensions are auto-updated. There’s almost no way for a user to disable this easily … the only way is to duplicate the extension code and load it as a local extension and no one would actually do this. What this means though is that all changes are made silently to all your users as Chrome is restarted. It could be quite a shock to users especially if you make a big change like I did in the update. A potential way to inform your users is to combine chrome.runtime.OnUpdateAvailable and chrome.tabs.create(<INSERT blog URL>). As a user mentioned on Hacker News, this could be seen as an invasive behaviour. I think any advertisement of new features using this method is bad, but sharing when the core functionality has changed is acceptable.

Can I roll back my update?

People make mistakes and I have updated an extension only to find out I have a serious bug afterwards! An easy out would be to roll back. Unfortunately, Chrome does not offer such a feature. The only way to do this is to re-update your package with a new version number. This is suboptimal as the review process will start again but it is what it is. This is also why I would always archive your packages.

What is in the Developer Dashboard statistics

I do enjoy looking at the statistics provided in the developer dashboard. It provides a good high-level explanation of the number of users and impressions. However, sometimes I find that it does not update properly. On days when I physically see a friend install it, the numbers don’t go up. You can also capture events of your extension as you do with GA4 but I have not tried this yet.

Final thoughts

Submitting an extension is easier than I thought and luckily I’ve had no rejections so far. I would love Google to implement a rollback feature or a History feature so that users can stay on an older version if they liked. I am currently trying to get my OAuth Consent app verified so you will be seeing an article on that hopefully in the near future.