LogoLogo
  • Contributing to RudderStack
  • Destination_Name
  • LICENSE
  • RudderStack Docs
  • docs
    • FAQ
    • Identity Resolution
    • Home
    • cloud-extract-sources
      • ActiveCampaign Source
      • Bing Ads
      • Chargebee
      • Common Settings
      • Facebook Ads
      • Freshdesk
      • Google Ads Source
      • Google Analytics
      • Google Search Console
      • Google Sheets
      • Cloud Extract Sources
      • Intercom v2
      • Intercom
      • Mailchimp
      • Marketo
      • Mixpanel
      • NetSuite
      • Pipedrive
      • QuickBooks
      • Salesforce Pardot
      • Sendgrid Source
      • Stripe Source
      • Xero
      • Zendesk Chat
      • Zendesk
      • hubspot
        • HubSpot Data Model and Schema Information
        • HubSpot
      • salesforce
        • Salesforce
        • Schema Comparison: RudderStack vs. Segment
    • connections
      • Connection Modes: Cloud Mode vs. Device Mode
    • data-governance
      • Data Governance
      • RudderTyper
      • Data Governance API
      • RudderTyper
      • tracking-plans
        • Tracking Plans
        • Tracking Plan Spreadsheet
    • data-warehouse-integrations
      • Amazon Redshift
      • Azure Data Lake
      • Azure Synapse
      • ClickHouse
      • Databricks Delta Lake
      • Google Cloud Storage Data Lake
      • Google BigQuery
      • Identity Resolution
      • Warehouse Destinations
      • Microsoft SQL Server
      • PostgreSQL
      • Amazon S3 Data Lake
      • Snowflake
      • FAQ
      • Warehouse Schema
    • destinations
      • Destinations
      • Webhooks
      • advertising
        • Bing Ads
        • Criteo
        • DCM Floodlight
        • Facebook App Events
        • Facebook Custom Audience
        • Facebook Pixel
        • Google Ads (gtag.js)
        • Google AdWords Enhanced Conversions
        • Google Adwords Remarketing Lists (Customer Match)
        • Advertising
        • LinkedIn Insight Tag
        • Lotame
        • Pinterest Tag
        • Reddit Pixel
        • Snap Pixel
        • TikTok Ads
      • analytics
        • Amplitude
        • AWS Personalize
        • Chartbeat
        • Firebase
        • FullStory
        • Google Analytics 360
        • Google Analytics
        • Heap.io
        • Hotjar
        • Analytics
        • Indicative
        • Keen
        • Kissmetrics
        • Kubit
        • Lytics
        • Mixpanel
        • Pendo
        • PostHog
        • Quantum Metric
        • Singular
        • adobe-analytics
          • Adobe Analytics Heartbeat Measurement
          • Mobile Device Mode Settings
          • Web Device Mode Settings
          • E-commerce Events
          • Adobe Analytics
          • Setting Up Adobe Analytics in RudderStack
        • google-analytics-4
          • Cloud Mode
          • Device Mode
          • Google Analytics 4
          • Setting up Google Analytics 4
        • profitwell
          • ProfitWell
          • Cloud Mode
          • Device Mode
      • attribution
        • Adjust
        • AppsFlyer
        • Branch
        • Attribution
        • Kochava
        • TVSquared
      • business-messaging
        • Business Messaging
        • Intercom
        • Kustomer
        • Slack
        • Trengo
      • continuous-integration
        • Visual Studio App Center
        • Continuous Integration
      • crm
        • Delighted
        • HubSpot
        • CRM
        • Salesforce
        • Variance
        • Zendesk
      • customer-data-platform
        • Customer Data Platform
        • Segment
      • error-reporting
        • Bugsnag
        • Error Reporting
        • Sentry
      • marketing
        • ActiveCampaign
        • AdRoll
        • Airship
        • Appcues
        • Autopilot
        • Blueshift
        • Braze
        • CleverTap
        • Customer.io
        • Gainsight PX
        • Gainsight
        • Marketing
        • Iterable
        • Klaviyo
        • Leanplum
        • Mailchimp
        • Marketo Lead Import
        • Marketo
        • MoEngage
        • Ometria
        • Pardot
        • Post Affiliate Pro
        • Qualtrics
        • SendGrid
        • Salesforce Marketing Cloud
        • Userlist
        • drip
          • Cloud Mode
          • Device Mode
          • Drip
          • Setting Up Drip in RudderStack
      • productivity
        • Google Sheets
        • Productivity
      • storage-platforms
        • Amazon S3
        • DigitalOcean Spaces
        • Google Cloud Storage
        • Storage Platforms
        • Azure Blob Storage
        • MinIO
        • Redis
      • streaming-platforms
        • Amazon EventBridge
        • Amazon Kinesis Firehose
        • Amazon Kinesis
        • Azure Event Hubs
        • BigQuery Stream
        • Confluent Cloud
        • Google Pub/Sub
        • Streaming Platforms
        • Apache Kafka
      • tag-managers
        • Google Tag Manager
        • Tag Managers
      • testing-and-personalization
        • Algolia Insights
        • Candu
        • Google Optimize
        • A/B Testing & Personalization
        • LaunchDarkly
        • Monetate
        • Optimizely Full Stack
        • Optimizely Web
        • Split.io
        • Statsig
        • VWO (Visual Website Optimizer)
    • get-started
      • RudderStack Cloud vs. RudderStack Open Source
      • Glossary
      • Get Started
      • RudderStack Architecture
    • reverse-etl
      • Amazon Redshift
      • Amazon S3
      • ClickHouse
      • FAQ
      • Google BigQuery
      • Reverse ETL
      • PostgreSQL
      • Snowflake
      • common-settings
        • Importing Data using Models
        • Importing Data using Tables
        • Common Settings
        • Sync Modes
        • Sync Schedule
      • features
        • Airflow Provider
        • Features
        • Models
        • Visual Data Mapper
    • rudderstack-api
      • Data Regulation API
      • HTTP API
      • RudderStack API
      • Personal Access Tokens
      • Pixel API
      • Test API
      • api-specification
        • Application Lifecycle Events Specification
        • API Specification
        • Video Events Specification
        • rudderstack-ecommerce-events-specification
          • Browsing
          • Coupons
          • E-Commerce Events Specification
          • Ordering
          • Promotions
          • Reviewing
          • Sharing
          • Wishlist
        • rudderstack-spec
          • Alias
          • Common Fields
          • Group
          • Identify
          • RudderStack Event Specification
          • Page
          • Screen
          • Track
    • rudderstack-cloud
      • Audit Logs
      • Dashboard Overview
      • Destinations
      • RudderStack Cloud
      • Live Events
      • Connection Modes: Cloud Mode vs. Device Mode
      • Sources
      • Teammates (User Management)
      • connections
        • Adding a Destination
        • Connections
    • rudderstack-open-source
      • Control Plane Setup
      • RudderStack Open Source
      • installing-and-setting-up-rudderstack
        • Developer Machine Setup
        • Docker
        • Data Plane Setup
        • Kubernetes
        • Sending Test Events
    • stream-sources
      • App Center
      • AppsFlyer
      • Auth0
      • Braze
      • Customer.io
      • Extole
      • Event Stream Sources
      • Iterable
      • Looker
      • PostHog
      • Segment
      • Shopify
      • Webhook Source
      • rudderstack-sdk-integration-guides
        • Client-side Event Filtering
        • SDKs
        • AMP Analytics
        • Cordova
        • .NET
        • Go
        • Java
        • Node.js
        • PHP
        • Python
        • React Native
        • Ruby
        • Rust
        • Unity
        • SDK FAQs
        • rudderstack-android-sdk
          • Adding Application Class
          • Flushing Events Periodically
          • Android
        • rudderstack-flutter-sdk
          • Flutter SDK v1
          • Flutter v2
          • Flutter
        • rudderstack-ios-sdk
          • iOS
          • tvOS
          • watchOS
        • rudderstack-javascript-sdk
          • Data Storage in Cookies
          • Detecting Ad-blocked Pages
          • JavaScript
          • JavaScript SDK Enhancements
          • JavaScript SDK FAQs
          • Querystring API
          • Quick Start Guide
          • Version Migration Guide
          • consent-managers
            • Consent Managers
            • OneTrust
    • transformations
      • Access Token
      • FAQ
      • Transformations
      • Transformations API
    • user-guides
      • User Guides
      • administrators-guide
        • Troubleshooting Guide
        • Alerting Guide
        • Bucket Configuration Settings for Event Backups
        • Configuration Parameters
        • Event Replay
        • High Availability
        • Horizontal Scaling
        • Administrator's Guides
        • Infrastructure Provisioning
        • Monitoring and Metrics
        • Okta SSO Setup
        • OneLogin SSO Setup
        • RudderStack Grafana Dashboard
        • Software Releases
      • how-to-guides
        • How to Use Custom Domains
        • How to Develop Integrations for RudderStack
        • How to Configure a Destination via the Event Payload
        • How to Filter Events using Different Methods
        • How to Filter Selective Destinations
        • How to Submit a Pull Request for a New Integration
        • How-to Guides
        • How to Debug Live Destination Events
        • How to Use AWS Lambda Functions with RudderStack
        • create-a-new-destination-transformer-for-rudder
          • Best Practices for Coding Transformation Functions in JavaScript
          • How to Create a New Destination Transformation for RudderStack
        • implement-native-js-sdk-integration
          • How to Add a Device Mode SDK to RudderStack JavaScript SDK
          • How to Implement a Native JavaScript SDK Integration
        • rudderstack-jamstack-integration
          • How to Integrate RudderStack with Your JAMstack Site
          • How to Integrate Rudderstack with Your Angular App
          • How to Integrate Rudderstack with Your Astro Site
          • How to Integrate Rudderstack with Your Eleventy Site
          • How to Integrate Rudderstack with Your Ember.js App
          • How to Integrate Rudderstack with a Gatsby Website
          • How to Integrate Rudderstack with a Hugo Site
          • How to Integrate Rudderstack with Your Jekyll Site
          • How to Integrate Rudderstack with Your Next.js App
          • How to Integrate Rudderstack with Your Nuxt.js App
          • How to Integrate Rudderstack with Your Svelte App
          • How to Integrate Rudderstack with Your Vue App
      • migration-guides
        • Migrating from Blendo to RudderStack
        • Migrating Your Warehouse Destination from Segment to RudderStack
        • Migration Guides
        • Migrating from Segment to RudderStack
  • src
    • @rocketseat
      • gatsby-theme-docs
        • text
          • Home
