Logging custom conversions through the API

Kentico EMS required

Features described on this page require the Kentico EMS license.

If you need to log custom conversions for actions that are not supported by default (see Logging custom conversions on your website), you can write your own custom code and use the API to log custom conversions. This allows you to monitor any type of activity performed by users on your website and to view the results using the custom conversion reports available in the Web analytics application.

Use the following code to log custom conversions via the API:

using CMS.WebAnalytics;
using CMS.DocumentEngine;
using CMS.SiteProvider;
using CMS.Localization;


string siteName = SiteContext.CurrentSiteName;
string aliasPath = DocumentContext.CurrentAliasPath;

// Checks that web analytics are enabled in the site's settings.
// Confirms that the current IP address, alias path and URL extension are not excluded from web analytics tracking.
if (AnalyticsHelper.IsLoggingEnabled(siteName, aliasPath))
    // Logs the conversion according to the specified parameters.
    HitLogProvider.LogConversions(siteName, LocalizationContext.PreferredCultureCode, ConversionName, 0, 1, ConversionValue);

Log custom conversions using the HitLogProvider class from the CMS.WebAnalytics namespace, specifically the following method:

LogConversions(string siteName, string culture, string objectName, int objectId, int count, double value)

  • siteName – sets the code name of the site for which the conversion is logged.
  • culture – sets the culture code under which the conversion is logged.
  • objectName – specifies the code name of the conversion that is logged.
  • objectId – specifies the ID of the conversion. You can set this parameter to 0 if you specify a valid code name in the objectName parameter.
  • count – sets the number of conversion hits that the method logs. This parameter is optional. The default value (1) is used if not specified.
  • value – specifies the value logged for the conversion.

In addition to logging a general custom conversion, this method checks if the current user has passed through a page with a running A/B or Multivariate test. If this is the case, the method automatically logs the conversion within the appropriate context and includes the conversion in the statistics of the given test.

Integrating the custom code into your website

There are several possible ways to include your custom conversion code into the website’s functionality: