Loading…

Integration

Troubleshooting

Fix isReady false, origin mismatch, and duplicate loads.

Symptom → fix

SymptomLikely causeFix
isReady() always falseScript blocked or wrong URLCheck network tab; copy script from dashboard
No events in dashboardOrigin not allowlistedAdd exact origin in Project settings
origin_rejected in setupScheme/host/port mismatchMatch http vs https and hostname
Duplicate eventsLoader injected twiceSingle inject function; guard with loaded flag
No replayRecording disabled or plan limitCheck project settings and plan
Experiment always nullTest not active or wrong keyMatch experimentKey from test creator
403 iOS app not allowlistedBundle ID or Team ID mismatchMatch CFBundleIdentifier and Apple Team ID exactly (case-insensitive for team)
403 Android app not allowlistedPackage or signing cert mismatchUse release keystore SHA-256; debug builds often use a different cert
401 on mobile ingestMissing or wrong publishable keyCreate pk_live_* in Project settings; never use sk_live_* in the app
No native replay in dashboardRecording consent not grantedCall setRecordingConsent(true) after CMP approval
Web events on mobile projectWrong setup platform selectedCreate a separate web project or switch platform before verification locks

Network checklist

  • Client bundle returns 200 from allowed origin
  • POST /api/tracking returns 2xx (not 403 origin)
  • CMP did not block script before consent

We ask before enabling optional analytics (including our own Tracuto script) or marketing cookies. Essential cookies are always used to run the service securely. See our Privacy Policy.