Domain Widget Transfer

Intro

Depending on your organization size or structure you might want to transfer chat sessions between different top-level domains (TLDs). For example, if your Webvisitors often arrive at one of your specific product landing pages and start a chat session there. In these sessions your Operators decide to better guide Webvisitors through your web shop, which lives under a different top-level domain.

Configuring a Chat Widget for "Domain Widget Transfer" allows you to transfer a running chat session from "my-company.com" to "my-shop.com". Your Webvisitor and your Operator can seamlessly continue their conversation.

This feature requires significant configuration effort and is prone to conflicts with (future) changes of browser security features. We recommend using it only when your workflow absolutely requires it.

Configuring the Domain Widget Transfer

In the Userlike Dashboard

To enable Domain Widget Transfer for a Chat Widget, go to "Config" > "Widgets", pick the desired Widget and go to its "Chat" > "Advanced" section.

At the bottom you can enable the setting "Domain Widget Transfer":

After you enabled "Domain Widget Transfer", enter the top-level domains between which the Widget's chat sessions should be transferable:

We recommend that you make a Chat Widget transferable between two different top-level domains at most. Update the Widget once you are done.

In your websites' markup

Integrate the Chat Widget code of the Widget you enabled for "Domain Widget Transfer" in all the websites behind the top-level domains you configured before.

<script async type="text/javascript" src="//userlike-cdn-widgets.s3-eu-west-1.amazonaws.com/code-of-configured-tld-widget.js"></script> 
In your web servers' configuration

Each web server behind the configured top-level domains must send specific HTTP headers in order for your chat sessions to be transferable. In our example you'd have to configure the web servers delivering HTTP responses for "my-shop.com" and for "my-company.com".

For the domain "my-shop.com" configure your web server to send the following HTTP header:

For the domain "my-company.com" configure your web server to send the following HTTP header:

The following page explains how to configure the most common web servers to set these headers: Mozilla Developer Network: X-Frame-Options

Technical background

In order to transfer a running chat from one top-level domain to another, you have to load each configured domain in an iFrame and check if there are active chat sessions. This can result in a significant performance hit, depending on the size of the web sites behind the configured domains. Therefore, we recommend that you only configure two top-level domains for each Chat Widget you want to make transferable.

Allowing your websites to load content from a different domain in an iFrame is a potential security risk - therefore you have to make sure to adapt your web servers' content security policy as described above. HTTP Content-Security-Policy response headers enable website administrators to control resources the user agent is allowed to load for a given page - here's a good overview: Mozilla Developer Network: Content-Security-Policy

Summary

When you are considering using this feature:

  • only do so if your workflow absolutely demands it
  • limit the configured top-level domains to two
  • use the same Chat Widget on both domains
  • configure your web servers to allow iFrames from the other domain
  • check your web servers' content security policy (CSP) configuration if transfers do not work