What's in this page
Learn about the core capabilities of Dynamic Yield, the different options for integrating us in your website and apps, and the transformation behind our offering for developers.
Since 2012, Dynamic Yield has offered a one-stop-shop personalization platform with an ever-growing array of features across desktop and mobile web, mobile apps, and email.
Rather than being an analytics tool, our strength has always been in collecting rich data about user behavior and then allowing marketers to take action based on that data. Instead of serving the same content for everyone, our customers are now using A/B testing, Multi-Arm Bandits, and rich targeting capabilities for running dynamic banners, overlays and notifications, recommendation widgets, and much more.
Our core capabilities are the combination of:
Audience creation and ad-hoc targeting using a wide selection of conditions: real-time and long-term behavior, device properties, geolocation, uploaded first-party data, and even the weather forecast. Here's a short video.
A Recommendation Engine that's deeply integrated with our A/B testing and targeting capabilities so that recommendation strategies can be continuously tweaked and optimized.
Since the beginning, the most notable requirement from our customers was the freedom to experiment. Rather than being tied to the capabilities of their Content Management System (CMS) or eCommerce platform, our end-users in marketing and product wanted to easily:
- Change that static creative with an A/B test
- Show an overlay with a special offer, but only to relevant users
- Sprinkle a bit of Social Proof
- Re-order the main navigation bar based on a user's known affinities
...and all that without needing to secure development time for each and every test from their super busy dev teams. Typically, a marketer would only need the assistance of an in-house template developer, or one of our implementation partners.
Of course, the process of getting a third-party product integrated into your web or mobile app is almost never completely hassle-free. The onboarding phase usually requires deeper IT involvement: we need to know the context of each page viewed, receive significant events and their details, as well as be able to access and periodically sync with an up-to-date product catalog. We offer integrations with many common platforms to automate or greatly simplify the process.
How our client-side script is downloaded and run in HTML pages
Provide an up-to-date product feed to Dynamic Yield, typically via a secure URL that you determine.
Add links to our CDN-based client-side scripts in the
<head>section of all pages in your site.
Let us know what's going on by setting a page context variable in the page, plus calling our client-side API to report any significant events.
Calls our serving layer to get personalized user data and recommendations, determines the chosen variations based on targeting rules, and visually renders the chosen variation. The script can sustain time-outs and errors using the default experiences defined in the data from CDN.
Automatically reports any page views to our Collection Layer servers, plus captures and reports impressions and clicks over the displayed variations.
Our classic mobile SDK is based on the same script code behind the scenes including on-device decision making based on data from CDN. The SDK provides a programmatic API over these scripts to iOS and Android app developers and enables mobile-only features such as push notifications.
For details on this type of integration, please visit our Knowledge Base.
Whether you support the claim that APIs are eating the world or not, a few major trends are now clear:
More and more websites, many of which used to be based on classic server-side-rendering-and-some-jQuery, are now built or re-built as Single Page Applications (SPAs) using React and similar frameworks. Progressive Web Applications (PWAs) and "Hybrid" mobile apps are also gaining a foothold.
Developers are moving to unite much of the logic powering both their web and mobile apps into one core set of server-side services, some of which are designed as micro-services or serverless functions. These core server-side services carry out as much logic as possible and return the same logical payloads to all platforms.
It's no wonder demand for APIs and SDKs is rising, both on the client- and the server-side. We've designed our API to be called from either side or both, based on your architecture and security concerns in mind.
Additionally, in order to allow customers to gradually shift from the client-side script approach to using APIs, we support a Hybrid Mode in which both methods are used in parallel. This allows customers to first use the script-based approach for quickly seeing the value, and only then proceed to deeper code-based integration.
In API-Only Mode, your server and/or client apps securely interact with our API Gateway, passing the details of the current page and asking for relevant campaign variations and recommendations.
The response is a JSON payload, which can either be based on a built-in schema (in case of recommendations), or a customer-defined payload (for Custom API Campaigns). It is then the caller's responsibility to parse the response and act on it. The client also needs to report back any engagement with the chosen variations or significant user events.
In Hybrid Mode, you can both integrate our client-side scripts and call our API from the client or server. Each method is responsible for a subset of the running experiences, but all are running for the same users and potentially for the same page.
Using this mode is very similar to implementing both modes, with an extra requirement that you call a dedicated endpoint on each pageview to ensure user IDs are kept in sync. Learn more.
Do Some Planning Ahead
Using APIs means a larger effort is needed from your development teams. However, it doesn't mean that development resources must be secured for each and every change you want to make.
Instead, business users, product, and devs can plan ahead together on how and where to place "place holders" for personalization so that following the initial integration there would be much flexibility to place and target content within these points.