AWS Personalize

Step-by-step guide to set up AWS Personalize as a destination in RudderStack.

AWS Personalize, also called as AWS Personalize, is a machine learning service by Amazon. It enables you to create high-quality content recommendations, personalized product and marketing promotions, and much more. With AWS Personalize, you can boost your customer engagement and overall business revenue in no time at all.

RudderStack allows you to configure AWS Personalize as a destination to which you can send your event data seamlessly, for personalized recommendation and effective product marketing.

Find the open-source transformer code for this destination in our GitHub repo.

Getting Started

In order to enable dumping data to AWS Personalize, you will first need to add it as a destination to the source from which you are sending event data. Once the destination is enabled, events from RudderStack will start to flow to AWS Personalize.

Before configuring your source and destination on the RudderStack app, please check whether the platform you are working on is supported by AWS Personalize. Refer to the table below:

Connection Mode




Device mode




Cloud mode




To know more about the difference between Cloud mode and Device mode in RudderStack, read the RudderStack connection modes guide.

Once you have confirmed that the platform supports sending events to AWS Personalize, perform the steps below:

  • Run the script by following the instructions included in the to generate a Tracking ID.

Keep this Tracking ID handy as it is used later to configure AWS Personalize as a destination.

  • Next, go to the RudderStack dashboard, and choose a source to which you would like to add AWS Personalize as a destination.

Please follow our Adding a Source and Destination guide to know how to add a source in RudderStack.

  • Select the destination as AWS Personalize. Give your destination a name and then click on Next. You should then see the following screen:

Destination Settings for AWS Personalize
  • Next, in the Settings section, fill all the fields with the relevant information and click Next. A brief description of each of these fields is mentioned below:

    • Connection Credentials

      • Access Key ID: The access key ID of your AWS account goes here.

      • Secret Access Key: Enter the secret access key of your AWS account.

      • Region: Please enter the region associated with your AWS account here.

    • Information on Dataset Group

      • TrackingId: Enter the tracking ID that you generated in the first step

The value of the event field in the payload will be sent as EVENT_TYPE, as it is a mandatory field in aws personalize schema structure. Therefore you can only send track events.

  • Map all the fields: In this section, enter the Schema Field you have used to create the schema in AWS Personalize (for e.g. USER_ID, TIMESTAMP, ITEM_ID, etc.). Also, enter the corresponding Mapped Field from which the value will be taken from your event payload.

The following snippet shows an example of sending track event, with mapped field specified in the RudderStack dashboard:

rudderanalytics.track("PRODUCT ADDED", {
typeOfSdk: "javascript",
numberOfRatings: "12",
itemId: "item 1",

Contact Us

If you come across any issues while configuring AWS Personalize as a destination with RudderStack, please feel free to contact us. You can also start a conversation on our Slack channel; we will be happy to talk to you!