Sitecore Best Practice Series:
# | Practice | Rationale |
---|---|---|
1. | Define clear business objectives for experimentation | Defining Clearly define what you want to test and the objectives you aim to achieve. Whether it's testing different content variations, recommendations, or personalization strategies, having specific goals will help make success measurable. |
2. | Create an always-on experimentation culture | Experimentation has to be continuous to provide an inflow of new personalization use case; however, even split testing requires users to come up with hypotheses, at least until AI automates the entire process. In the meantime, creating a culture of experimentation within an organization will help provide a continuous stream of ideas for things to test and focusing on learnings rather than success will continue motivating the team to come up with radical ideas that can result in significantly higher positive outcomes. |
3. | Good enough is good enough | Higher confidence levels require significantly higher amount of data to provide a statiscally significant sample. While some business-critical experiments will require a high level of confidence to pass, there will be many that will not. Speed of discovering new personalization use cases is frequently more important than high precision. |
4. | Use Sitecore personalize buckets for complex test cases | Sitecore Personalize buckets allows to have precise control over the the audience groups exposed to various experiments. This feature becomes especially useful when we want to expose the same group of users to multiple experiments and compare results to other groups. Buckets allow creating comparisons of combinations of experiments against various control groups. |
5. | Measure split testing impact on the closest goal | Avoid setting goals that cannot be immediately achieved by being exposed to a variation of an experiment. Goals that are further out in the user journey can be influenced by other variables, thus, setting them in experiments may produce false positives. Set goals for experiments that can be achieved at the current or next steps in the jouney to retain the outcome accuracy. |
6. | Use split testing to experiment with new personalization hypotheses | There are some personalization use cases that are obvious; however, to get beyond the basics experimentation is essential. Continuous experimentation helps identify new personalization use cases, improve existing ones, and deprecate the ones that are no longer producing results. |
7. | Use full-stack experiences to avoid a flicker | The Web Experience feature of Sitecore Personalize may produce a flicker on the page as it loads. To avoid the flicker and to speed up personalization, switch to using full-stack experiences with components calling the Sitecore Personalize API directly. |
8. | Use optimized testing for automation | Optimized testing involves AI for dynamically managing traffic allocation and starts automatically sending more traffic to the best performing variant saving manual effort. |
9. | Enable debug feature when troubleshooting configuration | The Debug feature allows viewing all configuration data in a table or in JSON in certain screens, which is helpful when performing troubleshooting. |
10. | Drop the tracking code on your current implementation early | If you are thinking about migrating to Sitecore Personalize and CDP with XM from Sitecore XP, drop the embed code on your current website prior to starting the migration. Personalize does not provide the REST API for importing contact events, making it difficult to implement historical data personalization from the start. Capturing data early will allow accumulate some event data for historical personalization. |
11. | Enable two factor authentication | Your customer data is your most precious asset, so make sure it is properly secured by enabling the two-factor authentication (2FA) no matter whether the rest of the organization's applications use it or not. |
12. | Pay close attention to AND, OR, NO operators in rules | The rules joined using the AND operator get evaluated prior to the ones using OR or NOT. Incorrect order of rule processing may lead to unintended outcomes. |
13. | Interrogate CDP data before creating segments | Interrogate the daa in Sitecore CDP so you can see the exact number and percentage of your contact that hold the attribute or value. This will give you the size of the segment and help you decide whether it is sufficient for the intended purpose in advance. |
14. | Limit the number of programmable decisions on the canvas to 3 | Programmable decisions add processing overhead, therefore, try to use fewer than 3 programmable decisions in your decision models on the canvas. |
15. | Reduce the number of components on a decision canvas | Processing overhead is caused by each additional component in a decision model. Try to reduce the number of components, if possible, in general, and for the models that cannot compromise on performance, try to create a custom component that would combine multiple ones at the cost of reusability, flexibility, and potentially higher maintenance cost in the future. |
16. | Add comments to decision model variants | Comments help understand the reason for variant creation and the changes made. It is recommended to also include an internal tracking system reference number in the comment to help create a complete audit trail of the changes. |