Adjust migration guide

Make the switch—our migration plan helps you get set up smoothly and keep tracking without missing a thing. The Adjust migration plan is based on a one-month transition and setup timeline. Each step takes approximately one week to complete. If you’d like to customize or expedite your integration timeline, please speak with your Adjust sales engineer.

Dashboard setup and data import

To start, we provide an informative demo of Adjust’s capabilities and get you started with setting up your Adjust dashboard.

You will learn:

  • How to set up your apps and in-app events
  • How to set up raw data callbacks or raw data uploads

Once your dashboard setup is complete, you can invite account users to access it. Next, we import your existing user base. 

Step one: data import

Before releasing an app update with the Adjust SDK for the first time, it is best practice to import existing device information so that Adjust has a record of these to prevent duplication of install information. You can export your existing data from your previous Mobile Measurement Partner (MMP) and/or your Business Intelligence system.

File format

Adjust accepts comma-separated value (CSV) files in the following format:

  • UTF-8 encoded.
  • Comma delimited with double quote (") qualifiers.

Imports are supported for both iOS and Android, using the following device ID types:

Operating systemStoreDevice ID type
AndroidGoogle Play Storegps_adid
AndroidAmazon App Storeandroid_id
iOSApp Storeidfa
iOSApp Storeidfv

Each file should use the following naming convention:


Provide your app's token, operating system name, and device ID type values in lowercase. For example:



To avoid duplication, Adjust only imports the first instance of each device_id per device_id_type/app_token combination. Any duplicate value that appears in the same file or any future file will be ignored.

Your CSV file must contain the following fields, in this order:

FieldRequired or optionalExample valueNotes
device_idRequiredB1CDA5FE-BEBA-48ED-AD0F-27AE62BF82D8Case insensitive. Dashes are optional. Accepted device_id types:
  • android_id
  • external_device_id
  • gps_adid (Google Advertising ID)
  • idfa
  • idfv
created_atOptional1586391845Unix install timestamp as an integer, specified in seconds. If this field is not populated in the import file, the value will be automatically populated with the timestamp of the import.
networkRequiredImported DevicesImported data should be put in a separate network in order to avoid confusion with live Adjust datasets. See best practice for imported devices for more information for more information about how to structure this information.
creativeOptionalAd Group 1

If you do not have information for one or more of the optional fields, an empty field should be inserted. In each row the number of fields should match the number of headers.

Imported users do not automatically appear within your dashboard reporting; each imported user must trigger an app session (in the app version with the Adjust SDK integrated) to be included in your Adjust dataset.

We will notify you as soon as your data import has been completed.

Best practice for imports

Imported devices

In order to preserve the accuracy of your Adjust datasets, we recommend that you do not import historical data into live networks. Since device information imported from external systems does not have associated install events, this could lead to inaccurate or confusing statistics if mixed with Adjust-generated data. To avoid this issue, we recommend making use of a placeholder network called "Imported Devices", using the network name as the campaign name, the campaign name as the ad group, and the ad group name as the creative as seen in the above example CSV.

Previous system valueAdjust import CSV valueNotes
networkEither hardcode this to "Imported devices", or leave it blank to allow Adjust to automatically populate this information.
Network namecampaign
Campaign nameadgroup
Ad group namecreative

Following this structure will allow you to drill down through your existing campaign structure to a depth of three sublevels.


Here is a template with a header row and values:

<device_id>,<created_at>,Imported Devices,<network>,<campaign>,<adgroup>

Populate <device_id>, <created_at>, <network>, <campaign>, and <adgroup> with values from your previous system. For example:

B1CDA5FE-BEBA-48ED-AD0F-27AE62BF82D8,1586391845,Imported Devices,ironsource,ironsource_ios_us,Ad Group 1

Device ID

For each iOS app, we recommend importing two files: one per iOS device_id value:

  • idfa
  • idfv

For each Android app, we recommend importing a single file with the following device_id values:

  • gps_adid

Importing android_id is optional, as it will typically only represent 1-3% of devices not covered by gps_adid.


Import files will contain sensitive information, so we recommend uploading them to a secure location that you can share with your Adjust contact. After the import is complete, your Adjust contact will remove the files.

Step two: SDK integration and testing

While we import your existing user base, you can begin integrating and testing the Adjust SDK.

Information about our SDK releases can be found on the SDK releases page.

During developer implementation and testing, you will be able to see and review test data within your Adjust dashboard. All SDK integration testing should be conducted with the SDK environment set to sandbox mode.

If your developers have any questions about SDK integration or want a thorough one-on-one walk-through of the integration process, we can arrange a workshop upon request.

For SDK-testing purposes, we suggest making use of the Adjust device API.

Once your sales engineer has confirmed a successful SDK integration and completed your user import, we will give you the green light to submit a new version of your app with the Adjust SDK integrated to the necessary app stores.

Do not submit your app(s) to an app store before the data import is complete, or your existing user base will be counted as new users in Adjust.

Step three: campaign setup

With the Adjust Campaign Wizard, setting up campaigns is easy. For customized setup support, simply provide us with a list of partners, and we can arrange a campaign workshop to walk you through the process.

We'll discuss:

  • The types of campaigns you can track
  • The levels of information you can receive
  • How to create a tracker URL
  • How to enable partner modules
  • Our attribution methodology

After this workshop, you will be ready to reach out to your network partners for campaign configuration.

Networks should not begin testing until after the version of your app with the Adjust SDK integrated is live in the app store.

Once your campaign is up and running, your Adjust sales engineer will confirm that your tracking setup is correct and that reporting is in order.

Step four: analysis and optimization

Once your app (with a properly integrated SDK) is live in the app store and your campaign data is tracking in Adjust, we will set up our final migration workshop.

We'll cover:

  • How to analyze your data.
  • How to pull reports.
  • How to receive raw data.
  • Recommendations on how to approach your user-acquisition growth strategy.

With this, you have all the tools and knowledge you need to begin making the most of Adjust's features and tracking data. We are always available whenever you need further advice or clarification. Just contact your AM or reach out to support@adjust.com.