Expose user profiles stored in your Redis instance over an API.
7 minute read
The Activation API is part of our Early Access Program, where we work with users and customers to test new features and get feedback before making them generally available. These features are fully functional but can change as we improve them. We recommend connecting with our team before running them in production.
Contact us if you would like access to this feature.
With RudderStack’s Activation API, you can fetch enriched user traits stored in your Redis instance and use them for near real-time personalization for your target audience.
You must have a working Redis instance in place before setting up the connection.
Overview
A brief summary of how the Activation API works:
Sync all your customer 360 data from your Profiles project to your Redis store.
The Activation API sits on top of this Redis instance and provides endpoints for retrieving and using the enriched user data for personalization.
How to use the Activation API
In your Profiles project settings, scroll down to Activation API and turn on the Enable sync to Redis toggle.
Before you enable the Activation API toggle, make sure that:
You have at least one successful Profiles run.
Your pb_project.yaml > entities defines a feature_views property.
{"entity":<entity_type>,// User, project, account, etc.
"destinationId":<redis_destination_id>,// Redis destination ID
"id":{"type":<id_type>,"value":<id_value>}}
Example request
POST/v1/activationHTTP/1.1Host:profiles.rudderstack.comContent-Type:application/jsonAuthorization:Bearer <personal_access_token>Content-Length:90{"entity":<entity_type>,"destinationId":<redis_destination_id>,// Redis destination ID
"id":{"type":<id_type>,"value":<id_value>}}
You can use the Activation API for real-time personalization. Once you fetch the user traits from your Redis instance via the API, you can pull them into your client application to alter the application behavior in real-time based on user interactions.
You can respond immediately with triggered, user-focused messaging based on actions like page views or app clicks and provide a better customer experience.
Redis configuration
You must have a working Redis instance in place before setting up the connection.
Address: Enter the public endpoint of your Redis database. If you are using Redis Cloud, you can find this endpoint by going to your Redis database and navigating to Configuration tab > General.
Password: Enter the database password. You can find it in the Security section of the Configuration tab:
Cluster Mode: Turn on this setting if you’re connecting to a Redis cluster.
Secure: Enable this setting to secure the TLS communication between RudderStack Redis client and your Redis server.
Data mapping
RudderStack creates multiple Reverse ETL sources automatically based on your Profiles project. You will see separate sources for different id_served connected to the same Redis destination.
The following pb_project.yaml snippet shows the sources to be created:
entities:- name:userid_types:- main_id- user_idfeature_views:using_ids:- id:emailname:features_by_email# Optional. Takes default view name, if not specified.- id:salesforce_idname:salesforce_id_stitched_featuresfeatures:# Optional- from:models/cart_feature_tableinclude:- "*"
FAQ
How do I generate a personal access token to use the Activation API?
If I force a full resync, stop it, and then start a new sync, does RudderStack always perform a full sync the next time?
It depends on the state of the task when it was canceled.
If the sync is cancelled while RudderStack is preparing a snapshot, then next run depends on the state of the previous successful run and any mapping changes.
If it is cancelled after the sync data is prepared, the next run is incremental.
Generally if a sync is cancelled manually, it is recommended to trigger a full sync if the previous cancelled task was a full sync. If the previously cancelled sync was incremental, triggering an incremental sync is recommended.
Does RudderStack perform a full sync if I add a new column?
RudderStack does not change the sync mode if you make any column additions. It triggers a full sync only if you change/update the data mappings, for example, if the newly added column is sent to the destination via the Visual Data Mapper.
For Profiles activation syncs, RudderStack updates the mappings and automatically sends all columns from the customer 360 view by triggering a full sync.
Suppose I’m running a full sync and the Profiles job is running in parallel and finishes eventually. What happens to the scheduled sync? Does it get queued?
RudderStack first creates a temporary snapshot copy of any sync when it starts. So its syncing the created copy. Even if a Profiles job is running in parallel, the sync - if started - is not impacted by it.
This site uses cookies to improve your experience while you navigate through the website. Out of
these
cookies, the cookies that are categorized as necessary are stored on your browser as they are as
essential
for the working of basic functionalities of the website. We also use third-party cookies that
help
us
analyze and understand how you use this website. These cookies will be stored in your browser
only
with
your
consent. You also have the option to opt-out of these cookies. But opting out of some of these
cookies
may
have an effect on your browsing experience.
Necessary
Always Enabled
Necessary cookies are absolutely essential for the website to function properly. This
category only includes cookies that ensures basic functionalities and security
features of the website. These cookies do not store any personal information.
This site uses cookies to improve your experience. If you want to
learn more about cookies and why we use them, visit our cookie
policy. We'll assume you're ok with this, but you can opt-out if you wish Cookie Settings.