One line of code gives every uninstalling user a branded exit survey with structured churn reasons.
chrome.runtime.setUninstallURL( 'https://uninstall-form.extenshi.io/[your-survey-code]?v=' + chrome.runtime.getManifest().version, )
That’s the entire integration — the same line in Chrome, Edge, Opera and Firefox, which aliases chrome.*. Safari accepts the call but never opens the page.
Pick from 8 churn reasons, add your own, and decide what each one answers with.
Drop the setUninstallURL snippet into your background script. No SDK.
Reasons, comments and version trends, in your dashboard.
Exactly how the hosted page renders — every card below is a still frame of one configuration.
One tap helps the developer fix what went wrong.
Anonymous unless you leave an email. Your response is sent to the developer and processed by extenshi.io — see our Privacy policy. Powered by extenshi.io.
All eight churn reasons, a comment box, your product name in the headline. This is what a survey looks like sixty seconds after you create it: one tap tells you why, the optional comment tells you what to fix first, and the version tag on every response tells you which release started it.
One tap helps the developer fix what went wrong.
Anonymous unless you leave an email. Your response is sent to the developer and processed by extenshi.io — see our Privacy policy. Powered by extenshi.io.
Dark theme, your accent, your headline — and two reasons only you would think to ask about. “Broke on Gmail” beats “too buggy” when you are hunting one regression, because it names the bug instead of the mood. Switch the email field on and the users worth answering leave you a way to answer them.
One tap helps the developer fix what went wrong.
Which part stopped working?
Anonymous unless you leave an email. Your response is sent to the developer and processed by extenshi.io — see our Privacy policy. Powered by extenshi.io.
“Too buggy” is where your attention goes and the least actionable thing anyone can tap. Attach a follow-up to that reason and the answer names a component instead of a mood: “37 people said buggy” becomes “22 of them said Sync”. Offer a list of your own features, or ask in free text — the question only appears for the reason you attached it to, and answering stays optional.
One tap helps the developer fix what went wrong.
Anonymous unless you leave an email. Your response is sent to the developer and processed by extenshi.io — see our Privacy policy. Powered by extenshi.io.
Three reasons, no comment box, no email. The shortest survey is the one people answer — someone who has already hit Remove will not write you a paragraph, but they will tap once. Even that tells you whether you lost them to a competitor, to price, or to a job that is simply finished.
One tap helps the developer fix what went wrong.
Anonymous unless you leave an email. Your response is sent to the developer and processed by extenshi.io — see our Privacy policy. Powered by extenshi.io.
Watch it run, or jump straight to a version with the row underneath. “Too expensive” gets a discount, promo code already in the link; “too buggy” gets a fix promise and a free month, the only offer that means anything to someone whose extension just broke; “no longer needed” gets your other extensions — nothing went wrong there, someone finished a job and may well have another one. Leave a reason unwritten and it falls back to your general message.
Thanks — that lands straight with the two people who build this.
Get 3 months of Pro, freeSet nothing per reason and every answer lands here: your thank-you message and one button, going wherever you want it to. An uninstall is the one moment you know exactly why someone is leaving, which makes it the one moment an offer actually lands — and the reason it is worth tailoring above.
Pick from 8 churn reasons, so feedback becomes a chart, not a guess.
Attach a question to a reason — free text, or a list of your own features. “Too buggy” turns into “Sync, 22”.
Every response is tagged with the uninstalled version — spot a bad release fast.
Meet the exit that was named: a discount for “too expensive”, a fix promise and a free month for “too buggy”.
Let users explain, and follow up with the ones who leave an email.
Your headline, your colors, light or dark. We host it and store the responses.
Anonymous, rate-limited, and IPs stored only as SHA-256 hashes.
Your responses dashboard, exactly as it renders. Illustrative numbers, real layout.
Form opens (the browser navigates here on uninstall), not submitted answers. The date filter below applies to the response list, not this chart.
Reasons (all responses)
Follow-up answers
Too buggy / broken
Reasons by version — click a bar to filter
Latest responses
Pinned tabs get closed on restart since the update.
Which part stopped working? Sync
Moved to something that syncs groups across my devices.
maria@example.com
No way to export saved groups.
Every response carries the version it was uninstalled from, so the reasons split per release instead of blurring into one average. Here “Too buggy” owns v2.1.0 and almost nothing else — that is a regression with a date on it, not a vague sense that people are unhappy. Click a version bar to read the responses behind it, comments and all.
The cross-store catalog and scanner, inside your AI tools.
Scan and predict review outcomes from your terminal.
A guided MV3 manifest that passes store review.
Illustrated steps that get your extension pinned to the toolbar.
A store-ready privacy policy from your permissions.
Draw with your agent, verify in real toolbar mockups.
Configure a branded survey in minutes, paste one line, and turn your exit page into your best source of product insight.
Hosted · anonymous · free to set up.