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.
Currently, it’s not possible to configure more than one instance of the same enrichment. This is particularly relevant for the JavaScript, SQL Query and API Request enrichments — you can only configure one of each.
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 the YAUAA enrichment below. |
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 API. (Please note the limitations.) |
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 account and API key.
📄️ 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.