Troubleshooting
Fixes for the problems people hit most when they add install attribution.
"Fload: ingest key refused" (HTTP 401)
Fload doesn't know the key the app sent.
- Check you copied the whole key, starting with
fload_pk_, from Connectors, then Attribution. - Check it's the key for this app, not another app in Fload.
- Don't use a Fload API key. That's a different, secret key.
Nothing is lost. The SDK keeps every install on the phone, logs the line once a launch, and tries the key again every 24 hours. As soon as the app starts with the right key, it sends at once.
The SDK stopped sending (HTTP 410)
The key was revoked. The SDK stops for good on that app version, and doesn't retry.
Have an owner or admin create a new key under Connectors, then Attribution. Put it in your app and ship an update. Installs on versions with the revoked key aren't counted from then on. To avoid a gap next time, see rotate a key.
No installs showing yet
Work through these in order:
- Is the new version live? Installs arrive as people open the version that has the SDK. Until it's out, there's nothing to send. Under Connectors, then Attribution, a key that has sent nothing says not used yet, and your app shows Receiving once the first install arrives.
- Is configure called at launch? Call it once, early, every launch. If it's behind a screen or a setting the user hasn't reached, it never runs.
- Are you testing on a Simulator or emulator? The iOS Simulator has no AdServices token, so installs from it arrive without attribution.
- Are you testing a build from Xcode? Apple sends test data to apps in developer mode. Fload marks those installs as tests and leaves them out of your numbers.
- Turn on debug logs. Set the log level to debug and look for the subsystem
com.fload.attribution(iOS) or the Logcat tagFloadAttribution(Android). A 401 or 410 shows there. - Was the phone offline? The SDK keeps installs on the phone and sends them when the network is back, for up to 30 days.
Apple's attribution can take a little while after the install arrives. Apple sometimes answers "not found" for a fresh token, so Fload asks again over the next hours.
Installs show, but no revenue
- Is setUserId called? Without a user id, Fload can't match an install to what that user paid.
- Is it RevenueCat's id? Pass RevenueCat's app user id, and pass it again after login.
- Is RevenueCat connected? Fload reads revenue from your RevenueCat connection.
Most users never pay, so many installs will have no revenue. That's expected.
Installs show, but none from Apple Ads
- Installs that didn't come from an ad have no Apple Ads attribution. That's most installs.
- Apple only credits a tap up to 30 days before the download, or a view within 24 hours before it.
- Apple gives no keyword when the ad group uses Search Match, and no attribution for ad groups that target by age or gender.
- Connect Apple Ads so Fload can show campaign and keyword names next to Apple's ids.
Nothing in Expo Go
Expo Go can't load custom native code, so the SDK does nothing there. That's expected. Use a development build. See the Expo guide.
The 24-hour token window
Apple's attribution token lives 24 hours. Fload has to swap it with Apple inside that window, or Apple won't answer.
The SDKs send the token on the first launch and retry until it's through, so this rarely matters. It can when:
- The phone stays offline for a day after the first launch. The install still arrives later. Fload counts it, without Apple Ads attribution.
- Your own client sends late. If you use the HTTP API, send the token straight away. Past 24 hours, send the install with
status: "token_expired"and no token.
"Class FLDAttribution is implemented in both"
Xcode's console shows this line when the app starts. The app has the iOS SDK twice: once inside the Flutter, React Native or Expo package, and once added on its own as a Swift package or pod.
Remove the one you added on its own, and keep the package. Use the Flutter, React Native or Expo package or the native iOS SDK in an app, not both.
Still stuck?
Email support@fload.com. Include the install reference if you have one. Each guide's reference table shows how to read it. Never send us a user's id or Apple's token.