Enrich 3.6.0 released

We have released version 3.6.0 of Snowplow’s Enrich, and it has some improvements we are very excited about.

Keep on reading for:

  1. YAUAA enrichment: Support for Client hints
  2. YAUAA enrichment: New version of YAUAA context
  3. Sendgrid adapter improvements
  4. How to upgrade to Enrich version 3.6.0

YAUAA enrichment: Support for Client hints

The Snowplow YAUAA enrichment is used to analyze user agent information sent by the browser. The current trend in web browsers is to reduce the amount of information sent to servers in the User-Agent HTTP header, to help with user privacy.

Starting with Enrich 3.6.0, the YAUAA enrichment can now use Client Hints, so websites can opt in to collecting the extra information which previously would have been part of the user agent header.

The YAUAA enrichment does not require you to make any changes to your website, if you are happy with the level of detail you get from the reduced user agent. However, it is possible to improve the accuracy of the user agent data produced by YAUAA, if you are able to configure your website to send high entropy client hints to the collector by following these instructions.

There are two alternative ways for your website to opt-in to sending client hints to the collector. In the first method, you must configure your webserver to set both a Accept-CH HTTP header and a Permissions-Policy HTTP header when serving the your site’s main HTML pages:

Accept-CH: sec-ch-ua-full-version-list
Permissions-Policy: ch-ua-full-version-list=("https://<YOUR COLLECTOR DOMAIN>")

Alternatively, in the second method, you can put a meta tag in the header secion of your site’s HTML:

<meta http-equiv="delegate-ch" content="sec-ch-ua-full-version-list https://<YOUR COLLECTOR DOMAIN>;">

YAUAA enrichment: New version of YAUAA context

Starting with Enrich 3.6.0, the yauaa_context entity added by the YAUAA enrichment has schema version 1-0-4.

Compared to the previous version (1-0-3) the new schema allows longer string lengths for many of the fields. This change was needed to prevent events failing validation, as YAUAA evolves to write out longer fields for some newer user agents.

Snowplow’s DBT data models will work with this new schema without any configuration change, for all of our supported warehouses.

Sendgrid adapter improvements

The Snowplow Sendgrid adapter is the feature which allows Snowplow to receive and process Sendgrid’s notifications webhooks.

We found, however, that a Sendgrid webhook can sometimes contain many duplicate events in a single webhook payload. The new Sendgrid adapter will remove duplicates from the payload before converting them to Snowplow events. This should cut down the number of Snowplow events that land in your warehouse having the same Sendgrid sg_event_id field.

Upgrading to 3.6.0

If you are already running a recent version of Enrich, then upgrading is as easy as pulling the newer version of the docker image:

docker pull snowplow/snowplow-enrich-pubsub:3.6.0
docker pull snowplow/snowplow-enrich-kinesis:3.6.0
docker pull snowplow/snowplow-enrich-kafka:3.6.0

Check out the Enrich documentation for the full guide on running and configuring the apps.