You launched. People came. Nobody paid, and not one of them told you why. Feedinbox catches visitors the moment they close your pricing and asks them one question, so your next prompt fixes the real reason instead of a guess.
Say you posted your launch and sixty people showed up. Here is how that day goes twice: once with no answers, and once with them.
Every lap costs you a weekend and teaches you nothing. The code got better. The reason nobody bought is still unknown.
Same weekend, same build speed. The difference is that the thing you built was aimed at what was actually stopping them.
We publish a plain-text integration guide written for AI agents at feedinbox.com/llms.txt. Paste this into whatever you build with. It reads the guide, finds your pricing code, and wires up the rest.
Read https://feedinbox.com/llms.txt (the Feedinbox integration guide) and integrate
Feedinbox into my app. Detect my framework and use the right approach.
Project key: YOUR_PROJECT_KEY
1. Add the widget script with data-project-key="YOUR_PROJECT_KEY",
including the queue stub line before it.
2. Fire high_intent when someone opens pricing or starts checkout.
3. Fire abandoned from the close button of that pricing modal or
checkout, so the question appears right then.
4. Fire converted on my payment-success step, so buyers are never asked.
5. Call window.feedinbox('cancel') when someone clicks Sign in or Sign up
from pricing: they are moving forward, not leaving.Your dashboard gives you this same prompt with your project key already in it.
This alone turns on the floating feedback widget. Add the four events from the prompt above and you get the Why-Not-Buy question too.
<!-- Add before </body> -->
<script>window.feedinbox=window.feedinbox||function(){(window.feedinbox.q=window.feedinbox.q||[]).push(arguments)}</script>
<script async src="https://feedinbox.com/widget.js" data-project-key="YOUR_PROJECT_KEY"></script>Full instructions live in the docs.
Four options, four different things to do about them. One of them means you should do nothing at all.
What stopped you?
Tap an answer to see what you'd do about it.
Rarely about the number. It means the value they could see next to the price didn't feel like it was worth it yet.
Fix the value, not the price. Change the price last, once the other three answers stop showing up.
People who close my pricing page keep saying it's too expensive. Rewrite my Pro plan card so the value lands before the number: - Lead with the outcome they get, not the feature list - Say what it replaces or what it saves them - Keep the price exactly the same for now Show me the before and after so I can compare.
On Pro you can rewrite the question and the options to match your product, so the answers come back in the shape of decisions you actually have to make.
You have not made a dollar yet. A tool that tells you why should not be the thing that costs you one.
See full pricingYou are not looking for statistical significance, you are looking for a sentence. Five people picking the same answer is enough to know what to change next. Low traffic is exactly when guessing hurts most, because you cannot afford to spend a weekend rebuilding the wrong thing.
Analytics tells you seven people opened your pricing and none of them bought. That is the part you already know. Feedinbox gives you the sentence that comes after it, in the visitor's own words.
Yes. If you can add a script tag to your page, it works. The setup prompt reads our integration guide, detects your framework, and wires up the events for you, so you do not need to know how any of it works.
Fire the high_intent event when someone clicks the button that sends them to Stripe. That arms the question. From there it appears on its own: the widget watches for the pointer heading out through the top of the window, for the tab going hidden, and falls back to a timer if neither happens. Firing an abandoned event from your own cancel or back action just makes the timing sharper.
It is one question with tappable answers, no email field, and it appears at most once per visit. Answer it, dismiss it, or buy, and it is done for that session. Anyone who actually buys never sees it at all, because your payment-success step fires the converted event and cancels the question.
Add it before you post. Launch traffic is the most expensive attention you will ever get and it arrives once. Installing afterwards means the spike came and went and you learned nothing from it.
Unless you ask. Install it with one prompt, then go back to building what they told you was missing.
No credit card required • Free tier available