Skip to main content

SmartEdit & its Personalization in Hybris

SmartEdit introduced  in 6.0 Hybris version and  Personalization (based on SmartEdit)  enabled in 6.1 Hybris version Onwards .
SAP Commerce SmartEdit allows content managers to easily create and manage their website content on-the-fly in different inflection points and make it available to their customers with the click of a button.

Personalization (based on SmartEdit) provides an integrated, user-friendly way of building experiences that are relevant to your customers, which is key to driving engagement and conversion.  Personalization encompasses modules and extensions that facilitate using Personalization Mode in SmartEdit to create a fully customized user experience. Personalization capabilities work across both content and commerce in an integrated way, so that you can build customer experiences consistently across channels and functionality. Using SmartEdit for Customer Experience, you can see the end-customer experience as you build it, all the while working in one set of tooling.

  Personalization mode

Personalization mode is a view in SmartEdit that allows you to build and configure experiences for your customers.

The personalization mode allows you to:
·         manage targeting of content from within SmartEdit,
·         create new customizations and manage how they layer and interact to build a complete user experience,
·         see changes in the correct context as you work,
·         preview the customizations from the context of different customers.

You can easily create your customization using the SmartEdit intuitive and user-friendly UI. Once the particular customization is ready, you can preview it to see how it works for a particular target group.
                
The idea behind personalization is to give the user an ultimate, customized experience. With the help of SmartEdit, you are able to easily create a new customization by combining desired target groups and segments and connect it to the specific components of the storefront. Additionally,SmartEdit allows you to instantly see how the customization works for a particular user group. Although SmartEdit should be the primary tool for creating and managing customizations, you can also use the Backoffice Administration Cockpitfor configuration, treating it as a complementary tool to SmartEdit.

  Required Extensions:
Smart edit : 
  • cmsbackoffice
  • cmssmartedit
  • cmssmarteditwebservices
  • cmswebservices
  • permissionswebservices
  • previewwebservices
  • smartedit
  • smarteditaddon
  • smarteditwebservices

Personalization: 
  • personalizationsmartedit

    Personalization Using Recipes

  • b2b_acc
  • b2b_acc_plus
  • b2c_acc
  • b2c_acc_plus
  • b2c_b2b_acc


    Personalization Elements

Customization: A customization refers to a collection of data that includes one or more target groups, which in turn contain particular segments the users are assigned to. In our example the Summer Sale customization includes target groups such asVIPCustomersGoldBeachEnthusiast and VIPCustomersGoldMen.Customizations are ordered according to priority - to understand this concept better, refer to the section below.

Target Group: A target group groups the data retrieved from particular customer segment. A target group may include one or more segments. For example a target group called VIPCustomersGoldMen may feature segments such as Men, VIPCustomersGold. Only one target group option may be available for a customization at a given time. The target groups are sorted by priority.RememberThe naming convention assumes that the name target group is used in the frontend only, for the business-related purposes. Across the technical documentation you will find the term variation meaning the same.

Segments: A segment is a homogenous customer group or a cohort selected for a specific business purpose, so a group of users sharing some common characteristics such as age, gender, habits. In our example, the segments are ShortsCategoryLover, Men, and VIPCustomersGold.

     Personalization and Content Versioning

When you personalize a storefront component, it is placed in a container. Because the components which have not been personalized do not have their containers, the number of containers in versioned pages may differ depending on the personalization settings. 
An example scenario looks as follows: 
    • Personalize some of the components on the page.
    • Create a new version of the page using the Versioning perspective.
    • In Personalization perspective, add an action to a component which was not affected before. 
    • Come back to the Versioning perspective and revert the version to the previous one.
    • The number of containers in both versions does not match so a warning is displayed.

Comments

Popular posts from this blog

Performance Improvement in Hybris eCommerce

Below points will specially help   grocery   based projects where adding   50-60 products per cart   is a common trend and where   complex promotions   are used using   drools   engine. Add/Update to cart     à   In OOB Hybris whenever any new product is added to cart or quantity of existing product is updated in cart (from PLP, PDP, Search page etc) then calculateCart() method is called in order to calculate total price of the cart. This call can be prevented (to increase   performance ) in case the business requirement is to just show notification of add to cart without total price in minicart. View Cart   à   In case 50-60 products are added in cart and approx. 30% of the products have promotions applied then OOB Hybris view cart can take between 10-15 seconds to load (based on complexity of promotion). In order to avoid custom waiting 10-15 sec to see view cart this operation of can be split into below 3 steps so that every 3-4 seconds rendering of data starts and custom

Use of PartOf in Hybris

Definition PartOf modifier is used to define the aggregation relationship between Parent and Child objects. To explain it better I would say PartOf is used to defining cascade delete.  When we delete a Parent object then all its child objects(partOf) will be deleted automatically. Why or When to use PartOf? PartOf may make sense when the relationship involves "is part of" description. For example, an OrderEntry record(AbstractOrderEntry) is part of its parent Order(AbstractOrder), and older entries will never be shared between multiple orders. If the Order were to vanish, the OrderEntry should as well, and an order entry without an Order would be a problem. How to use PartOf? Looking into the following items.xml snippet we can able to understand the importance of PartOf This also can be defined at the attribute level. Like <itemtype code="User" extends="Principal" jaloclass="de.hybris.platform.jalo