Skip to content

Check the integration ​

Test your website with a test user. Open DevTools → Network, enable log preservation, and reload the page. Do not paste real email addresses, IDs, passwords, or tokens into the Console.

SymptomWhat to check and do
window.FlowtomateWidget is missingFind widget.js in Network, check CSP and the number of tags: document.querySelectorAll('script[data-flowtomate-key]').length should be 1. For async, GTM, and React, wait for the script to load.
The widget is present, but there is no contentRun await window.FlowtomateWidget.ready(), then await window.FlowtomateWidget.refresh(), and inspect the new request in Network. ready() alone does not confirm that content was received successfully. Check the key, published content, and network errors.
CORS error or rejection because of the website addressCompare location.origin with “Allowed website addresses”. A live website requires an exact HTTPS origin, without a path or wildcard.
identify is rejected or the profile is anonymousAfter consent, pass a nonempty string ID and string fields only. Check “Collect visitor data”, the consent mode, and the selected project. Then find the ID in “Audience”.
track did not produce an eventCheck the name, properties, consent, and network errors. track returns nothing; find the record in “Events” after the batch is sent.
Manually launched content did not openWait for ready() and check the published content's ID. For a popup, enable “From site code”. Interpret a popup's false result or a tour's status using the manual launch rules.
A form response exists, but is missing from the external systemIn Network, open the response to the test form submission: on the first attempt, the externalDelivery field may be delivered, failed, or disabled. Check HTTPS and your receiver's log. There is no persistent delivery log or automatic retry.

The installation guide includes the installation code and CSP. Use try/catch to handle errors from methods that return a Promise; do not add timers with arbitrary delays.