Embed Troubleshooting

Common issues and solutions when integrating the Cueflow embed script.

Script Not Loading

Check the Script Tag

Verify the script tag is correct:

<!-- Correct -->
<script
  src="https://script.cueflow.so/embed/cueflow.js"
  data-workspace-id="YOUR_WORKSPACE_ID">
</script>

<!-- Wrong - missing data-workspace-id -->
<script src="https://script.cueflow.so/embed/cueflow.js"></script>

<!-- Wrong - typo in attribute -->
<script
  src="https://script.cueflow.so/embed/cueflow.js"
  data-workspaceid="YOUR_WORKSPACE_ID">
</script>

Verify Workspace ID

  1. Go to the Install page in the Cueflow dashboard

  2. Copy the Workspace ID from the embed script code

  3. Make sure it matches data-workspace-id exactly

Check Console Errors

Open browser DevTools (F12) and check the Console tab for errors:

Error
Cause

404 Not Found

Script URL is incorrect

CORS error

Script blocked by browser security

workspace-id not found

Missing data-workspace-id attribute


Messages Not Showing

1. Verify Initialization

Make sure init() is called with a valid user ID:

2. Check Targeting Rules

Messages only show when targeting rules match:

  1. Go to your message in the Cueflow dashboard

  2. Check the Targeting tab

  3. Verify the current user matches the rules

Common issues:

  • Message targeting plan equals "pro" but user has plan: "free"

  • Page targeting /dashboard but user is on /home

  • Event targeting feature_used has done but event wasn't tracked

3. Verify Message Status

Only Published messages are shown:

  1. Go to the message in the dashboard

  2. Check status is "Published" (not "Draft" or "Archived")

4. Check Dismissals

If a user dismissed a message, it won't show again:

  • For testing, use a different user ID

  • Or create a new message

5. Test with Minimal Targeting

Create a test message with no targeting rules to verify the embed works:

  1. Create a new banner

  2. Leave targeting rules empty (shows to everyone)

  3. Publish the message

  4. Refresh your page


"Already initialized" Warning

You're calling init() more than once:

SPA Page Transitions

If you're reinitializing on page transitions, restructure your code:


"Not initialized" Warning

You're calling methods before init():

track() calls made immediately after init() are queued automatically. The warning appears if you call other methods like update() or check() before init.


Messages Not Updating on Navigation

SPA Navigation

Cueflow listens for pushState, replaceState, and popstate. If your router uses a different mechanism:

Hash Routing

For hash-based routing:


Styling Issues

Messages Behind Other Elements

Cueflow uses high z-index values, but your app might have higher ones:

Styles Not Applied

Check if you have CSS resets affecting Cueflow:

Cueflow respects box-sizing. If you have global box-sizing rules, they may affect message dimensions.


Events Not Tracking

Verify Event is Being Called

Check Network Tab

  1. Open DevTools > Network

  2. Filter by "cueflow" or "track"

  3. Look for the POST request

  4. Check response status (should be 200/201)

Verify Event Key

Event keys are case-sensitive and should match exactly:


TypeScript Errors

Window.Cueflow Type

Add type declarations:

Script Tag in React/Next.js


Testing Tips

Use Different User IDs

For testing dismissed messages or fresh state:

Test Specific Targeting

Target a message to your email for testing:

  1. Add rule: email equals "[email protected]"

  2. Test the message

  3. Remove the rule before going live

Console Debugging


Getting Help

If you're still having issues:

  1. Check browser console for specific error messages

  2. Check network tab for failed API requests

  3. Verify workspace ID matches your dashboard

  4. Test with a simple message (no targeting rules)

Contact support with:

  • Browser and version

  • Framework (React, Vue, etc.)

  • Console errors (screenshots)

  • Network request failures

Last updated