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

alias is an advanced method that lets you change the tracked user's ID explicitly. This method is useful when managing identities for some of the downstream destinations.
The following destinations support the aliascall:

Sample payload

A sample payload of an alias call with most of the Common fields removed is shown below:

{
"type": "alias",
"previousId": "name@surname.com",
"userId": "12345"
}

The corresponding event that generates the above payload via the JavaScript SDK is as shown:

rudderanalytics.alias("12345")
The RudderStack SDK automatically passes the user's anonymousId as previousId in the payload, as seen above.
When instrumenting a website with the JavaScript SDK, making the alias call via the client-side is important 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.

Alias fields

In addition to the Common fields, the alias call accepts the following fields:

FieldTypePresenceDescription
userIdObject

Optional (if anonymousId is already set)

The user's identifier in your database. Either userId or anonymousId should be present.

previousIdStringRequiredThe user's previous identifier.

userId vs previousId

  • The previousId attribute refers to the previous user identifier. It could be either:
    • An anonymousId assigned to the user (by the browser if the user is a new visitor or has not logged in yet, or the session ID if you're using a server-side SDK).
    • A previously set userId to identify the user via the identify call.
  • The userId is the user's new identity or an existing identity that you want to merge with previousId.

Contact us

For more information on any section covered in this doc, you can contact us or start a conversation in our Slack community.

Contents