user agent utils enrichment

Warning

This enrichment is deprecated.

The library powering this enrichment has now been declared as end of life and won’t receive any updates: https://www.bitwalker.eu/software/user-agent-utils.

Because this could one day result in a potential security issue (due to lack of maintenance), we encourage everyone to move away from this enrichment in favor of the ua parser enrichment.

However, please keep in mind that this is not a drop-in replacement: the ua parser enrichment will fill an external com_snowplowanalytics_snowplow_ua_parser_context_1 table (you can find the Iglu schema here) instead of a few fields in atomic.events.

In the future, we will move the fields affected by the user agent utils enrichments out of atomic.events into their own context and, as a follow up, remove it entirely.

JSON Schema iglu:com.snowplowanalytics.snowplow/user_agent_utils_config/jsonschema/1-0-0 Compatibility r63+ Data provider user-agent-utils

This enrichment uses the user-agent-utils library to parse the useragent into the following fields:

br_name br_family br_version br_type br_renderengine os_name os_family os_manufacturer dvce_type dvce_ismobile

This enrichment has no special configuration: it is either off or on. Enable it with the following JSON:

{
    "schema": "iglu:com.snowplowanalytics.snowplow/user_agent_utils_config/jsonschema/1-0-0",
    "data": {
        "vendor": "com.snowplowanalytics.snowplow",
        "name": "user_agent_utils_config",
        "enabled": true,
        "parameters": {}
  }
}

Note: As an alternative solution, you could enable ua-parser enrichment either in place of this enrichment or as an accopmanying enhancement. There’s no conflict here as the output data of these enrichments will end up in different tables.

The input value for the enrichment comes from ua parameter which is mapped to useragent field in atomic.events table.

This enrichment uses 3rd party user-agent-utils library to parse the useragent string.

Below is the summary of the fields in atomic.events table driven by the result of this enrichment (no dedicated table).

Field Purpose
br_name Browser name
br_family Browser family
br_version Browser version
br_type Browser type
br_renderengine Rendering engine of the browserw
os_name Operationg sytem name
os_family Operationg sytem family
os_manufacturer Manufacturers of operating system
dvce_type Device type
dvce_ismobile Indicates whether divice is moblile