Alias
2 minute read
The alias call lets you merge different identities of a known user.
Note that:
- You can use the
aliasevent only for merging user identities. It does not update the user’straitsor other common properties.- RudderStack supports sending
aliasevents only to select downstream destinations. See the destination-specific documentation for more details.
Alias fields
In addition to the Common Fields, the alias call accepts the following fields:
| Field | Description | Data type | Presence |
|---|---|---|---|
userId | A unique identifier for the user in the database. Either userId or anonymousId should be present. | String | Optional, if anonymousId is already set. |
previousId | The user’s previous identifier. | String | Required |
The field names can change slightly depending on the SDK. However, the functionality remains the same.
See the SDK-specific documentation for the implementation specifics and details on the above fields.
See the Warehouse Schema guide for more information on how RudderStack records the information in the warehouse table for an alias event.
User ID vs Previous ID
- The
previousIdattribute refers to the previous user identifier. It could be either:- An
anonymousIdassigned to the user (for more details see Identify API documentation). - A previously set
userIdto identify the user via theidentifycall - this could be an email address, a database ID, device ID, or any other unique user identifier.
- An
- The
userIdis the user’s new identity or an existing identity that you want to merge withpreviousId. As mentioned above, it could be a new email address, database ID, device ID, or any other unique user identifier.
Sample payload
Here is a sample payload of an alias call:
{
"type": "alias",
"previousId": "gbelson@example.com",
"userId": "13bd56c84a562"
}The corresponding event that generates the above payload via the JavaScript SDK is:
rudderanalytics.alias("13bd56c84a562")The RudderStack SDK automatically passes the user’sanonymousIdaspreviousIdin the payload.
When instrumenting your website with the JavaScript SDK, thealiascall must be made from the client-side as theanonymousIdis generated via the browser. Similarly, if you’re using a server-side SDK, thealiascall must be made from the server-side as the session ID is set as theanonymousId.