Clear History

Add Enrichments

Snowplow offers a large number of enrichments that can be used to enhance your event data. An enrichment either updates or populates fields of the atomic event or adds a self-describing context to derived_contexts.

For this project, we’ll enable the IAB, UA parser and YAUAA enrichments in your console:

The IAB enrichment requires purchase (included with Snowplow BDP)

IAB

Use the IAB/ABC International Spiders and Bots List to determine whether an event was produced by a user or a robot/spider based on its’ IP address and user agent.

UA Parser

Parse the useragent and attach detailed useragent information to each event.

YAUAA

Parse and analyze the user agent string of an event and extract as many relevant attributes as possible using YAUAA API.

For BDP Cloud users adding enrichments is fairly straightforward: Simply click on Enabled/Disabled to change the status of the enrichment for your pipeline under Enrichments:

manifest

For Open Source users adding enrichments can be achieved by adding the following json files to their enrichment configuration:

iab_spiders_and_robots_enrichment.json:

IAB
{
  "schema": "iglu:com.snowplowanalytics.snowplow.enrichments/iab_spiders_and_robots_enrichment/jsonschema/1-0-0",
  "data": {
    "name": "iab_spiders_and_robots_enrichment",
    "vendor": "com.snowplowanalytics.snowplow.enrichments",
    "enabled": true,
    "parameters": {
      "ipFile": {
        "database": "ip_exclude_current_cidr.txt",
        "uri": "s3://snowplow-hosted-assets-proprietary-eu-west-1/third-party/com.iab"
      },
      "excludeUseragentFile": {
        "database": "exclude_current.txt",
        "uri": "s3://snowplow-hosted-assets-proprietary-eu-west-1/third-party/com.iab"
      },
      "includeUseragentFile": {
        "database": "include_current.txt",
        "uri": "s3://snowplow-hosted-assets-proprietary-eu-west-1/third-party/com.iab"
      }
    }
  }
}

ua_parser_config.json:

UA Parser
{
  "schema": "iglu:com.snowplowanalytics.snowplow/ua_parser_config/jsonschema/1-0-1",
  "data": {
    "vendor": "com.snowplowanalytics.snowplow",
    "name": "ua_parser_config",
    "enabled": true,
    "parameters": {
      "database": "regexes-latest.yaml",
      "uri": "s3://snowplow-hosted-assets/third-party/ua-parser/"
    }
  }
}

yauaa_enrichment_config.json

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