Support
Quick answers below. If you are stuck, email us — we typically reply within one business day.
Integration
How Flidget hooks into your cancel flow (any frontend)
Flidget does not care whether you built your app with React, Vue, Svelte, Angular, Next.js, Rails, Laravel, plain HTML, or something else. Integration is the same idea everywhere: load one script on the page where people cancel, tell Flidget which button opens cancel, and optionally pass who is logged in. The script runs on your domain next to your billing UI — it is not a separate checkout iframe you have to theme.
Get your embed snippet
Create a Flidget account, then open Dashboard → Widget. Copy the script tag we show there — it includes your public key and the correct
widget.jsURL for your environment.Register if you do not have a workspace yet.
Put the script on the cancel page
Add that single
<script>tag once per page where users can start cancellation — usually the same page as your "Cancel subscription" or "Close account" button. A common pattern is placing it just before</body>.Works with: server-rendered pages, SPAs, and hybrid apps. If your framework has a root layout, document shell, or
index.html, that is usually the right place — as long as the script runs on the live cancel route.Shape of the tag (values from your dashboard)
<script src="https://YOUR-FLIDGET-APP/widget.js" data-public-key="YOUR_PUBLIC_KEY" async ></script>Mark the real cancel control
On the element that should start cancellation (button or link), add this attribute exactly:
data-breakup="trigger"The first time someone clicks it, Flidget opens the exit chat and pauses the normal click. If they dismiss or finish the chat, the same click is allowed through so your existing cancel flow still runs unchanged.
Stripe, Paddle, Chargebee, PayPal, etc. — same rule
You cannot embed Flidget insidea provider's hosted customer portal (different site or their iframe). Put the trigger on yourpage: the button that says "Cancel", "Manage subscription", or "Open billing portal" on your domain. After the chat, your code still opens their portal URL or checkout — unchanged.
Checkout overlay on your site? After
widget.jsloads, callwindow.FlidgetBreakup?.open()from your provider's close / cancel handler — same idea for Paddle, Stripe, Chargebee, or any SDK that fires when the overlay ends without payment. Flidget does not hook those UIs for you; one callback line per stack.Optional: who is chatting (recommended)
If the visitor is logged in, set a small global object before the script loads so transcripts show a stable identifier in your dashboard:
window.__breakupUser = { email: "user@example.com" };In React/Vue/etc., run this in the same place you bootstrap the page (layout effect, route guard, or inline script from the server) so it exists when
widget.jsexecutes.Style and copy in the designer
Colors, position, first message, sounds, and quick replies are all configured in Dashboard → Widget — no redeploy needed for most tweaks. The embed snippet URL stays the same; changes apply to visitors on their next page load.
Stack-specific tips (same integration, different file)
- React / Next.js / Remix: add the script in the root layout, a
Scriptcomponent on the cancel route, or your HTML document shell so it loads on that URL. - Vue / Nuxt: include the tag in
index.htmlor the layout template for the billing/cancel view. - SvelteKit / Astro: use the layout or a
<svelte:head>/ layout slot so the script is present only where you need it. - WordPress / Webflow / no-code:paste the script in a site-wide or page-level "custom code" footer area on the cancel page, and add the
data-breakupattribute via the button's custom attributes UI or HTML block. - Mobile apps: Flidget is built for web cancel pages in the browser. Use it on the web version of your flow or a WebView that loads your hosted cancel page.
- Hosted billing portals: whether you use Stripe Customer Portal, Paddle, Chargebee, or another product, hook Flidget on your entry point before the user leaves for that UI — not on pages you do not control.
Dashboard
After you sign in, open your Flidget workspace for transcripts, churn reasons, filters, and exports. Everything uses the same account you registered with.
Billing
Flidget plans and checkout run through Paddle when production billing is enabled. Use Billing in the dashboard for plan changes, invoices, and the customer portal.