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.

  1. 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.js URL for your environment.

    Register if you do not have a workspace yet.

  2. 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>
  3. 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.js loads, call window.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.

  4. 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.js executes.

  5. 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 Script component on the cancel route, or your HTML document shell so it loads on that URL.
  • Vue / Nuxt: include the tag in index.html or 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.