The Custom Trigger option lets you open a Franko modal from any element – button, link, navbar item, or even a JavaScript function.

1 · Copy your script

  1. Navigate to your modal. In Connect Tab → Custom Trigger click Copy.
  2. The snippet contains your modal slug and loads your feedback modal.
<script>
generated code
</script>

2 · Paste before </body>

Add the snippet to every page where the trigger lives – preferably just before the closing </body> tag.

3 · Add your trigger

Any element can open the modal:
<button onclick="FrankoModal.open()">Give Feedback</button>
Want to identify users?
Add the identity snippet before your trigger script. Learn more about identity verification →

Multiple modals

The Franko script is designed to manage one active modal configuration per page.

Performance

Script size and loading: Each Franko script is less than 5kb and loads asynchronously, so it won’t block your page rendering or slow down initial load times. Caching benefits: Franko scripts are cached by the browser, so repeat visits load even faster. Best practices for optimal performance: Mobile considerations: Franko modals are responsive and optimized for mobile devices. The script size and loading pattern are identical across all devices.

FAQ

Will unused scripts hurt performance?
No – each script is less than 5kb and loads async.
Does the script inject a bubble?
No. Custom Trigger stays invisible until you call FrankoModal.open().
Can I trigger it from my React/Vue app?
Yes – FrankoModal.open() works anywhere once the script loads.
What’s the difference between Custom Trigger and Embedded Chat Bubble?
Custom Trigger is for custom triggers - the modal stays completely invisible until you call FrankoModal.open(). Embedded Chat Bubble automatically injects a visible, floating chat bubble on your page.
Need help? Email fletcher@franko.ai