Profiling Using Cxense
This topic contains the following sections:
Cxense provides a software suite for user profiling, targeted advertising, content recommendations and more, using Cxense the publisher/newspaper can give their end users relevant offers depending on their browsing habits. Each end user is identified by one (or more) profiles, typically one per device and browser. A profile contains information about a users various online habbits, including things such actual interests, average reading time and such. The profile is an anonymous piece of data and as such can only be used actively when the user interacts with the publishers websites.
InfoSystems provides an integration module that links a users Cxense profiles to customers. By linking profiles with an InfoSystems CustomerNumber, it is possible to identify the profiles and use online segmentation data in traditional sales and service channels (Phone, E-mail etc). The systems then continously exchanges data with each other to enrich the information model about the profile and the customer. To perform the synchronisation with Cxense, an initial link must be establish via a channel that has access to the profile and the CustomerNumber, typically a web frontend. A link can be established using the provided ICxenseService.
The following snippet is a simple complete html example that will display your profile id. Note that if you open it in different browser you will get different profiles.
The ICxenseService currently exposes one method: ConnectCustomerWithCxense. Calling this method with a CustomerNumber and ProfileId will start a linking process with Cxense and register the customer as linked in the subscription system.
The following is an brief example of a request and response from the service. Note that there are two response example, one with a failure, one that succeeds.
<ConnectCustomerWithCxenseRequest> <CustomerNumber>1001</ns:CustomerNumber> <CxenseUserProfile>ifqvxcxtdop8yl2t</ns:CxenseUserProfile> </ConnectCustomerWithCxenseRequest>
The response contains a customer number and optionally a message. The message property is only set if an error occurred, and will then contain the error message.
<ConnectCustomerWithCxenseResponse> <CustomerNumber>1001</CustomerNumber> <Message></Message> </ConnectCustomerWithCxenseResponse>
Unlike many other InfoSystems services, a failure in the linking method will not produce a fault. The idea is that an error is not really an issue as the linking might be done several times and it is not critical for the experience of the end user if the linking succeeds or not.
<ConnectCustomerWithCxenseResponse> <CustomerNumber>1001</CustomerNumber> <Message>InvalId request: The specified cx Identifier was not found.</Message> </ConnectCustomerWithCxenseResponse>
Even though the linking request fails, it is recommended to handle this in a way so that the end user can continue surfing without interruption. This ensures a seamless and smooth experience for the end user.
As you might have noticed, there is no way to determine if a Customer (or profile) has already been linked. The idea behind this is that linking should be done often, even though a profile has already been linked. This is due to the fact that profiles might change with the browser and other things, so it is important to have all Ids linked to the Customer.
In the INFO-Cweb implementation, linking is done whenever a user enters his or hers credentials, and immediately following a succesful subscription order.
Infosoft recommends to update the link often, for instance each time you users enters credentials, or at regular re-authorization intervals if your employ such a solution. Just make sure you don't do it on every page request, that is a bit extreme.
Consider implementing the linking as an asynchronous process so the user isn't bothered by any obvious delays or failure messages.