Stepping into Sitecore Commerce Connect

May 23rd, 2016

Most of the external commerce system (ECS) that you will be integrating Sitecore commerce connect with, will already have rest apis exposed to query those systems or perform shopping funnel activities. I have been asked a lot of times, what is the benefit of using Sitecore Commerce Connect over writing own data providers.

First of all, you will import all your products into Sitecore! The products will appear as a Content Item in the content tree under product repository. The advantage of having products as a Content Item are numerous and it can be used by Marketing people to promote some products by just logging into Sitecore CMS and assigning new products as featured products. They can also track which variant of the product is most popular and build custom featured products based on persona and user profile. One can assign goals to a product and see how far they are from achieving the goal.

One of the most interesting xDB feature is Path Analyzer. You can see the behavior of a user, where the user landed from (referral) and what actions a user took while viewing product details and buying it. You can also monitor abandoned carts and send out an email to the user. Using other xDB features like Engagement Analytics, complete session information of all commerce users can be captured and analyzed.

If you see an ECS that is being widely used by various clients, you need to build a Sitecore connector for that ECS on top of Sitecore Commerce Connect. Why? A reusable component is better than a new implementation and you build a layer on top of a robust Sitecore Commerce Connect framework. You will standardize the data flow between systems.

A few months ago, I was working with a client, who purchased an ECS (Insite Commerce) and the Connector that we built for the ECS and Sitecore (Using Sitecore Commerce Connect). We installed the Connector and within a day all products were synched to Sitecore and add to cart functionality on the Website was released for testing. The integration was smooth with such less efforts. Could instantly see the engagement plans kicked off.

I have been working on Sitecore Commerce Connect for more than a year now. My experience with Sitecore Commerce Connect is summed up here: 

Whats Great?

Easy Installation and Integration. Robust framework.

Extensibility for non-supported features like Unit of measure and free form specifications.

Core Shopping Funnel and Order features.

Bulk/Individual Pricing and Inventory feature.

User and Customers framework.

Support for Multi-site.

Repositories pattern.

xDB User activity tracking, Engagement Plans, Path analyzer, Setting up Goals.

Documentation & Support from Sitecore. (Quick and effective).

What needs to be tweaked?

Performance on Product Sync: First time sync takes a lot of time (if you have > 30K products) and if you increase the number of threads there is a chance of a deadlock. Also a nice to have feature would be to select the type of Product Sync in the CMS: Incremental and Full sync options based on product's last modified timestamp in ECS (OOTB)

Commerce Master Index rebuilt strategy (Incremental option for commerce_master_index): When I run a full sync and only 1 item is updated, full master index is rebuilt. Time taking!

Artifacts Repository needs to delete items too, so that navigation can be built on classifications available in the repository. Right now if you delete a category from ECS and sync, the category remains in the artifacts repository. I have already raised a sitecore ticket for this feature.

What are the new features desired in new releases?

(Although, SCC can be easily extended but would love it as an OOTB feature)

Commerce User Login

During website interaction, the user needs to be logged in both systems (ECS and Sitecore) due to context. There is a bit of complexity involved since the two systems are in different app domains. This is a requirement that every project will need. An OOTB pipeline to login Commerce Customers into ECS as well as Sitecore would be helpful.

Reporting on Product Sync (OOTB)

Would love to see a dashboard item that reports the statistics of product sync. For eg.  Last run, Duration, Products Updated, Products Deleted, Index Rebuild Time, Next scheduled run time, etc.

Product's free form text specifications like Warranty information, Tech Specs, etc

Right now every specification needs to be a part of artifact repository but there are situations where we have specifications that are free form text and are too large (Warranty Info, Tech Specs, etc). The artifact repository look up values does not feel the right place to put the free form text and then reference in the product’s specification.

Support for Unit of Measures of a product.

UoM is basic property of a product. There could be multiple unit of measures for a product. Although the product template is easily extensible, could have been an OOTB feature.

Promotions and Promo Codes

Artifact repository should support promotions sync.