Interact helps marketers to be competitive and allows the users to present the right offer to the proper recipients at the right place. Sometimes marketers need to present offers on a page where they may not have server-side programmatic control over the page display (as you would with, for example, PHP or another server-based scripting). We offer a simple solution to deal with this use case. Marketers can use Interact’s JSConnector, whereby users can embed JavaScript code in the page content that will be executed by the visitor’s web browser.

What is JSConnector?

JSConnector acts as a service that integrates JavaScript code on the client-side by calling the Interact Java API.
The Interact JSConnector provides a service on the Interact runtime server that allows JavaScript code to call the Interact Java™ API. This enables web pages to make calls to Interact for real-time offer personalization using only embedded JavaScript code, without having to rely on web development languages (such as Java, PHP, JSP, and so on). For example, you might embed a small snippet of JavaScript code on each page of your web site that serves offers recommended by Interact. Therefore, each time the page loads, calls are made to the Interact API to ensure that the best offers are displayed on the page for the visitor.

Where is it available:
JSConnector comes built-in as part of the Interact Runtime Web application (post Interact version 8.1).  It can also be deployed separately as its own web app, configurable to communicate with the remote Interact Runtime instance.

In addition to the web app, there is a configuration directory that will contain all the configuration files used to manage the behavior of the JSConnector.  For convenience purposes, the web app comes with a web page that will help administer most of the features available in these configuration files ( http://host:port/<interact>/jsp/WebConnector.jsp )

Inbuilt JS Connector :

If you are relying on the JSConnector service that is built in to the Interact, then the only thing that needs to be done is to set two Java properties at the start-up of the app server that will tell the system where the JSConnector root directory (that contains the conf data) resides on the file system.

-DUI_JSCONNECTOR_HOME=<jsconnectorHome> [For e.g. -DUI_JSCONNECTOR_HOME=E:\u101\Interact\jsconnector]


Demonstration with test data :

  1. Create an Interactive channel “IC_web” and mapped customer audience table
  2. Create a zone ‘Z1’ and an interaction point ‘IP1.’
  3. Create two events “present” as contact and “accept” as accept event
  4. Create a new session and add an interactive flowchart
  5. Add Interaction PB, decision PB (only one branch as all records) and Populate Seg PB (Segment name is “Allseg”)
  6. Go to the campaign setting and add offer attributes (AbsoluteLandingPageURL as a string, TREATMENT_CODE as a string, TextVersion as string and AbsoluteBannerURL as string)
  7. Create an offer template and all attributes
  8. Create a new offer


Configurations in JS Connector

A. Navigate to /jsconnector/conf directory, and edit jsconnector.xml file.


B. Copy the attached WebConnector_TestPage.html in the local directory.

Edit WebConnector_TestPage.html and set the correct URL for unicaWebConnectorBaseURL


C. Restart the application server.

D. Open the WebConnector URL

http://<interacr runtime host:port/interact/jsp/WebConnector.jsp

E. Click on Basic Settings (these settings should be picked up from jsconnector.xml, so no need to change anything here. Just make sure the URL and IC name are correct).


F. Setting for Most Interaction Point (The HTML Element ID should be the name of the HTML file that we created for testing)

G. Click on “Rollout the changes” and click on “Generate the finished configuration XML.”

It should give a pop up as “Your configurations were saved successfully,” and jsconnector.xml should get updated.

H. Click on Enhanced Pages > Click on WebConnector_TestPage.

I. Fill the information on Interaction Points (offer display locations) on this page or set of pages.

Here IP1 should be IP name picked up from jsconnector.xml and the name of the IP from your IC.

J. Click on basic settings and Select events.

The three drop-downs should list the events from your IC. Again, these values are picked up from jsconnector.xml

K. In HTML Display types, we are using Image_Banner_Link.flt

L. Click on “Roll out the changes.”

Test for jsConnector

  1. We are using following jsconnector url


  1. Click on the Reload Configuration link. It should display the message as “Configuration reload successful”.

  1. Set URL: http://<interacthostName:PortNumber>/WebConnector_TestPage.html

Session Cookie name: SessionID

SessionId Value : 123

VisitorID : CustomerID

Visitorid value: 10001

  1. Click on Execute PageTag

5. Click the OK button on the Popup.

6. The offer Image should be displayed. This is set in the field ‘ AbsoluteBannerURL’ while creating offers.

This is treated as Offer Contact.

  1. Click on the image. Users should navigate to the web page set in the field ‘ AbsoluteLandingPageURL.’

This is treated as offer Accept.


The JSConnector is used to design web pages and capture customer responses on the page, which may not have server-side programmatic control over the page display. These responses [offer accept/reject/contact] from the customer are captured and inserted into the staging tables of interact. With the normal ETL process, this data gets transferred into the campaign history tables and then used for reporting and for the interact learning functionality.


Comment wrap
Further Reading
Marketing & Commerce  /  April 29, 2020
Understanding Campaign Listener Clustering and Listener Failover – Part 2
By: Deborah Matyi, Unica Senior Technical Support Engineer
Clustered Listener Environments With the introduction of Clustered listener setups in Campaign, you have to think of them as a setup with multiple independently operating listener nodes that are being directed requests from a centralized entity. Each listener process behaves as it would in a single listener environment (See Part 1 of this Blog for more information), independently starting up and shutting down unica_acsvr processes local to its machine and maintaining its own unica_aclsnr.udb file. Each listener node does NOT share information. They act like individual, independent SINGLE listener nodes even though a "master listener" is managing them. The following shows a depiction of what a Clustered Campaign Listener setup would look like. Think of a master listener process as a load balancer. When a request comes down from the Campaign J2EE Web application server to login to Campaign or to view/edit/run a flowchart, instead of the Campaign web application talking to a specific listener to do that, it passes those requests over to the master listener in a clustered setup. The master listener then reviews its configuration settings to know which child listener node should take on this task. Once the Master listener determines which child listener node should receive the request, the request is passed along to that child listener node. At that point, the child listener node on that specific machine processes the request as if it was a single listener node running in a non-clustered setup. It spawns applicable unica_acsvr processes, and those unica_acsvr processes perform the requested action. The listener node then updates its local copy of unica_aclsnr.udb to understand the unica_acsvr's it's managing. No other child listener in the cluster has any idea about what other child listeners are working on. All activity is localized to a single child listener node. The child listener...
Marketing & Commerce  /  April 28, 2020
HCL Leans into Unica Big Time (via IDC)
By: Gerry Murray, Research Director, Marketing and Sales Technology, IDC
By Gerry Murray, Research Director, Marketing and Sales Technology, IDC Normally, when a global enterprise acquires a major software business, it takes years before significant improvements and integrations are released. But when HCL acquired Unica in July 2019, it was in a unique position. It had been implementing and supporting Unica customers for years. Thus, HCL had significant engineering and technical support capabilities already in place with deep knowledge of the codebase. However, it was not clear how much of a commitment HCL would make to bringing Unica into the modern cloud era—until now. And the commit is big and fast on every level. Customers should be extremely confident in how quickly and significantly HCL Unica will modernize their marketing infrastructure and enable their journey to the cloud.  Your MarTech Is Your Brand There is a lot of new and improved product functionality in Unica's recent and upcoming releases. But before we get into those details, it's important to think about modern digital marketplaces, new buyer expectations, and the fact that in many ways, marketing technology today is your brand. Digital marketplaces are characterized by connected diversity. Brands must provide continuity across identities, devices, timeframes, locations, interactions, and keep up with the constant change going on in and between those vectors. That puts enormous importance on getting your marketing infrastructure right. It must be compliant, responsive, scalable, open, flexible, fast, intelligent, precise, transparent, affordable, intuitive. It must be able to embrace change, simplify complexity, and maintain control.  It must operate as an integral part of a holistic end to end system that can enhance customer experience from ad click to call center and back again because customers today expect brands to behave as a single entity. What happens in one interaction should enhance the next interaction wherever and whenever it...
Marketing & Commerce  /  July 6, 2020
Let’s Geek Out on Unica: Scaling Your Campaign Execution
By: Tom Hannigan Jr., Unica Global Practice Leader
Everyone is trying to do more with less – quickly. I have clients who ask me all the time “How do I makes things faster?” or “How do I streamline campaign execution while doing more campaigns?” Both valid questions. Folks want to execute at scale, do more personalization, and run more campaigns in more channels simultaneously. And they’re not sure how get there. This is where the magic that is Unica can come to the rescue. 
a/icon/common/search Created with Sketch.