Click or drag to resize
Infosoft Logo

Profiling Using Cxense

This topic contains the following sections:

Profiling Using Cxense

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.

Requirements

To link a customer and a Cxense profile, you need to have the CustomerNumber and a profile id. The CustomerNumber is obtained from the InfoSystems customer, and the profile id can be obtained from the Cxense Javascript Support Library.

Obtaining a Cxense profile id

There are several ways to do this, but Cxense recommends to retrieve it using javascript via a call to cX.getuserId() from the Cxense Javascript Support Library

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.

Sample html snippet for obtaining a profile Id
<script type="text/javascript" src="http://cdn.cxense.com/cx.js">
  </script>
      <div Id="templateElement" style="display: none;">
          <p>{{data}}</p>
      </div>
  <div Id="targetElement">
  </div>
  <script type="text/javascript">
      var data = cX.getUserId();
      cX.renderTemplate('templateElement', 'targetElement', data);
  </script>
Linking customer and profile

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.

Example ConnectCustomerWithCxense Request
<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.

Example Successful Response
<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.

Example response with an error message
<ConnectCustomerWithCxenseResponse>
    <CustomerNumber>1001</CustomerNumber>
    <Message>InvalId request: The specified cx Identifier was not found.</Message>
</ConnectCustomerWithCxenseResponse>
Important note Important

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.

How often should a link be created?

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.

Important note Important

Consider implementing the linking as an asynchronous process so the user isn't bothered by any obvious delays or failure messages.

See Also