Wednesday, June 17, 2015

Enabling Personalization ID in WCS 7

Concept

In simplest terms PersonalizationID (USERS.PERSONALIZATIONID) ties together Generic, Guest and Registered user id's together.  so, why do you really need a personalization id. Let us take a practical scenario of precision marketing and remember me functionality.

Use Case

WCS assigns users with a generic user id as soon as the user accesses store pages which do not require unique identification of end user, an example of this would be home page, browse pages. Let's say the user browsed the Men's section and finally decided to buy a product, as soon as user adds this item the cart (Remember the user has not yet logged in) WCS can no longer use the generic user id as generic user id is shared among multiple users visiting the site, to solve this problem, WCS generates a unique user id for the user and ties together the cart item and the generated user id, called as "Guest id" in WCS (This is a valid scenario as most of the B2C sites do not require you to login for "add to cart" functionality until you initiate a checkout process).

Let us think about precision marketing in this use case, on the home page we have a content spot which shows all recently browsed items by a user, from the use case above user browsed men's section as a generic user and added an item to cart as a guest user, so there is no way to tie together the browse history across these two user id's, personalization id solves this problem, since personalization id does not change when the user browsing the site transitions from a generic to a guest user. if we could tie the browse history to personalization id, we can display men's category top sellers on the home page irrespective of user transition from generic -> guest - Registered user id.


Enabling Personalization ID

By default personalization id is switched off in WCS. if you query users table you will notice that personalizationid column is null, this indicates personalizationid is switched off.

select PERSONALIZATIONID from users;

To enable personalization id in toolkit. edit the instance.xml file, this should be located under

<TOOLKIT_INSTALL_DIR>\WCDE_ENT70\workspace\WC\xml\config\wc-server.xml

search for "<PersonalizationId  display="false" enable="false"/>" , change the value of enable to true and save and restart the WCS instance.

Browse through some of the store pages and query your database "
select PERSONALIZATIONID from users;" , this time around you should see long integer values in this column, this indicates that WCS is now assigning personalizationid to the users visiting your site.