Header background

5 Starter Tips to Deliver Outstanding Salesforce Commerce Cloud/Demandware Performance

Salesforce Commerce Cloud

As a certified Salesforce Commerce Cloud LINK Technology Partner we provide  a broad  range of Commerce Cloud customers with Synthetic and/or Real User Monitoring insight into the performance of their applications and associated customer experiences. This wealth of data enables us to provide insight into trends, pitfalls, and best practice for Commerce Cloud implementations that are based on quantitative data. We also have access to our own Sandbox environments where we deploy the Site Genesis demo store application to our test integrations.

Site Genesis demo application sandbox used for testing and integration purposes.
Site Genesis demo application sandbox used for testing and integration purposes.

However, instead of the usual deep dive into advanced problem solving, I want to provide some starter tips that will help current Commerce Cloud customers gain immediate insight into the performance of their ecommerce store.

For those unfamiliar with the term, Synthetic Monitoring enables critical customer journeys to be simulated. These simulations can be individual pages visited along with mouse and keyboard actions, or multi-step transactions that includes steps like authentication. The simulations can take place from either a Backbone perspective, a Last Mile perspective, or both. Each perspective provides their own use cases, insights, and benefits:

Backbone

Consisting of over 150+ ‘clean room’ environments located at ISP’s with direct physical connectivity to the Internet backbone, Backbone tests provide Operations teams with real-time performance of their applications, current and historical performance baselines, and trending, combined with advanced reporting and alerting. Backbone tests essentially provide the ‘control group’ without the noise and distortion from the Internet

Last Mile

Utilizing a global peer network of agents on end user devices in over 160 countries, transactions are replayed to capture local conditions that a typical end-customer would experience, that is browser variations, choice of local ISP’s, different access methodologies (e.g Cable, DSL, Dial-Up) and speeds. Last Mile tests provide insight into the performance of your application as the end-customer would perceive it, with data identifying which components of the page and transaction need to be optimized and which will provide the greatest ROI from performance tuning and optimization efforts.

Real User Monitoring provides insight into how each and every single customer interacts with your application to assess their satisfaction in real-time, identify user behavior patterns quickly, anticipate trends, and respond fast, and to analyze the problems of individual users as well as general problems on specific web pages.

Real User Monitoring overview dashboard
Real User Monitoring overview dashboard

And of course, we’re able to combine data from both Synthetic and from Real User Monitoring into a single dashboard:

Example dashboard displaying Real User and Synthetic Data.
Example dashboard displaying Real User and Synthetic Data.

In this blog we’ll focus on the Backbone perspective provided by Synthetic Monitoring, and I’ll cover the specifics of Last Mile Synthetics and Real User Monitoring (RUM) in a future blog post.

We’ll use the Site Genesis demo application running in our sandbox environment to illustrate the insights the tips provide.

Why should you care?

Empirical studies from many sources illustrate the correlation between the performance of an ecommerce application as perceived by the end user, and sales revenue. Conversion rates will decline when a website or mobile app is too slow, meaning customers may decide to go elsewhere to make a purchase, and they will turn to more costly channels for services that should have been self-service.

correlation between the performance of an ecommerce application and sales revenue

What’s more your visitors have a different tolerance for your site’s speed depending on whether they have clicked a landing page, a product page, or are completing an order. You can read more about the impact of performance in the report “T-Mobile Going beyond page load speed to optimize customer experience“.

Tip 1: Response Time & Availability

The simplest use case for Synthetics provides insight into the response time of and availability of individual pages of your web application. It’s good exercise to identify which are the key pages you want to monitor and then based on the importance of the page determine which locations you’d like to monitor from and how frequently the tests should run. The outputs from this test will provide a baseline of availability and performance metrics that can be used as comparison benchmark for optimization and tuning efforts.

Average SiteGenesis Homepage response time and availability by City for the last 24 hours.
Average SiteGenesis Homepage response time and availability by City for the last 24 hours.

We can see in the chart above that there are some minor spikes in performance, but nothing major (there are some errors and we’ll come back to those in Tip 3: Understanding Geographical Performance Variations). If we wanted to drill down for more details on the performance spike we can hover over for more information, or click to open up a context menu for deep dive inspection like a waterfall chart, or to utilize the Root Cause Analysis feature:

Example of the hover-over information and context menu for deep dive inspection.
Example of the hover-over information and context menu for deep dive inspection.
Automated Root Cause Analysis makes problem identification fast and simple.
Automated Root Cause Analysis makes problem identification fast and simple.
A Waterfall chart showing the contribution time and sequence of each object on the page.
A Waterfall chart showing the contribution time and sequence of each object on the page.

The delivered customer experience is a critical factor that helps online retailers win more customers, and content plays a critical role in capturing and retaining audiences. Increasing quantities of content and content types are being added by Marketing teams to provide rich online experiences that engage, captivate, and convert their audiences. However, this can have a negative impact if left unchecked.

