Dynamic Yield
Send your event data from RudderStack to Dynamic Yield.
Dynamic Yield is a personalization platform that lets you deliver personalized digital customer experiences. It lets you tailor content, products, and offers based on customer preferences.
Find the open source transformer code for this destination in the GitHub repository.
Setup
- In your RudderStack dashboard, go to Directory > Destinations > Cloud Destinations and search for Dynamic Yield.
- Connect your source and click Continue.
Connection settings
Configure the following settings to set up Dynamic Yield as a destination in RudderStack:
- Name: Assign a name to uniquely identify the destination.
- API Key: Enter your Dynamic Yield API key by logging in to your Dynamic Yield dashboard and going to Settings > API Keys.
Connection mode
Specify how you want to route events from your source to Dynamic Yield.
RudderStack supports sending events to Dynamic Yield via the following connection modes:
Connection mode | Web | Mobile | Server |
---|
Device mode | - | - | - |
Cloud mode | Supported | Supported | Supported |
Configuration settings
After completing the initial setup, configure the following settings to correctly receive your data in Dynamic Yield:
- Hash Email: If enabled, RudderStack hashes the email present in the
identify
call, before sending it to Dynamic Yield.

If your emails are already hash-encrypted, it is recommended to keep this setting disabled.
- OneTrust Cookie Categories: This setting lets you associate the OneTrust cookie consent groups to Dynamic Yield.
Identify
You can use the identify
call to identify known/unknown users in Dynamic Yield.
A sample identify
call is shown below:
rudderanalytics.identify("user112", {
email: "alex@example.com"
}, {
context: {
sessionId: "16733896350494",
ip: "54.100.200.255"
}
})
Traits mapping
RudderStack maps the following event traits to the Dynamic Yield properties:
RudderStack trait | Dynamic Yield property |
---|
userId
anonymousId Required | user.id
events[].properties.cuid |
session_id
context.sessionId Required | session.custom |
traits.email
context.traits.email | hashedEmail |
Track
You can use the track
call for recording ecommerce and custom events in Dynamic Yield.
See the Dynamic Yield documentation for a list of predefined events.
A sample track
call is shown below:
rudderanalytics.track("Order Completed", {
order_id: "1234",
currency: "USD",
products: [{
product_id: "345676543",
price: 17.99,
quantity: 20
}, ],
}, {
context: {
traits: {
userId: "user123"
},
sessionId: "16733896350494",
}
})
Supported mapping
RudderStack maps the following event properties to the Dynamic Yield properties:
RudderStack property | Dynamic Yield property |
---|
properties.value
properties.revenue
properties.price
properties.products[].value
properties.products[].revenue
properties.products[].price Required | events[i].properties.value |
properties.sku
properties.products[].sku
properties.product_id
properties.products[].product_id Required | events[].properties.productId
events[].properties.cart[].productId |
properties.quantity
properties.products[i].quantity Required | events[].properties.quantity
events[].properties.cart[].quantity |
properties.products[].price Required | events[].properties.cart[].itemPrice |
context.traits.userId Required | user.id |
context.sessionId Required | session.custom |
properties.order_id | events[].properties.uniqueTransactionId |
properties.currency | events[i].properties.currency |
Questions? Contact us by email or on
Slack