Powered by GitBook
On this page
  • Getting started
  • Connection Settings
  • Track
  • Identify
  • Contact Us

Was this helpful?

  1. docs
  2. destinations
  3. analytics

AWS Personalize

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

PreviousAmplitudeNextChartbeat

Last updated 3 years ago

Was this helpful?

, 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 Personalize, you can boost your customer engagement and overall business revenue in no time at all.

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

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

To use and for Personalize, use the latest images for and images.

Getting started

To enable sending data to AWS Personalize, you will first need to add it as a destination in the RudderStack dashboard. Once the destination is enabled, events from RudderStack will start flowing to Personalize.

Before configuring your source and destination on the RudderStack app, check whether the source platform is supported by AWS Personalize by referring to the following table:

Connection Mode

Web

Mobile

Server

Device mode

-

-

-

Cloud mode

Supported

Supported

Supported

To know more about the difference between cloud mode and device mode in RudderStack, read the guide.

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

  • Generate a Tracking ID by following the instructions .

Keep this Tracking ID handy. It is required to configure AWS Personalize as a destination.

  • Next, go to the , and configure the source.

  • From the list of destinations, select AWS Personalize. Assign a name to your destination and then click on Next. You should then see the following screen:

Destination Settings for AWS Personalize

  • Next, in the Connection Settings page, fill all the fields with the relevant information and click on Next.

