Configure the processing service

Current version: 9.1

You can configure how the processing service processes interactions. For example, if you have two or more processing service instances, you can select different channels for each one to process.


To start the Sitecore Universal processing Service web application, make sure that a request has been sent to the web application. To check the status of the processing service, open a browser and navigate to <instance_name>/status.

There are five configuration files that contain the settings for the processing service in Universal Tracker (UT).


Use patch files to change configurations. Do not edit the configuration files directly.

The configuration files are:

  1. <website_name>\sitecore\Sitecore.Tracking.Processing.ChannelManagement\PipelinesConfig\channelTypes.json

    This configuration file contains the channels that are defined in Sitecore. The UT processing service only processes interactions from these channels.

    Each channel has this structure:

    • Id - the Sitecore item unique identifier for a channel. You find the ID in the Sitecore marketing control panel.


      The default channel IDs in channelTypes.json may not match the actual IDs on your installation. To enable the channels, you must enter the correct IDs by opening your Marketing Control Panel, copying the IDs of the channels, and pasting the IDs into the channels in channelTypes.json.

    • Name - the channel name. Can be different than the name that is set for the channel in Sitecore.

    • TimeOut - defines when the collection service marks an interaction as closed. If an active interaction is not updated for the period of time defined in TimeOut, the collection service marks the interaction closed, retrieves it from storage, and sends it to processing.

    • Type - fully qualified name of the channel type.

  2. <website_name>\sitecore\Sitecore.Tracking.Processing.ChannelManagement\PipelinesConfig\channelTypeDefinitions.json

    This configuration file contains extension points for defining pre-filter, enrichment, and post-filter pipelines for specific channels. The file has the following structure:

    • Channels - an array of channel groups with their pipelines and processors. A group allows you to apply a configuration to a number of channels at once. You do this by adding the channel IDs to the group.

    • GroupName - the name of the channel group. If you name a group default, the definitions in the group will be used for any channel that is not included in any groups. If you name the group anything else, the definitions in it will only be used for channels that are included in the group's IDs array.

    • IDs - an array of channel IDs. The IDs are defined in the channelTypes.json file.

    • Type - a base channel type definition that uses fully qualified channel pipeline names.

    • PreFilters - the first pipeline the processing engine runs. The pipeline contains two sections:

      • Type - a fully qualified name of a pre-filtering pipeline object.

      • Processors - an array of processors that run inside the pre-filtering pipeline. You  can extend this array with your own types by including them in JSON with a fully qualified name.

    • Enrichment - the second pipeline the processing engine runs. It contains the same sections as the PreFilters pipeline.

    • PostFilters -  the final pipeline the processing engine runs. It contains the same sections as the PreFilters pipeline.

  3. <website_name>\sitecore\Sitecore.Tracking.Processing.Engine\Config\config.xml

    This configuration file contains the basic settings that control the processing engine. The settings are:

    • Tracking.Processing.ProcessingInterval - the length of the interval, in number of seconds, between times when the processing service checks for interactions to process

    • Tracking.Processing.InteractionTimeoutIncrement - buffer, in number of minutes, between attempts at processing a checked out interaction. If there is a processing failure, the service will not attempt to process the interaction again until the InteractionTimeoutIncrement has passed.

    • Tracking.Processing.MaxConcurrency - the number of workers in a pool.

    • Tracking.Processing.BatchSize - number of interactions included for processing in one iteration.

    • Tracking.Processing.ProcessingThresholdPercent - percent of completed interactions at which a new batch is initiated.

    • xConnect.ServiceUrl - connection string to the xConnect service. Specify the hostname of the xConnect service. In a scaled environment, specify the xConnect collection site instead. For example, <ServiceUrl>https://sc910xp1_collection</ServiceUrl>.

    • xConnect.ClientCertificate - the client certificate for xConnect. For example:


      You can read more about the xConnect certificates in the Sitecore Experience Platform Installation Guide.

      For Azure deployments you must upload the certificate in SSL settings, in the Private certificates section. If you use a self-signed certificate, add AllowInvalidClientCertificates=true to the connection string:

    • xConnect.RequestTimeout - timeout for requests to the xConnect server. The  default value is two minutes.

  4. <website_name>\sitecore\Sitecore.Tracking.Processing.ChannelManagement\Config\config.xml.

    This configuration file defines the path links for the ChannelTypesConfig  and ChannelDefinitionsConfig files.

  5. <website_name>\sitecore\Sitecore.Tracking.SqlServer\Config\config.xml.

    This configuration file is a part of UT SQL. It contains the ConnectionString that specifies the connection to the UT SQL  database.  


    The ConnectionString must be the same for the processing and collection services.

Do you have some feedback for us?

If you have suggestions for improving this article,