European Union Data Protection Directive and Commerce+ cookies
The European Union Data Protection Directive specifies that cookies that are strictly necessary for the delivery of a service requested by the user the consent of the user is not needed. For cookies that are not necessary for the deliver of a service requested by the user, the user must give consent before the cookies or any other form of data is stored in their browser. In Commerce+, session management cookies are necessary to deliver services requested by the user.
Persistent cookies are optional: they are used for marketing (based on personalization ID), and for Remember-Me functionality. To get consent for optional cookies, you might present the shopper with a JavaScript message when they first access the site, similar to the following: By continuing to use this site, you consent to the use of cookies on your device as described by our cookie policy (unless you have disabled cookies). You can change your cookie settings at any time. However, some parts of the site will not function correctly without cookies.
Commerce+ persistent cookie
The only persistent cookie used in Commerce+ is WC_PERSISTENT. However, WCP_PERSISTENT exists for the Preview environment. This cookie, disabled by default, is used in the Remember me functionality and all marketing functions that rely on the personalization ID. For information, see Personalization ID. You can configure persistent sessions at a site, store, or individual customer level. You can set the time that the cookie persists for, see Changing session management settings in the Commerce+ configuration file (wc-server.xml).Ruby storefront cookies
WC_MarketingTrackingConsent_${storeId}: This cookie is used for tracking shoppers consent regarding marketing tracking.WC_PrivacyNoticeVersion_${storeId}: This cookie is used to track the acceptance of the privacy policy and the version of the privacy policy.
Using Commerce+ without cookies
If a user chooses not to accept cookies, the site can use URL rewriting for session management. However, URL rewriting does not work with dynamic caching. For more information, see csesmsession_mgmt_url.html.