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

  1. In your RudderStack dashboard, go to Directory > Destinations > Cloud Destinations and search for Dynamic Yield.
  2. 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 modeWebMobileServer
Device mode---
Cloud modeSupportedSupportedSupported

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.
warning
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 traitDynamic 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 propertyDynamic 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_idevents[].properties.uniqueTransactionId
properties.currencyevents[i].properties.currency

Questions? Contact us by email or on Slack