Available 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.
The order of enrichments is hard-coded and cannot be changed, below table lists available enrichments in order they are executed.
Enrichment | Description |
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. |
User Agent utils | Deprecated - please consider switching to YAUAA. |
UA parser | Parse the useragent and attach detailed useragent information to each event. |
Currency conversion | Convert the values of all transactions to a specified base currency using Open Exchange Rates. To use it, you need an Open Exchange Rates account. |
Referer parser | Extracts attribution data from referer URLs. |
Campaign attribution | Choose which querystring parameters will be used to generate the marketing campaign fields. If you do not enable the campaign_attribution enrichment, those fields will not be populated. |
Event fingerprint | Generate a fingerprint for the event using a hash of client-set fields. Helpful for deduplicating events. |
Cookie extractor | Specify cookies that you want to extract if found. |
HTTP Header extractor | Specify headers that you want to extract via a regex pattern, if found each extracted header will be attached to your event. |
Weather Enrichment | Unavailable since Enrich 1.4.x. |
YAUAA | Parse and analyze the user agent string of an event and extract as many relevant attributes as possible using YAUAA API. |
IP lookups | Lookup useful data based on a user's IP address using the MaxMind database. |
JavaScript | Write a JavaScript function which is executed for each event. |
SQL Query | Perform dimension widening on a Snowplow event via your own internal relational database. |
API Request | Perform dimension widening on a Snowplow event via your own or third-party proprietary http(s) API. |
IP anonymization | Anonymize the IP addresses found in the user_ipaddress field by replacing a certain number of octets with "x"s. |
PII Pseudonymization | Better protect the privacy rights of data subjects by psuedoanonymizing collected data. |
📄️ IAB enrichment
The IAB Spiders & Robots enrichment uses 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 enrichment
This enrichment uses the ua-parser library to parse the user agent and provide information about the user's device.
📄️ Currency conversion enrichment
This enrichment uses Open Exchange Rates to convert the currencies used in transactions. It requires an Open Exchange Rates.
📄️ Referer parser enrichment
This enrichment uses snowplow referer-parser library to extract attribution data from referer URLs.
📄️ Campaign attribution enrichment
This enrichment can be used to link events to marketing campaigns, using the query string parameters.
📄️ Event fingerprint enrichment
This enrichment computes the fingerprint of an event using the query string parameters.
📄️ Cookie extractor enrichment
This enrichment extracts name-value pairs from cookies set on the collector domain, attaching them to the event as derived contexts.
📄️ HTTP header extractor enrichment
This enrichment can extract name/value pairs from the HTTP headers and attach them to the event as derived contexts.
📄️ YAUAA enrichment
YAUAA (Yet Another User Agent Analyzer) enrichment is a powerful user agent parser and analyzer.
📄️ IP Lookup enrichment
Summary
🗃️ Custom JavaScript enrichment
3 items
📄️ Custom SQL enrichment
Summary
📄️ Custom API Request enrichment
Summary
📄️ IP anonymization enrichment
This enrichment replaces the end of the user's IP address with "x"s, on a configurable length. For instance 13.54.45.87 could become 13.54.x.x.
📄️ PII pseudonymization enrichment
PII (personally identifiable information) pseudonymization enrichment runs after all the other enrichments and pseudonymizes the fields that are configured as PIIs.