Skip to main content
Turn on SDK logging first: options.logging = true in Swift, logging: true in React Native. The SDK logs to the unified logging system under the subsystem dev.trueorigin.sdk; filter for it in Console.app or the Xcode console.
The install could not be reported. Either the device had no network for the whole reportTimeout (six hours by default), or the SDK key was rejected. Check that the key starts with to_ and has not been rotated since the build was made: rotating in Settings → SDK key stops the old key at once, and builds still using it stop reporting.
  • Tap the tracking link on the same iPhone you install and open the app on, and open the app soon after installing.
  • Use a link from Tracking links that shows as Live. A new link needs about 15 seconds to reach the click page.
  • A reinstall counts as a new install: tap the link again before each test install.
  • configure must run on launch, before anything waits for the attribution.
  • React Native: the module is not in Expo Go. Check TrueOrigin.isAvailable, and make a new native build after installing the package.
  • React Native on Android and web: every call is a no-op, the status is unsupported.
The ad has no URL parameters, or the network did not fill them in. See Tracking links.
  • Check Settings → RevenueCat for rejected deliveries. A rejected header means it was re-issued: paste the new one into RevenueCat.
  • The app must call setAttributes(TrueOrigin.revenueCatAttributes()) on every start, before the paywall. See RevenueCat.
  • Only App Store purchases count.
  • While a test event code is set, events appear only under Test events in Events Manager.
  • Only matched installs from ads on that network are sent; plain links send nothing.
  • Nothing is sent for installs matched before you connected.
  • The postback row in Settings shows the network’s last error, for example an expired access token.
Still stuck? Write to hello@trueorigin.dev with your app’s link name and the install id (TrueOrigin.installId).