Merge Project in Amplitude

  • 4 July 2022
  • 3 replies

Userlevel 1
Badge +2

Hi, Guys.

We are planning to merge these four projects.
So, We have two questions:
1.We need to know whether amplitude can distinguish the origin and country of the user after merging the projects, the following is example users in diffrent proects(We expect to use the data already available in amplitude to distinguish)
  • Unregistered User: When the same device visit the Consumer APP and the Website, the Device_id is different (only the mobile user, because the web terminal cannot visit the APP)
  • Registered User: Registered users have the same user_id no matter which project they are in.
Our problem is:
  • If a user visit the app and website using a mobile phone, can we merge this user all data(include history data)? If we can't, What do we need to do next?

Best answer by Denis Holmes 5 July 2022, 12:39

View original

3 replies

Userlevel 6
Badge +8

Hi @xiaomeng.zhang ,


Thanks for writing into support! So for question 1 ;




Are these all intentionally the same project or was there a mis-paste of the URLs? In Amplitude, a user ID is a unique identifier applied to individual users. Using them is optional, but recommended: your product should set a user ID once a user has created an account, logged in, or is otherwise identified in your product. Amplitude can use a user ID to reconcile events across multiple devices under the same user ID. Additionally, a user's event data will be merged on the backend so that all anonymous events prior to the assignment of a user ID will be connected to the correct user. For this reason, you can wait to assign user IDs if that makes sense for your product. Conversely, this is also why you should not set user IDs for anonymous users. You can read more about that here.

If you merge anonymous users with non-anonymous users or when you merge two anonymous users together, their properties will be taken from the most recent active event. So origin and country will be determined from the most recent active event. 

Question 2 ;
You should be able to merge the user with the same User ID on both without issue. However, I would be careful and ensure to test it in small batches at first and then increase the batch sizes. I also recommend reading how exactly Amplitude tracks users here. If you are going to manually export and import the data, then be sure to sanitize the data correctly and ensure to do so in small batches. 


Kind Regards,


Userlevel 1
Badge +2

hi, @Denis Holmes 

Thank you reply.

1.Further inquiries, we want to know if amplitude has default fields to help us identify whether the user originates from the web or APP and identify which country the user from.


2.From IOS/Andriod SDK, we can set IDFV/advertising ID as Device_id, But it only support APP, right?

We would like to know if it is possible to set the advertising id as device_id for users who visit the web page using mobile phones.


3.We want to send historical data from three projects to a new project, which method can we use?The following is the method I found amplitude provides,

export data:

import data:  or

Our historical data must be massive, which API can we use? Is the historical data sent to new projects sorted by "event_time", or the order in which we send events?


Userlevel 6
Badge +8

HI @xiaomeng.zhang ,


Thanks for your reply!


  1. As mentioned in this article, we do have Platform and Device Type along with a view others that could help you distinguish if the events are from web or app. I think the best option would be Platform but you can also send in your own identifier yourself such as “event_origin”: “web” or something akin to that. 
  2. Yes, it would only be for App users. If you do want to set the Device ID or something else as the ADID for a user in the web app, you would need to do so manually by adding it to the event but most users would use the ADID/IDFA/IDFV just for their mobile users. 
  3. The Export API you linked would be the correct one to you as it would let you export data from your project. You can then backfill with it. Please use the Export API. It will be sorted by the client_event_time. You can read more about that here.

I hope this helps! :)


Kind Regards,