Capture client-side behavior with JavaScript SDK


With the Sitefinity Insight JavaScript SDK, you can easily track client-side interactions of your website visitors. You can also use the SDK to:

  • Personalize the experience of visitors
  • Check whether visitors are associated with a certain persona
  • Check whether visitors scored points as leads

To create and initialize a new instance of Sitefinity Insight SDK client, in the HTML of your page perform the following:

Register an initialization callback

In the <head> tag of your page, add a <script> tag containing the code to create an instance of the Insight SDK client using the following sample:

Optionally, you can provide a settings object that can contain the following properties:

Name Required Data type Description
apiKey Yes GUID The API key of the data center you want to report data to.
source Yes String The name of the data source to which to report data.

RECOMMENDATION: We recommend using a single data source for all data within a data center in most cases.

For more information, see Data sources.

authToken No String The authorization token that is used for authentication. You can use both bearer and authorized application tokens. For more information, see Authorization.
apiServerUrl No String The URL of Sitefinity Insight API server, to which data is reported. The default is the US API server. To learn all available deployment options, see Sitefinity Insight deployment options.
trackingCookieDomain No String The cookie domain. For more information, see Manage cookies.
autoTracking No Boolean A flag that can be used to stop the SDK's automatic tracking of visits, which is turned on by default. For more information, see Manage automatic tracking of visits.
instrument No Boolean Used for enabling the HTML5 instrumentation tracking. For more information, see Enable HTML5 attribute instrumentation.
trackPageVisits No Object Used for providing custom attributes to the default page tracker. For more information, see Track pages.
enableTracking No Boolean

By default, the value of the property is set to true. If you disable this property, no requests are made to the Sitefinity Insight API and no tracking and personalization are executed by the SDK. In accordance with GDPR, the visitor provides consent to be tracked or rejects to be tracked. You set the property value to true or false, accordingly.

For more information, see GDPR compliance.

NOTE: You can work with this parameter only if you are working with JavaScript SDK version 3.0 and newer.

maxAgeForTrackingCookieInDays No Number

Default value: false. This property specifies the number of days until the tracking cookie expires.

NOTE: You can work with this parameter only if you are working with JavaScript SDK version 3.1.2 and newer.

slidingExpirationForTrackingCookie No Boolean

Default value: False. If enabled, cookie expiration resets every time a front-end page is visited. Unless you set the cookie expiration in the maxAgeForTrackingCookieInDays property, the default value of 365 is used.

NOTE: You can work with this parameter only if you are working with JavaScript SDK version 3.1.2 and newer.

crossDomainTrackingEntries No Array of strings

List of domain names of sites for which cross-domain tracking of visitors is performed.

That is, a single physical user is tracked across all these domains and their visitor journeys are merged into one.
For more information, see Track interactions across multiple domains.

NOTE: You can work with this parameter only if you are working with JavaScript SDK version 3.1.2 and newer.

Start the SDK

After you have registered the callback, download and execute the Insight SDK.

To do this, in the <head> tag, add the following <script> tag:

RECOMMENDATION: We recommend using the sample above to use the minified Insight SDK distribution in production.

However, you can choose to use a development build of the SDK. The following table contains the current versions of the SDK with the respective CDN links:

Minified Minified version 3.1.5
Development Development version 3.1.5

Was this article helpful?