Event fingerprint enrichment
This enrichment computes the fingerprint of an event using the Snowplow tracker payload.
Both the key and the value of all parameters in the payload are used to compute the fingerprint, except for the fields specified in excludeParameters. Check out the atomic fields reference and example HTTP requests for more information on the relevant parameters.
This can be helpful when de-duplicating events.
Configuration
The enrichment takes these parameters:
| Parameter | Required | Description |
|---|---|---|
hashAlgorithm | ✅ | The algorithm used to compute the event fingerprint. |
excludeParameters | ✅ | Parameters to exclude from the fingerprint calculation. |
- Console
- Self-Hosted
Configure the parameters in the Console enrichment editor. For example:
{
"excludeParameters": ["eid", "nuid", "stm", "cv"],
"hashAlgorithm": "MD5"
}
For Self-Hosted, provide a complete JSON. For example:
{
"schema": "iglu:com.snowplowanalytics.snowplow/event_fingerprint_config/jsonschema/1-0-1",
"data": {
"vendor": "com.snowplowanalytics.snowplow",
"name": "event_fingerprint_config",
"enabled": true,
"parameters": {
"excludeParameters": ["eid", "nuid", "stm", "cv"],
"hashAlgorithm": "MD5"
}
}
}
Unsure if your enrichment configuration is correct or works as expected? You can easily test it using Snowplow Micro, either through Console or on your machine.
Supported hashing algorithms are:
We recommend excluding the sent timestamp stm. When the tracker doesn't receive an acknowledgement after sending an event once, it will retry. The two copies of the event will have different stms, but they're the same event.
Similarly, not much is gained by including the event ID, eid, in the hash given that this field is already used for de-duplication.
Output
This enrichment will populate the event_fingerprint atomic event field.