Skip to content

Commit 2e9c42c

Browse files
committed
Attribution Integration overhaul + minor edits to individual articles
1 parent 677ae65 commit 2e9c42c

11 files changed

Lines changed: 536 additions & 767 deletions

File tree

.vscode/settings.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"search.exclude": {
3+
"**/version-2.0/*": true
4+
}
5+
}

versioned_docs/version-3.0/adjust.md

Lines changed: 75 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ metadataTitle: "Adjust Integration for Subscription Analytics | Adapty Docs"
88
import Zoom from 'react-medium-image-zoom';
99
import 'react-medium-image-zoom/dist/styles.css';
1010
import Tabs from '@theme/Tabs';
11-
import TabItem from '@theme/TabItem';
11+
import TabItem from '@theme/TabItem';
1212

13-
[Adjust](https://www.adjust.com/) is one of the leading Mobile Measurement Partner (MMP) platforms that collects and presents data from marketing campaigns. This helps companies track their campaign performance.
13+
[Adjust](https://www.adjust.com/) is one of the leading Mobile Measurement Partner (MMP) platforms that collects and presents data from marketing campaigns. This helps companies track their campaign performance.
1414

1515
Adapty provides a complete set of data that lets you track [subscription events](events) from stores in one place. With Adapty, you can easily see how your subscribers are behaving, learn what they like, and use that information to communicate with them in a way that's targeted and effective. Therefore, this integration allows you to track subscription events in Adjust and analyze precisely how much revenue your campaigns generate.
1616

@@ -19,60 +19,58 @@ The integration between Adapty and Adjust works in two main ways.
1919
1. **Adapty receives attribution data from Adjust**
2020
Once you've set up the Adjust integration, Adapty will start receiving attribution data from Adjust. You can easily access and view this data on the user's profile page.
2121

22-
<Zoom>
23-
<img src={require('./img/98769d9-CleanShot_2023-08-11_at_14.39.182x.webp').default}
24-
style={{
25-
border: '1px solid #727272', /* border width and color */
26-
width: '700px', /* image width */
27-
display: 'block', /* for alignment */
28-
margin: '0 auto' /* center alignment */
29-
}}
30-
/>
31-
</Zoom>
32-
22+
<Zoom>
23+
<img src={require('./img/98769d9-CleanShot_2023-08-11_at_14.39.182x.webp').default}
24+
style={{
25+
border: '1px solid #727272', /* border width and color */
26+
width: '700px', /* image width */
27+
display: 'block', /* for alignment */
28+
margin: '0 auto' /* center alignment */
29+
}}
30+
/>
31+
</Zoom>
3332

3433
2. **Adapty sends subscription events to Adjust**
3534
Adapty can send all subscription events which are configured in your integration to Adjust. As a result, you'll be able to track these events within the Adjust dashboard. This integration is beneficial for evaluating the effectiveness of your advertising campaigns.
3635

37-
## How to set up Adjust integration
38-
39-
To set up the integration with Adjust go to [Integrations > Adjust](https://app.adapty.io/integrations/adjust) in the Adapty Dashboard, turn on a toggle from off to on, and fill out fields.
36+
## Initial Setup
4037

41-
The next step of the integration is to set credentials.
42-
43-
<Zoom>
44-
<img src={require('./img/5064125-CleanShot_2023-08-11_at_14.43.382x.webp').default}
45-
style={{
46-
border: '1px solid #727272', /* border width and color */
47-
width: '700px', /* image width */
48-
display: 'block', /* for alignment */
49-
margin: '0 auto' /* center alignment */
50-
}}
51-
/>
52-
</Zoom>
38+
1. Open the Adapty Dashboard, and navigate to [Integrations > Adjust](https://app.adapty.io/integrations/adjust).
5339

40+
2. Set the toggle on top of the page to "on".
5441

42+
3. Fill out the fields, and set your access credentials.
5543

56-
1. If you have enabled OAuth authorization on the Adjust platform, it is mandatory to provide an **OAuth Token** during the integration process for your iOS and Android apps.
57-
2. Next, you need to provide the **app tokens** for your iOS and Android apps. Open your Adjust dashboard and you'll see your apps.
44+
<Zoom>
45+
<img src={require('./img/5064125-CleanShot_2023-08-11_at_14.43.382x.webp').default}
46+
style={{
47+
border: '1px solid #727272', /* border width and color */
48+
width: '700px', /* image width */
49+
display: 'block', /* for alignment */
50+
margin: '0 auto' /* center alignment */
51+
}}
52+
/>
53+
</Zoom>
5854

59-
<Zoom>
60-
<img src={require('./img/adjust-apps.webp').default}
61-
style={{
62-
border: '1px solid #727272', /* border width and color */
63-
width: '700px', /* image width */
64-
display: 'block', /* for alignment */
65-
margin: '0 auto' /* center alignment */
66-
}}
67-
/>
68-
</Zoom>
55+
3. If you enabled OAuth authorization on the Adjust platform, it is mandatory to provide an **OAuth Token** during the integration process for your iOS and Android apps.
56+
4. Next, provide the **app tokens** for your iOS and Android apps. Open your Adjust dashboard and you'll see your apps.
6957

58+
<Zoom>
59+
<img src={require('./img/adjust-apps.webp').default}
60+
style={{
61+
border: '1px solid #727272', /* border width and color */
62+
width: '700px', /* image width */
63+
display: 'block', /* for alignment */
64+
margin: '0 auto' /* center alignment */
65+
}}
66+
/>
67+
</Zoom>
7068

71-
:::note
72-
You may have different Adjust applications for iOS and Android, so in Adapty you have two independent sections for that. If you have only one Adjust app, just fill in the same information.
73-
:::
69+
:::note
70+
You may have different Adjust applications for iOS and Android, so in Adapty you have two independent sections for that. If you have only one Adjust app, just fill in the same information.
71+
:::
7472

75-
3. Select your app from the list and copy **App Token**. Then, paste it to Adapty.
73+
5. Select your app from the list and copy the **App Token**. Paste the token into the corresponding field on the Adapty dashboard.
7674

7775
<Zoom>
7876
<img src={require('./img/adjust-token.webp').default}
@@ -104,7 +102,7 @@ So the first step here is to find event tokens for all events that you want Adap
104102
/>
105103
</Zoom>
106104

107-
2. Copy the event token and paste it to Adapty. Below the credentials, there are three groups of events you can send to Adjust from Adapty. Check the full list of the events offered by Adapty [here](events).
105+
1. Copy the event token and paste it to Adapty. Below the credentials, there are three groups of events you can send to Adjust from Adapty. Check the full list of the events offered by Adapty [here](events).
108106

109107
<Zoom>
110108
<img src={require('./img/adjust-event-token.webp').default}
@@ -117,21 +115,22 @@ So the first step here is to find event tokens for all events that you want Adap
117115
/>
118116
</Zoom>
119117

120-
121118
Adapty will send subscription events to Adjust using a server-to-server integration, allowing you to view all subscription events in your Adjust dashboard and link them to your acquisition campaigns.
122119

123120
:::important
124121
Consider the following:
122+
125123
- Adjust doesn't support events older than 58 days. So, if you have an event that is more than 58 days old, Adapty will send it to Adjust, but the event datetime will be replaced by the current timestamp.
126124
- Adjust doesn’t support IPv6. If you disable IP collection in the SDK in **App settings** or on the SDK activation, only a backend IPv6 may be sent, and tracking can fail — keep SDK IP collection enabled to ensure IPv4 is used.
125+
127126
:::
128127

129-
## SDK configuration
128+
## Attribution Integration
130129

131-
To set up the Adjust integration, you need to implement two parts:
130+
After you complete the steps described above, add the following two methods to your app. They will establish communication between your app and Adjust:
132131

133-
1. **To send subscription data to Adjust**: Pass the Adjust device ID using the `setIntegrationIdentifier()` SDK method
134-
2. **To receive attribution data from Adjust**: Update attribution data using the `updateAttribution()` SDK method
132+
1. **To send subscription data to Adjust**: Pass the Adjust device ID to the `setIntegrationIdentifier()` SDK method
133+
2. **To receive attribution data from Adjust**: Update attribution data with the `updateAttribution()` SDK method
135134

136135
For Adjust version 5.0 or later, use the following example:
137136

@@ -204,6 +203,31 @@ Adjust.getAttribution(attribution -> {
204203
});
205204
```
206205

206+
</TabItem>
207+
<TabItem value="rn" label="React Native (TS)" default>
208+
209+
```typescript showLineNumbers
210+
import { Adjust, AdjustConfig } from "react-native-adjust";
211+
import { adapty } from "react-native-adapty";
212+
213+
var adjustConfig = new AdjustConfig(appToken, environment);
214+
215+
// Before submiting Adjust config...
216+
adjustConfig.setAttributionCallbackListener(attribution => {
217+
// Make sure Adapty SDK is activated at this point
218+
// You may want to lock this thread awaiting of `activate`
219+
adapty.updateAttribution(attribution, "adjust");
220+
});
221+
222+
// ...
223+
Adjust.create(adjustConfig);
224+
225+
Adjust.getAdid((adid) => {
226+
if (adid)
227+
adapty.setIntegrationIdentifier("adjust_device_id", adid);
228+
});
229+
```
230+
207231
</TabItem>
208232

209233
<TabItem value="flutter" label="Flutter" default>
@@ -247,35 +271,10 @@ try {
247271
}
248272
```
249273

250-
</TabItem>
251-
<TabItem value="rn" label="React Native (TS)" default>
252-
253-
```typescript showLineNumbers
254-
import { Adjust, AdjustConfig } from "react-native-adjust";
255-
import { adapty } from "react-native-adapty";
256-
257-
var adjustConfig = new AdjustConfig(appToken, environment);
258-
259-
// Before submiting Adjust config...
260-
adjustConfig.setAttributionCallbackListener(attribution => {
261-
// Make sure Adapty SDK is activated at this point
262-
// You may want to lock this thread awaiting of `activate`
263-
adapty.updateAttribution(attribution, "adjust");
264-
});
265-
266-
// ...
267-
Adjust.create(adjustConfig);
268-
269-
Adjust.getAdid((adid) => {
270-
if (adid)
271-
adapty.setIntegrationIdentifier("adjust_device_id", adid);
272-
});
273-
```
274-
275274
</TabItem>
276275
</Tabs>
277276

278-
## Adjust event structure
277+
## Event structure
279278

280279
Adapty sends selected events to Adjust as configured in the **Events names** section on the [**Adjust Integration page**](https://app.adapty.io/integrations/adjust). Each event is structured like this:
281280

versioned_docs/version-3.0/airbridge.md

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ The integration between Adapty and Airbridge operates in two main ways.
2020
2. **Sending subscription events to Airbridge**
2121
Adapty can send all subscription events which are configured in your integration to Airbridge. As a result, you'll be able to track these events within the Airbridge dashboard. This integration is beneficial for evaluating the effectiveness of your advertising campaigns.
2222

23-
## How to set up Airbridge integration
23+
## Initial Setup
2424

2525
To integrate Airbridge go to [Integrations > Airbridge](https://app.adapty.io/integrations/airbridge), turn on a toggle from off to on, and fill out fields.
2626

@@ -94,12 +94,7 @@ Below the credentials, there are three groups of events you can send to Airbridg
9494
/>
9595
</Zoom>
9696

97-
98-
99-
100-
10197
Simply turn on the ones you need.
102-
When subscription-related events happen, Adapty sends events to Airbridge. After receiving them Airbridge sends attribution result information to Adapty. The historical events will be sent in the last 24 hours instead of the real event time
10398

10499
## SDK configuration
105100

@@ -171,7 +166,14 @@ try {
171166

172167
Read more about airbridgeDeviceId in [Airbridge documentation.](https://developers.airbridge.io/v1.1-en/docs/airbridge-device-id)
173168

174-
## Airbridge event structure
169+
170+
## Attribution Integration
171+
172+
Airbridge does not send real-time attribution data to Adapty. As such, there's no need to request attribution data from Airbridge in your application code.
173+
174+
It may take Adapty up to 24 hours to receive Airbridge attribution data following a subscription event. Adapty will immediately display it on the dashboard.
175+
176+
## Event structure
175177

176178
Adapty sends selected events to Airbridge as configured in the **Events names** section on the [**Airbridge Integration page**](https://app.adapty.io/integrations/airbridge). Each event is structured like this:
177179

versioned_docs/version-3.0/apple-search-ads.md

Lines changed: 32 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,7 @@ Once you've set up the Apple Ads integration, Adapty will start receiving attrib
3131
/>
3232
</Zoom>
3333

34-
35-
36-
37-
38-
There are two ways to get attribution: with the old iAd framework and the modern AdServices framework (iOS 14.3+).
39-
40-
## AdServices framework
34+
## Connect the AdServices framework
4135

4236
Apple Ads via [AdServices](https://developer.apple.com/documentation/ad_services) does require some configuration in Adapty Dashboard, and you will also need to enable it on the app side. To set up Apple Ads using the AdServices framework through Adapty, follow these steps:
4337

@@ -99,6 +93,37 @@ Copy the Client ID, Team ID, and Key ID fields from the Apple Ads settings. In t
9993
/>
10094
</Zoom>
10195

96+
## Attribution Integration
97+
98+
### Enable Attribution Integration
99+
100+
Adapty automatically collects Apple Search Ad attribution data. As such, you don't need to request it in application code. If you followed the steps to [Connect the AdServices Framework](#connect-the-adservices-framework), Adapty has already begun collecting attribution data.
101+
102+
### Disable Attribution Integration
103+
104+
Adapty can only store attribution data from one source at a time. If you enable multiple attribution sources, the system gives preference to the service that shares the most information. For iOS devices, this service is Apple Search Ads.
105+
106+
**Once you set the attribution value, you cannot override it.** To turn Apple Search Ads attribution off, open the [**App Settings** -> **Apple Search Ads** tab](https://app.adapty.io/settings/apple-search-ads), and toggle the **Receive Apple Search Ads attribution** switch.
107+
108+
<Zoom>
109+
<img src={require('./img/asa-disable.webp').default}
110+
style={{
111+
border: '1px solid #727272', /* border width and color */
112+
width: '700px', /* image width */
113+
display: 'block', /* for alignment */
114+
margin: '0 auto' /* center alignment */
115+
}}
116+
/>
117+
</Zoom>
118+
119+
:::warning
120+
121+
Please note that disabling this will completely stop the reception of ASA analytics. As a result, ASA will no longer be used in analytics or sent to integrations. Additionally, SplitMetrics Acquire and Asapty will cease to function, as they rely on ASA attribution to operate correctly.
122+
123+
The attribution received before this change will not be affected.
124+
125+
:::
126+
102127
## Uploading your own keys
103128

104129
:::note
@@ -129,29 +154,3 @@ openssl ec -in private-key.pem -pubout -out public-key.pem
129154

130155
You can use this public key in your Apple Ads settings of account with API Account Manager role. So you can use generated Client ID, Team ID, and Key ID values for Adapty and other services.
131156

132-
## Disabling Apple Ads attribution
133-
134-
Adapty can use attribution data in analytics from only one source at a time. If multiple attribution sources are enabled, the system will decide which attribution to use for each device based on the source that provides more fields.
135-
136-
For iOS devices, this means non-organic Apple Ads attribution will always take priority if it's enabled.
137-
138-
You can disable Apple Ads attribution receiving by toggling off the **Receive Apple Ads attribution in Adapty** in the [**App Settings** -> **Apple Ads** tab](https://app.adapty.io/settings/apple-search-ads).
139-
140-
<Zoom>
141-
<img src={require('./img/asa-disable.webp').default}
142-
style={{
143-
border: '1px solid #727272', /* border width and color */
144-
width: '700px', /* image width */
145-
display: 'block', /* for alignment */
146-
margin: '0 auto' /* center alignment */
147-
}}
148-
/>
149-
</Zoom>
150-
151-
:::warning
152-
153-
Please note that disabling this will completely stop the reception of ASA analytics. As a result, ASA will no longer be used in analytics or sent to integrations. Additionally, SplitMetrics Acquire and Asapty will cease to function, as they rely on ASA attribution to operate correctly.
154-
155-
The attribution received before this change will not be affected.
156-
157-
:::

0 commit comments

Comments
 (0)