Integrations
Dynamic Yield is an advanced machine learning engine that builds actionable customer segments in real time, enabling marketers to increase revenue via personalization, recommendations, automatic optimization & 1:1 messaging.
mParticle’s Dynamic Yield integration is available only for the Web platform.
After adding the Dynamic Yield integration as an event output from the mParticle admin portal, add it as a Connected Output from the Web platform connection page. Enter the Site Id
provided by Dynamic Yield in the Connection Settings.
You do not need to add the Dynamic Yield snippet to your code, but if you have, will not load it again and instead use the already loaded Dynamic Yield window object (window.DY). If you do not load it yourself, mParticle will load the script for you.
Dynamic Yield requires each page to have a Page Context. You will need to add the Page Context to each <head>
tag on the page. See here for additional information regarding Page Context.
Implementing Dynamic Yield inside of a Single Page App (SPA) has additional implications. See here for help setting up Dynamic Yield on an SPA.
Because there is a delay in viewing data inside of Dynamic Yield, they have created an Implementation Helper which you can read about here. It is recommended that you sync your product feed with Dynamic Yield via their Context API. Until you sync your product feed, you will see the following error message in the implementation helper: Could not validate SKU/s - Missing product feed
.
We support the following Dynamic Yield event types:
Dynamic Yield Event Name | mParticle Javascript |
---|---|
Purchase | mParticle.eCommerce.logPurchase(transactionAttributes , product ) |
Add to Cart | mParticle.eCommerce.Cart.add(product , true) |
Remove from Cart | mParticle.eCommerce.Cart.remove(product , true) |
Custom Event | mParticle.logEvent(‘Test Event’, mParticle.EventType.Social) |
Login | mParticle.Identity.login(identityApiData) |
Add to Wishlist | mParticle.eCommerce.logProductAction(mParticle.ProductActionType.AddToWishlist, product ) |
Keyword Search | mParticle.logEvent(‘Test Search’, mParticle.EventType.Search, {Keywords: ‘search query’}); |
See below for some call outs when using the above support event types
You can send a single product through mParticle’s logPurchase method, or an array of products:
var iPhone = mParticle.eCommerce.createProduct('iPhone', 'SKU123', 599, 1);
var transactionAttributes1 = mParticle.eCommerce.createTransactionAttributes('ID123', null, null, 599);
mParticle.eCommerce.logPurchase(transactionAttributes1, iPhone, true);
var Android = mParticle.eCommerce.createProduct('Galaxy', 'SKU234', 699, 1);
var transactionAttributes2 = mParticle.eCommerce.createTransactionAttributes('ID123', null, null, 1,298);
mParticle.eCommerce.logPurchase(transactionAttributes2, [iPhone, Android], true);
Dynamic Yield does not support adding multiple items to a cart at once. When adding multiple items to a cart through mParticle, we will iterate over the products and send an Add to Cart event for each item added via mParticle.
// results in a single Add to Cart event sent to DY
mParticle.eCommerce.Cart.add(iPhone, true);
// results in an Add to Cart event sent to DY for each product
mParticle.eCommerce.Cart.add([iPhone, Android], true);
It is not possible to remove more than 1 cart item at a time.
mParticle.eCommerce.Cart.remove(iPhone, true);
A customerid
or email
must be provided to the mParticle.Identity.login() method in order to initiate a Login event to Dynamic Yield. If neither is provided, no Login event will be sent. If an email is provided, mParticle will SHA256 encode a lowercased string version of the email as required by Dynamic Yield.
var identityApiData = {
userIdentities: {
customerid: 'customerid1',
email: 'test@gmail.com'
}
}
mParticle.Identity.login(identityApiData);
Custom events are sent using the standard mParticle.logEvent method call:
mParticle.logEvent('Add Friend', mParticle.EventType.Social, {gender: 'male', age: 45});
The query string that you want to capture should be added as an attribute with key Keywords
on the event. The name of the event will not be sent to Dynamic Yield.
mParticle.logEvent('Test Search', mParticle.EventType.Search, {Keywords: 'iMac computer'});
Setting Name | Data Type | Default Value | Platform | Description |
---|---|---|---|---|
Site ID | bool |
Web | Dynamic Yield-provided siteId, used to initialize the Dynamic Yield Javascript snippet |
Was this page helpful?