Monitoring how page size and the number of objects on the page are trending over time, both of which can contribute to an increase in response times, is important to quantify. This data will enable the marketing teams to make sure content is optimized, old or unused components and tags are removed, and decisions made based on the content type and associated contribution of that content to the overall delivered customer experience.

Note that this is especially important when Marketing and Content teams are empowered with content creation, approval, and publishing workflows that bypass IT. Non-IT staff may not be aware of the potential performance impact their content will have.

Page size trending of 4 key pages over the previous month.
Page size trending of 4 key pages over the previous month.
Page element trending of 4 key pages over the previous month.
Page element trending of 4 key pages over the previous month.

 A good way to add context to the size of page size and the number of page elements and whether they’re negatively impacting user performance is to compare and correlate these metrics to response time:

Correlation of Average Response Time vs. Average Number of Bytes (Page Weight) and Average Number of Objects.
Correlation of Average Response Time vs. Average Number of Bytes (Page Weight) and Average Number of Objects.

Tip 3: Understanding Geographical Variations

Insight into the performance of your ecommerce application from different geographies allows you to engineer your application and make investment decisions based on objective data. Further it also allows the quantification of the impact of those investment decisions.

Insight into the performance of ecommerce application from different geographies

Say, for example, you have a specific geographical market, or want to enter a new market where you do not have any users currently accessing your site. Running Synthetic tests from these locations will provide insight into how you can expect your application to perform once live. If there are areas of the site that are contributing to slow experiences, you can identify them and make decisions about how to improve. For example, you may want to deploy your site to a local APAC instance of Salesforce Commerce Cloud, and if there is rich content you may also want to evaluate different CDN providers who can deliver content locally.

Deeper inspection of the issue from Shanghai reveals a timeout, likely caused by local infrastructure or a connectivity issue.
Deeper inspection of the issue from Shanghai reveals a timeout, likely caused by local infrastructure or a connectivity issue.

 This is especially important in complex but rapidly developing economies like China, where local ISP and network infrastructure plays a significant factor in overall performance, and where local CDN players may be better placed than typical US players to accelerate content delivery. It also matters when your web experience integrates 3rd party services that may not be optimized for these geographies, even when *your* application is (see Tip 5 below). The great thing about the Dynatrace Last Mile network is that we have thousands of agents worldwide, so anywhere you want to experiment with end user experience, you can! (Stay tuned for more on this in future posts.)

If you’d like to read about one of our customers who successfully navigated China’s challenging web environment, then take a look at the REA Group Case Study.

Tip 4: Load Order Matters

Over the years, we’ve written plenty about web performance best practice and while there are some very simple rules to follow, we still see the same mistakes being made that significantly impact performance and ultimately the delivered customer experience.

Here are some examples of where page rendering performance basics should be followed to optimize user experience. Using the Waterfall feature we can easily identify areas for improvement:

  • CSS should be loaded together first at the top of the page
  • JS should be loaded together after all other core domain content is rendered since it may block other content
  • Third party content should only be downloaded after all core domain content has been completed, and delivered asynchronously to avoid blocking the critical rendering path
  • Caching, connection keep-alives, and compression should be optimized to accelerate the journey deeper into your site
Customer example of sub-optimal 3rd party load order.
Customer example of sub-optimal 3rd party load order.

But sometimes determining where to start with performance optimizations is difficult. That’s where Dynatrace Real User Monitoring comes in. It shows you where most of your site leakage and poor performance is happening, in terms of both pages and customer profiles. Once you get that focus, you can take action to get the best return on your investment in frontend design/code changes. Stay tuned for more on this in a future post.

 Measuring page performance at the individual object level enables developers and performance engineers to quantify the impact of their tuning and optimization efforts through an objective comparison of pre- and post-optimization performance testing.

Tip 5: 3rd Parties & CDN’s

While your core Commerce Cloud application will provide product information, pricing, cart, and transactional capability, it’s typical in the complex world of ecommerce that many 3rd parties will also be utilized. These 3rd parties provide anything from international tax calculation, shipping information, product recommendations and re-targeting, personalization, tag management, analytics, ratings & reviews, and lots more besides.

What’s surprising is that the performance impact these 3rd parties have on the delivered user experience is considerable. Dynatrace Synthetics automatically identifies and categorizes third party services, providing insight into their availability and performance contribution timing to the customer experience.

example of the 3rd Party services that deploy as part of the SiteGenesis demo application
An example of the 3rd Party services that deploy as part of the SiteGenesis demo application.

When looking at 3rd parties and CDN’s, it is important to take into consideration Tip 3: Geographical Performance Variance, i.e. understanding the impact of 3rd parties in context to where the user is located. While existing 3rd party services may be performing well for your current market, what is the impact when connections to these 3rd parties is from a new market on a different continent?

Next Time

So far, we’ve talked about single page tests to keep things simple. In the next blog we’ll explore some advanced Synthetic topics such as Multi-Step Transaction Simulation, Last Mile data including Mobile, and Dashboarding.

Resources

To test the performance of your Salesforce Commerce Cloud application, you can sign up for the fully functional 14-day Synthetic free trial.