Alias

Get started with the RudderStack Alias API call.

The alias call lets you merge different identities of a known user.

info

Note that:

  • You can use the alias event only for merging user identities. It does not update the user’s traits or other common properties.
  • RudderStack supports sending alias events 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:

FieldDescriptionData typePresence
userIdA unique identifier for the user in the database. Either userId or anonymousId should be present.StringOptional, if anonymousId is already set.
previousIdThe user’s previous identifier.StringRequired
warning

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 previousId attribute refers to the previous user identifier. It could be either:
    • An anonymousId assigned to the user (for more details see Identify API documentation).
    • A previously set userId to identify the user via the identify call - this could be an email address, a database ID, device ID, or any other unique user identifier.
  • The userId is the user’s new identity or an existing identity that you want to merge with previousId. 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")
info
The RudderStack SDK automatically passes the user’s anonymousId as previousId in the payload.
warning
When instrumenting your website with the JavaScript SDK, the alias call must be made from the client-side as the anonymousId is generated via the browser. Similarly, if you’re using a server-side SDK, the alias call must be made from the server-side as the session ID is set as the anonymousId.

Questions? Contact us by email or on Slack