Server-side personalization

When to consider server-side personalization

  • You're calling other APIs to build the page, and are using those results in the personalization.
  • You're making changes to the structure of the page, for example, changing the order of several sections.
  • You want to avoid the chance of flicker, which can be a particular issue if parts of the page are being conditionally added or omitted.
  • You want to maximize the indexing by search engines of your long-tail products.
    ​Learn more about The impact of personalization on SEO..
  • You want to render a personalized single-page app (SPA).
  • You are building a mobile app.
    ​Learn more in Mobile and app API.

Benefits and advantages of server-side personalization

  • No content load flicker - also called Cumulative Layout Shift, or CLS.
  • More consistent content loading.
  • Content is indexed more often by Google.
  • Unlikely to be affected by Script or Popup blockers.
  • More developer control.

Disadvantages

  • Possibly slower initial page load.
  • Less marketer control - Developer and IT support are required to implement changes to which Slots appear where.
  • Harder to do testing and to change where personalized elements are located on the page.

Some organizations use a hybrid approach. They use client-side personalization for rapidly evolving website areas because making changes and testing new content is much easier and quicker. Then, when the page structure has settled, they move to a server-side approach for more mature areas.

Other organizations use client-side personalization for tasks such as swapping banners but use a server-side approach to add or remove structural parts of the page, such as a dashboard.

Whether you use server-side or client-side personalization, remember that Fresh Relevance marketing rules allow you to change the content shown without changing the Slot itself. So, even with a server-side personalization approach, the platform's business users still have a lot of flexibility in changing the content shown to each individual.

Other considerations

Smartblock options

Some Smartblock options require additional explanation and clarification when used in conjunction with server-side personalization.

Freeze Open Time Content

This Smartblock option allows the set of products chosen for a recommendation Smartblock to be frozen for a period of time. This means that if the shopper sees a particular recommendation block or your app requests the same Smartblock and then returns within that period of time and sees/requests the same recommendation block again, they will see the same products in the same order.

Note that the set of products is only frozen where the URL used for the recommendation Smartblock is exactly the same. Any change to the URL, including the format, will result in a different set of products being shown when the Smartblock is revisited.

Connection pooling

You want to ensure the requests are as efficient as possible within the server application from which you request the personalized content. One way to do this is to use connection pooling, which reduces the time required to make repeated connections to the Fresh Relevance server.

The implementation details depend on the language and library that you are using.