Interaction Tracking & First Party Data

Track the user interactions within the Neocom advisor.

There are different events through which you can track the interactions of your customers within the Neocom advisor and transfer them to your own tracking system (e.g. Google Analytics).

To accurately evaluate the impact of Neocom, we strongly recommend tracking the user before and after entering the Neocom advisor. In addition, you can compare the KPIs of the customers that use the advisor with those that do not. Thus, you can collect first party data from Neocom and use it for retargeting, for example. 

KPIs to compare could include

  • Bounce rate
  • Session duration
  • Conversion rate
  • Average shopping cart value

How it works

Adding a JavaScript function (neocomActionCallback) to your shop allows Neocom to call it on certain user events (e.g. consultation started, question answered).

In this JavaScript function, the Neocom data can then be transferred to Google Analytics, for example. The script can be placed anywhere on the HTML page in which the advisor is integrated. We recommend placing it together with the Global Embed Code in the header of any web page.


    • The advisor has been loaded & displayed, no interaction from the customer yet
    • Triggered once per session
    • The advisor was clicked, e.g. by selecting an answer 
    • Triggered once per session
    • A question was answered
    • Triggered after each answered question
    • Also includes:
      • Question title
      • Answer title
      • recommended products incl. SKU & name
      • Info if all questions were answered


function neocomActionCallback(payload) {
const neocomId = payload.neocomId; // The ID of the Neocom advisor
const action = payload.action; // Name of the action triggered
const data =; // action-specific data

if (action === 'CONVERSATION_STARTED') {
// Custom code to send an event e.g. to Google Analytics:
// ga("send", "event", "Neocom", "Conversation Started")
} else if (action === 'CONVERSATION_INTERACTED') {
// Custom code to send an event e.g. to Google Analytics:
// ga("send", "event", "Neocom", "Conversation Interacted")
} else if (action === "QUESTION_ANSWERED") {
const question = data.question // {"id": "handy-typ", "name": "Handy Typ"}
const answers = data.answers // [{"id": "apple", "name": "Apple"}]
const products = data.products // [{"id": "sku-1", "name": "Some Product"}]
const isEndOfConversation = data.isEndOfConversation; // e.g. false
const selectedPriceRange = data.selectedPriceRange; // e.g. {min: 100, max: 200, currency: "EUR"}
// Custom code to send an event e.g. to Google Analytics:
// ga("send", "event", "Neocom", "Question:" +, answers.join(', '))

// Example for a generic Google Analytics Integration
if ( && typeof ga === "function"){
ga("send", "event", "Neocom", payload.action, payload.neocomId);

// Example for a generic Google Tag Manager Integration
if (window.dataLayer) {
"event": "Neocom",
"action": payload.action,
"advisorId": payload.neocomId,

Find an example demo of the Neocom actions via neocomActionCallback function here.

Result Tracking

By clicking on a suggested product in the results, the product detail page of your store will be loaded. To tell the store that this product was recommended by Neocom, the parameter neocom_source with the ID of your Neocom consultant is added to the URL.
This info in the URL can be used to reference it in Google Analytics, for example, and create segments.