Best practices for web and dialog activities
Review these best practices for creating web and dialog activities so that you can learn ways to manage activities more easily and reduce storefront performance impacts.
1. Place targets that are most likely to be met on the first path in the activity
Activities can contain multiple paths, each with a different target. For these types of activities, you can minimize the storefront performance impact by ordering the targets in the following sequence:- Place the target that is most likely to be met on the top path.
- Place the target that is the second most likely to be met on the second path, and so on.
This approach can reduce the number of targets that must be checked each time that the activity runs.
Consider the following example web activity, which contains two paths that use the Customer Segment target to show a different ad to male versus female customers. If you know that your store has more male customers, put that target on the top path:
2. Limit the number of paths in a single activity
Activities with many paths can become difficult to manage in the activity builder. If you run into problems, consider splitting the paths across multiple activities.- Create four separate activities.
- Create 25 paths in each activity.
- Assign each activity a different priority number, for example, 4, 3, 2, and 1.
On the storefront, the activity with priority 4 runs first, followed by 3, then 2, then 1. The four activities that are combined produce the same result as the single activity, without overburdening the activity builder.
3. Limit the nesting depth for branches
You can nest a branch element within another branch element, and then nest that branch element within another branch element, and so on. The more nesting you do, the greater the impact to storefront performance. The maximum number of nested branch elements is four.4. Consider the storefront performance costs when you choose targets for web activities
Certain targets have a higher storefront performance cost than others. For example: To improve site performance, consider limiting the number of high-cost targets that you use in web activities.- The Customer Segment target has a relatively high performance cost. Each time a customer is evaluated against the target, the server must retrieve the customer's attributes from the database and match them to the customer segment attributes.
- The Current Page target has a relatively low performance cost.
Current Page target evaluations that are related to catalog browsing
can be cached with the catalog page. Other Current Page target evaluations
do not require any database queries.
When you configure the Current Page target to target customers that are viewing a catalog entry that matches specific filters, the evaluation queries the WebSphere Commerce search index. To maintain a low performance cost when you use this option for the target, IT or a site administrator can cache the search query results for the web activity that uses this target option. Cache the web activity search results as part of the product details page. For more information about caching search results, see WebSphere Commerce search caching.