Connection Settings

This section details all the fields you need to configure to set up Personalize as a destination.

  • Access Key ID: Enter the access key ID of your AWS account here.

The following actions need to be attached to the Access Key while setting up the AWS policy for it:

"Action": [
           "personalize:PutEvents",
           "personalize:PutUsers",
           "personalize:PutItems"
          ]

You can use these actions based on the type of Personalize events you want to send. For example, to send only putEvents type of events, you can attach only "personalize:PutEvents".

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

  • Region: Enter the region associated with your AWS account in this field.

  • Information on Dataset Group:

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

    • Dataset ARN: Enter the dataset ARN of the dataset from the chosen dataset group.

For PutItems and PutEvents operations, it is mandatory to specify the Dataset ARN and Tracking ID in the RudderStack dashboard.

  • Operational Choice:

    • Personalize Events: Choose the type of Personalize event you want to avail.

    • Map all the fields: In this section, enter the Schema Field you have used to create the schema in AWS Personalize (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.

When using the PutItems operation, you need to provide the path to the corresponding Mapped Field corresponding to the ITEM_ID in your Personalize database schema.

Track

For PutEvents, RudderStack sends the value of the event field in the payload as EVENT_TYPE. Also, the value of the timestamp or originalTimestamp field in the payload will be sent as sentAt.

For PutItems and PutEvents operations, it is mandatory to specify the Dataset ARN and Tracking ID in the RudderStack dashboard.

rudderanalytics.track("PRODUCT ADDED", {
  typeOfSdk: "javascript",
  numberOfRatings: "12",
  X: "item 1",
});

When using the PutItems, the Schema Field ITEM_ID must be mapped to a specific key inside the payload and you need to mention the path to the chosen key as the corresponding Mapped Field.

In the above example, if you map ITEM_ID to the payload field X, the corresponding Mapped Field will be properties.X.

For any other Schema Field in your ITEMS dataset, it is not advised to specify the path - only the field name will be sufficient.

While using PutEvents, the Mapped Field for ITEM_ID should not contain the path to the field. Only the name of the field will be sufficient. The same rule is applicable for any other Schema Field mapping.

The following image shows an example of the dashboard configuration for PutItems:

The following image shows an example of the dashboard configuration for PutEvents:

Identify

The identify call lets you use PutUsers operation of AWS Personalize.

For the PutUsers operation, the value of the userId or anonymousId field in the payload will be sent as userId.

For PutUsers, the Dataset ARN field in the RudderStack dashboard is required.

rudderanalytics.identify("userId", {
  name: "John",
  email: "john@xyz.com"
  });

Contact Us

For more information on creating a schema in Personalize, refer to the .

The track call lets you use and operations of AWS Personalize.

To use the PutUsers and PutItems operations, use the latest images for and images.

The following snippet shows a sample track event with the mapped field specified in the :

Dashboard Configuration Based On The Above Example

Dashboard Configuration Based On The Above Example

To use PutUsers and PutItems for Personalize, use the latest images for and images.

The following snippet highlights a sample identify event with the Mapped Field specified in the :

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

Personalize documentation
PutEvents
PutItems
rudder-server
rudder-transformer
RudderStack dashboard
rudder-server
rudder-transformer
RudderStack dashboard
contact us
Slack
Amazon Personalize
GitHub repo
PutUsers
PutItems
rudder-server
rudder-transformer
RudderStack connection modes
here
RudderStack dashboard
PutItems
Destination Settings for AWS Personalize
Dashboard Configuration Based On The Above Example