Skip to content

Commit a04ff20

Browse files
committed
Merge branch 'ADP-5312-NEW' into develop
2 parents d627a0a + 207c8a4 commit a04ff20

32 files changed

Lines changed: 1802 additions & 105 deletions
10.9 KB
Loading
-67.4 KB
Loading
11.6 KB
Loading
10.3 KB
Loading

src/components/Header.astro

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ const links = [
5959
<a href="https://adapty.io/docs/whats-new" class="nav-link">
6060
What's new
6161
</a>
62-
<a href="https://ask.adapty.io/questions" class="nav-link">Support Forum</a>
62+
<a href="https://adapty.featurebase.app" class="nav-link">Support Forum</a>
6363
</nav>
6464
</div>
6565

src/content/docs/flutter/flutter-get-onboardings.mdx

Lines changed: 5 additions & 5 deletions
Large diffs are not rendered by default.
Lines changed: 154 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,154 @@
1+
---
2+
title: "Troubleshoot data discrepancies"
3+
description: "Find the cause of divergencies in data"
4+
metadataTitle: "Troubleshoot data discrepancies | Adapty Docs"
5+
keywords: ['discrepancies', 'data', 'analytics', 'troubleshooting']
6+
---
7+
8+
import ZoomImage from '@site/src/components/ZoomImage';
9+
10+
Adapty users may encounter **discrepancies** when comparing similar sets of data from different sources. In particular, this can occur when you compare:
11+
12+
* Adapty charts to store reports
13+
* Adapty charts to third-party charts
14+
* Different charts within Adapty
15+
16+
Most of the time, discrepancies occur because **different sources process the same data differently**. Other times, they indicate an **issue with your Adapty configuration**.
17+
18+
This article explains common issues that lead to data discrepancies, as well as common solutions.
19+
20+
## Missing data
21+
22+
### Server notifications and RTDN
23+
24+
If you didn't correctly configure server-to-server communication between Adapty and the stores, Adapty will not be able to process some events, such as subscription renewals.
25+
26+
Complete the configuration as soon as you can ([App Store](app-store-server-notifications) | [Play Store](real-time-developer-notifications-rtdn)) and [wait](#data-delays) for the stores to establish the connection.
27+
28+
You can [manually upload](importing-historical-data-to-adapty) the missing App Store Connect data to Adapty.
29+
30+
### Users with out-of-date app versions
31+
32+
If a part of your install base uses an older version of the application without the Adapty SDK, Adapty won't be able to receive their data. For this reason the numbers of Adapty and other sources will diverge.
33+
34+
### Integration issues
35+
36+
Some Adapty integrations (for example, Adjust or AppsFlyer) require additional application code to work. If you configure the Adapty dashboard, but do not update your application, the necessary data won't show up in Adapty.
37+
38+
### Missing historical data
39+
40+
Adapty doesn't have access to your application's historical data, unless you [manually import](importing-historical-data-to-adapty) it. If the chart's [time range](controls-filters-grouping-compare-proceeds#time-ranges) starts before you integrated Adapty into your application, and you haven't imported historical data, the values displayed will differ from other sources.
41+
42+
## Data delays
43+
44+
Adapty aims to provide a close to real-time analysis of your application's economy. The following limitations and exceptions apply:
45+
46+
* When you first integrate Adapty, the data may not appear immediately.
47+
* When you enable an integration with a third-party platform, there may be a delay before the data is fully synchronized.
48+
* Once Adapty receives store data, it takes another **15-30 minutes** for it to be processed and displayed on the Analytics page.
49+
* Data exchange between Adapty and third parties is **not always instantaneous** due to the number of variables involved.
50+
* Calculations for some advanced metrics (such as [cohort predictions](predicted-ltv-and-revenue)) require a certain amount of data. Adapty will only perform these calculations when it gathers enough data.
51+
52+
## Time and calendar
53+
54+
#### Dates and timezones
55+
56+
One of the most common reasons for perceived data discrepancies is a difference in timezone settings.
57+
58+
Adapty counts days according to the `UTC` timezone. If another platform uses a different timezone, the calculations will differ. The difference will decrease as you increase the scale.
59+
60+
You can [change the timezone setting](general#3-reporting-timezone) for each application.
61+
62+
<ZoomImage id="timezone-setting.webp" width="700px" />
63+
64+
#### The Apple fiscal calendar
65+
66+
Apple uses its own [accounting calendar](https://adapty.io/apple-fiscal-calendar/) to determine sales periods and payout dates.
67+
68+
Each "month" in the calendar consists of **4 or 5 weeks**, and **may include days from the neighboring calendar months**. Payments are typically issued 30–45 days after the sales period ends.
69+
70+
For example, the "January 2026" sales period begins on December 28th, 2025 — 4 days before the start of the calendar month. The estimated payment date for this period is March 5th.
71+
72+
Do not compare data from Apple payout reports to calendar months. Instead, select a [custom date range](controls-filters-grouping-compare-proceeds#time-ranges) that corresponds to the necessary sales period.
73+
74+
#### Transaction dates
75+
76+
Some services (for example, AppsFlyer) may apply [cohort](analytics-cohorts) rules when displaying transactions, and attribute them to the application's install date, rather than the date the transaction itself occurred.
77+
78+
## Revenue calculation
79+
80+
### Fees and taxes
81+
82+
Depending on the [setting](controls-filters-grouping-compare-proceeds#store-commission-and-taxes), Adapty charts can display your **gross revenue**, **revenue after store commission**, or **revenue after store commission and tax**.
83+
84+
<ZoomImage id="revenue-types.webp" width="500px" />
85+
86+
Some stores and third-party platforms may lack the capability to display gross revenue, or automatically deduct taxes. If you see a discrepancy between two different revenue charts, make sure that the comparison is valid.
87+
88+
### Cancellations and refunds
89+
90+
Different platforms display refund data differently. Adapty treats refunds as negative revenue. If a user subscribes, and requests a refund the next day, both events will be reflected in Adapty charts — each on its own day. Other platforms may subtract the refund value from the original transaction.
91+
92+
## Sandbox purchases
93+
94+
The [event feed](event-feed) displays purchases made by sandbox accounts. The analytics charts do not. However, if your historical import data contains sandbox purchases, Adapty won't be able to tell them apart, and its charts will reflect historical sandbox purchases.
95+
96+
## Installs and downloads
97+
98+
Stores (Apple App Store in particular) can track user downloads directly. Their statistics may include cases where the application was installed, but never launched.
99+
100+
Adapty can only register an installation when a user launches the application, regardless of your [install definition](general#4-installs-definition-for-analytics).
101+
102+
<ZoomImage id="install-definitions.webp" width="700px" />
103+
104+
## Country and store
105+
106+
To ensure accurate reporting, Adapty [may infer](controls-filters-grouping-compare-proceeds#filtering-and-grouping) the user's country from their IP. Stores always attribute downloads and purchases to a specific app store.
107+
108+
If you need to clearly distinguish between the two, you can [create a new user segment](segments) with the `Country by store account` attribute, and [filter analytics by segment](controls-filters-grouping-compare-proceeds#filtering-and-grouping).
109+
110+
## Product editing
111+
112+
Incorrect or inconsistent product data may cause discrepancies in analytics. Do not edit the **access level** or the **store product ID** unless you accidentally make a typo in one or the other. Create a new product instead.
113+
114+
### Product pricing
115+
116+
If incorrect product pricing causes a revenue discrepancy, changing the price doesn't fix it retroactively. To change existing transactions' prices, you need to forcibly override them by importing correct data.
117+
118+
When a user restores an old purchase after a price change, Apple may incorrectly report the purchase's value. You need to import historical data for Adapty to reflect the correct value.
119+
120+
## Attribution conflicts
121+
122+
Adapty can only use [a single attribution source](attribution-integration#prevent-data-issues) for each transaction. You cannot override this data later on.
123+
124+
If your setup includes multiple attribution providers that disagree with one another, the same transaction on two different platforms may appear to have two different traffic sources.
125+
126+
## Differences in terminology
127+
128+
Different platforms may have different names for the same concept. Metrics related to [revenue](#revenue-fees-and-taxes) vary in name from platform to platform:
129+
130+
| Metric | Adapty | App Store Connect | Google Play Console |
131+
|---------|--------|-------------------|----------------------|
132+
| **Total user spending** | Gross revenue | Sales | Gross Revenue |
133+
| **Revenue after store commission** | Proceeds after store commission | N/A | N/A |
134+
| **Revenue after store commission and tax** | Proceeds after store commission and taxes | Proceeds | Earnings |
135+
| **Average revenue per paying user** | ARPPU | Proceeds per paying user | ARPPU |
136+
137+
Other metrics may be similar in name, but different in definition.
138+
139+
- **Subscriptions**:
140+
- Adapty only registers a [new subscription](reactivated-subscriptions) **after** the end of a free trial.
141+
- Other platforms, such as Google Play Console, may count **each trial as a new subscription**, even before the first payment was made.
142+
- **Retention**:
143+
- Adapty measures retention based on the number of subscription renewals.
144+
- App Store Connect considers a user retained if they open the application on the specified day. A user without a subscription will count, but the subscribed user who didn't open the app on that day won't.
145+
- Google Play Console's "Retained Installers" metric measures retention based on the number of days the application remains installed on the user's device. Users that don't open the application count towards this metric.
146+
147+
## General troubleshooting algorithm
148+
149+
If you suspect that your data varies from platform to platform, and the reasons above don't explain the discrepancies, the best course of action is to **export raw data** and **compare the files**.
150+
151+
* Even stores can experience issues related to data processing and presentation. Access the stores' **raw transaction data** for the most accurate comparison.
152+
* When comparing Adapty to another analytics platform, use store transaction reports as the source of truth and point of comparison.
153+
* It's easier to identify inconsistencies with a limited data set. Compare small volumes of data — focus on a specific product and a single day.
154+
* Identify whether your discrepancy stems from a difference in **pricing** or **event number**. Pricing issues can be fixed with a [product update](#product-pricing). Event issues may indicate [server-side problems](#connection-issues).

0 commit comments

Comments
 (0)