Adobe Target server-side optimization—well beyond a testing solution
Are you curious why many companies are increasingly using server-side optimization? Or are you already investigating it for your own testing and personalization program? Maybe you need to reach well beyond the web to optimize and personalize for the cross-channel experience of today’s customer, and require a solution that scales to meet this need. Perhaps you’re taking advantage of advancements that open the door to server-side optimization — for example, newer JavaScript frameworks like React, Angular, Backbone, and the popular node.js JavaScript runtime that allows you to deploy and run JavaScript both client- and server-side. You might even need to optimize components like search and pricing algorithms, or other back-end services that typically aren’t performed client-side.
If so, this post is for you. Here, you’ll learn how client-side differs from server-side optimization with Adobe Target, when to use each approach, and what important questions to ask before diving into the world of server-side optimization. A big thanks to my colleague Ram Parthasarathy, product manager for Adobe Target, for providing his technical expertise to assist in explaining the many technical aspects discussed in this post.
Client- and server-side optimization in Adobe Target.
Looking at the workflow diagram below for optimization with Adobe Target, you quickly see that the key difference between the client- and server-side methodologies is simply the device that communicates with Adobe Target. In client-side optimization, the client device — such as a mobile phone, laptop, or desktop computer — originates the call. These devices typically use at.js, the JavaScript library of Adobe Target, on the browser or one of Adobe’s native mobile SDKs, to tell Adobe Target, “Hey, we have a visitor,” and ask it, “What personalized experience should we give this visitor?”
In server-side optimization, your server originates the call to Target. Your developers deploy the Adobe Target delivery API in their code so that your server makes a request to Adobe Target when you have a visitor. Your developers can also take advantage of the Adobe Target node.js SDK to easily implement and run server-side tests on node.js applications.
Figure 1. Testing workflow comparison between client- and server-side optimization.
Whether the call originates from the client device or your server, Adobe Target uses a single, cross-channel visitor profile to determine and deliver the best personalized offer, content, or experience to your visitor. This profile can come from Adobe Target, other solutions in the Adobe Experience Cloud, or your own data. If you have Adobe Analytics or Adobe Audience Manager, you can use pre-defined segments from Analytics, or additional visitor profile data from Audience Manager to personalize more deeply. For example, you can create an individualized experience by building personalization rules based on the visitor cookies and CRM data that you’ve imported into Adobe Audience Manager.
Additionally, because Adobe Experience Cloud shares the visitor profile across all your channels, a visitor’s behavior in an A/B test can feed into, and power your other personalized activities, such as Automated Personalization and Recommendations. And no matter what channel or device your visitors use to connect with your brand, that visitor profile also ensures they receive the best possible experience, every time.
In each test or personalization activity, Adobe Target decides and delivers, in a single server call back to the client or server, the resulting offer, content, or experience from hundreds or thousands of possible variations. This architecture allows both client- and server-side optimization to personalize at scale, and operate together seamlessly. No matter how many activities you run, the payload is always small, and delivered in a single call. The Adobe Target architecture and infrastructure offer many advantages — to learn more about them, consider reading this article by Daniel Sheinberg, senior director of product management for Adobe Target.
So Which is Best for You — Client- or Server-side?
Which option you choose really depends on your specific business needs and priorities, depth of technical expertise, and available resources. Each option has benefits.
With client-side optimization, you can more quickly and easily set up tests. The three-step workflow, and marketer-friendly user interface of Adobe Target makes it incredibly easy to create A/B tests, and set up rules-based targeting. You can also easily tap into the many automation capabilities Target offers, like the one-click personalization of Auto-Target, that lets you personalize content, the user interface, the user experience, and more. Target lets you do this without relying on developers for coding, or having to coordinate testing activities with release cycles.
In comparison, server-side optimization offers development teams greater flexibility as a result of its server-to-server communication. It also provides full control over the personalization process, and often supports compliance with corporate security policies. Furthermore, server-side optimization can be deployed on devices that lack a JavaScript-based browser, such as smart TVs, game consoles, set top boxes, kiosks, call centers, or any other IoT device. In short, server-side optimization allows development teams to have full control over what, when, and where to optimize and personalize.
Fortunately, with Adobe Target, you don’t have to choose — you can use either, depending on which solution makes the most sense for you in any given scenario. For example, you can run a client-side A/B test on the hero image, experience targeting for a promotional banner, and product or content recommendations based on what others also viewed. At the same time, you could run a server-side test to discover which of several different search algorithms is most effective. Adobe Target gives you the best of both worlds.
Adobe Target — a Complete Server-side Optimization Solution
By now, you can see that server-side optimization with Adobe Target is far more than a basic testing option. Any activity types that you can run client-side, you can also run server-side, including A/B testing, multivariate testing, experience targeting, automated personalization, recommendations, and all automation capabilities powered by Adobe Sensei. Finally, your visitor behavior, whether in a client- or server-side optimization, can be stored in a visitor profile, in real time, to power any further personalization or optimization activities, regardless of whether they’re run client- or server-side.
Important Questions to Ask Before Diving into Server Side Optimization
Ready to dive into server-side optimization? Before you do, consider these key questions:
- Do you have engineers dedicated to optimization and personalization efforts? Server-side optimization usually requires developer involvement, while non-technical users, such as digital marketers can implement client-side tests.
- Do you want to operate using both client- and server-side? You’ll probably need both, so make sure your solution can run both client- and server-side activities simultaneously.
- Do you know how you will measure your activities? Most digital analytics solutions work entirely in a client-side mode. Make sure that the way your solution integrates with your analytics platform doesn’t result in data discrepancies.
- Can your solution support cross-channel personalization at scale? Your optimization solution should be able to tie visitor profile data across all your client-and server-side tests in real time, even if you are running hundreds of tests.
- Does your solution make the decision on the client or the server? Making content and experience decisions on the server is extremely important — it reduces the payload transferred between the servers and end-user devices, improves performance, and protects all your test content and audience data from exposure.
If you feel good about your answers, then you’re ready to try out server-side optimization. So go ahead — dive right in. Need more details about how to implement Adobe Target server side? Head on over to our developers hub.