Skip to content

Configurable enrichments

Benjamin BENOIST edited this page Apr 19, 2019 · 24 revisions

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 configuration 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.

Please note that the pipeline can run each enrichment only once

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
PII Pseudonymization Enrichment
IAB enrichment
YAUAA enrichment

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

Clone this wiki locally
You can’t perform that action at this time.