Handle errors in integrations
When using any attribution, messaging, or analytics integrations, you might encounter some common errors. See this guide for the troubleshooting cases.
Data discrepancy
Reason: This might happen because not all your users use the app version that has the Adapty SDK.
Solution: To ensure the data consistency, you can force your users to update the app to a version with the Adapty SDK.
Network errors
Reason: It’s most likely because there was no internet connection between the Adapty server and the integration server.
Solution: These issues usually don’t persist long and only affect a small number of events.
Integration server failed to process the event
Reason: The integration is set up incorrectly.
Solution: See the article about the integration in our documentation. Ensure you have completed all the setup steps both in the Adapty dashboard, on the third-party tool side, and in your app code.
Missing integration data
Reason: The profile is missing some integration-specific ID. This might happen when the integration is not set up properly in the app code.
Solution: See the article about the integration in our documentation. Ensure you have implemented methods from the code snippets in your app code, and these methods actually interact with your user profiles.
Missing integration credentials
Reason: Some integration credentials are missing or incorrect.
Solution: Please check all the credentials for that integration on the Adapty dashboard. The issue might occur due to version or environment mismatch.
The event has expired
Reason: The Exclude historical events option is enabled in the integration settings, and the event’s creation date precedes the profile creation date in our system.
This can happen if a chain of transactions starting many years ago comes to Adapty through receipt validation for a profile created recently.
Solution: Make sure that it doesn’t happen for new events. If you want to send historical events to the integration, disable Exclude historical events.
Disabled/unsupported event type
Reason: Either the event is not supported for this integration, or you have disabled it when setting up the integration.
Solution:
-
Check whether the integration supports this event type. The following events do not reach all integrations:
access_level_updated: the webhook only.- Synthetic events (
trial_active,subscription_active): Adjust, Amplitude, AppMetrica, AppsFlyer, Branch, Facebook Analytics, Firebase, Mixpanel, OneSignal, PostHog, Singular, SplitMetrics, and the webhook.
-
If the integration is supported, ensure the event is turned on in the integration settings.
A synthetic event never arrived
Reason: Synthetic events fire once, on a timer, and four situations stop them without an error:
- The trial or subscription ended before the delay elapsed. A converted, expired, or refunded purchase produces nothing, and Adapty doesn’t check again. Look for
trial_converted,trial_expired,subscription_expired, orsubscription_refundedinstead. - The user turned auto-renewal off before the delay elapsed. Their access runs to the end of the paid period, but Adapty skips the send. Look for
trial_renewal_cancelledorsubscription_renewal_cancelledinstead. - You turned the event on after the purchase started. Adapty starts the timer when
trial_startedorsubscription_startedarrives, so only purchases made after you turn the event on produce one. - You changed the delay after the purchase started. Sends already scheduled keep the delay they were created with.
Solution: None of these are delivery failures, so there’s nothing to retry and nothing appears in the Event Feed. To confirm the setup works, turn the event on and watch a purchase made after that point.