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.
|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.|
|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
📄️ Custom SQL enrichment
📄️ Custom API Request enrichment
📄️ IP anonymization enrichment
This enrichment replaces the end of the user's IP address with "x"s, on a configurable length. For instance 220.127.116.11 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.