A key decision to make before you begin the implementation is whether you are going to use the Client side or Server side integration approach. Remember that if you are using a plugin developed by PureClarity for your e-commerce platform then this is not relevant to you. Refer to the documentation for your plugin.
Regardless of the approach taken you will need to generate and send the data feeds to PureClarity. These tell PureClarity about the products on your site, as well as historic orders and your customers.
For some implementations PureClarity rendering all the HTML is not viable. For example if the pricing of products is custom per user and has very complex logic, or if some products cannot always be shown to some users. For very complex situations like this you can use our "Server side" approach.
At this point it is worth pointing out that because of our callback feature - there are very few situations where server side is the correct approach. We advise you to contact our support team before embarking on a server side implementation.
In a "Server side" implementation your e-commerce system will make calls directly to PureClarity - often before the page is loaded. Your e-commerce system will be responsible for building HTML from the results PureClarity returns. Server side allows you to potentially integrate PureClarity into your existing pipelines - for example feeding the JSON results into your own templating system.
Drawbacks of server side:
- More code intensive - takes longer to implement
- Increased latency on initial page load
- You can't use the PureClarity templating system for data returned server side
- You have to handle setting client cookies so PureClarity can identify the customer
A quick summary:
Client side: With the Client side approach HTML is generated by PureClarity for zones. You can change the HTML and the CSS style using Template Management in the admin console. This is the quickest route to implementing the software and the recommended method.
Server side: The Server side approach provides an API that produces a stream of products, brands and categories for zones. This approach is more code intense but gives you flexibility if you have bespoke requirements not supported by the Client side method. Use this method if you have custom pricing or product visibility rules - for example on a B2B site.