Embedding a Widget
The embed script
Copy the script tag from Integrations → Share & Embed tab in the Financely app. It looks like this:Attributes
| Attribute | Required | Description |
|---|---|---|
src | Yes | URL of the widget loader script. Always https://financely.app/widget-loader.js |
data-org-id | Yes | Your organization ID. Found in Integrations → Share & Embed |
data-widget-id | Yes | The ID of the specific widget to render. Found in Share & Embed |
data-api-url | Yes | Base URL for the Firebase Cloud Functions API |
data-app-url | Yes | Origin of the Financely app — always https://financely.app |
Auto-updating
The embed script loads the currently published version of the widget at render time. When you make changes in the widget builder, save, and republish, the new version is served automatically — you do not need to update the embed code on your site.Script embed vs iFrame embed
| Script embed | iFrame embed | |
|---|---|---|
| Rendering | Inline in the page DOM | Inside an isolated frame |
| Styling | Inherits page fonts; widget uses brand colors | Fully isolated |
| Resizing | Automatic | Fixed height (set manually) |
| CSP | Requires allowing scripts from financely.app | Works on strict CSP sites |
| Recommended for | Most sites | Wix, Squarespace, sites with strict CSP |
iFrame embed
height value to match your widget’s content length.
Content Security Policy (CSP)
If your site has a CSP header, you need to allow the following for the script embed:Platform guides
Webflow
- Open the page in Webflow designer
- Add an Embed element from the Add panel (HTML Embed)
- Paste the script embed code
- Click Save & Close
- Publish your site
Wix
Wix’s security policy blocks external scripts in most cases. Use the iFrame embed instead:- In the Wix editor, click Add → More → HTML iframe
- Click the element → Enter Code
- Paste the iFrame embed code
- Adjust the height as needed
Squarespace
- Open the page in the Squarespace editor
- Click Add Block → Code
- Paste the script embed code (or iFrame embed if you prefer)
- Click Apply
Framer
- In the Framer canvas, add an Embed component from the Insert menu
- In the component’s properties, paste the script embed code into the HTML field
- Set the component’s dimensions to match your widget
Troubleshooting
Widget is not rendering
Widget is not rendering
Open your browser’s developer console and look for errors. Common causes:
- The widget is in Draft status — it must be Published
- A CSP error blocking the script — switch to iFrame embed
- Wrong
data-org-idordata-widget-id— copy again from the Share & Embed tab
Widget renders but submissions fail
Widget renders but submissions fail
Check the browser console for network errors on the submit request. The request goes to
data-api-url — make sure your CSP allows connect-src to that domain.Widget shows a previous version after republishing
Widget shows a previous version after republishing
The widget-loader.js script has a browser cache. Add a cache-busting query string to the
src or hard-reload the page (Ctrl+Shift+R / Cmd+Shift+R) to force a fresh fetch.