Configurable enrichments - chuwy/snowplow-ci GitHub Wiki

HOME > SNOWPLOW SETUP GUIDE > Step 3: Setting up Enrich > Configurable enrichments

Snowplow offers the option to configure certain enrichments. This is done using configuration JSONs. When running EmrEtlRunner or Kinesis Enrich, the --enrichments argument should be populated with the filepath of a directory containing your configuration JSONs. The files in the directory should be named "{{name-of-enrichment}}.json", where "name-of-enrichment" is the value of the "name" field in the JSON.

Each enrichment has a JSON schema against which it is validated. (For more information on how Snowplow uses JSON schemas, see this blog post.) The enrichment JSONs follow a common pattern:

{
	"schema": "iglu:((self-describing JSON schema for the enrichment))",

	"data": {

		"name": "enrichment name",
		"vendor": "enrichment vendor",
		"enabled": true / false,
		"parameters": {
			((enrichment-specific settings))
		}
	}
}

For each enrichment, the JSON used to configure the enrichment has:

  • A name field containing the name of the enrichment
  • A vendor field containing the name of the company which created the enrichment
  • An enabled field which can be set to false to ignore the enrichment
  • A parameters field, containing the information needed to configure the enrichment

The enabled and parameters fields are the ones which you may wish to customize.

These are the available configurable enrichments:

IP anonymization enrichment
IP lookups enrichment
Campaign attribution enrichment
Currency conversion enrichment
JavaScript script enrichment
referer-parser enrichment
ua-parser enrichment
user-agent-utils enrichment
Event fingerprint enrichment
Cookie extractor enrichment
Weather enrichment
API Request enrichment
HTTP Header extractor enrichment
SQL Query enrichment

Snowplow ships with a set of sensible default configurations for the configurable enrichments. You can browser them on GitHub: 3-enrich/config/enrichments.

⚠️ **GitHub.com Fallback** ⚠️