We have released a new version of the Snowplow Indicative Relay, the component that lets you load your enriched stream into Indicative.
The highlight of this release is a bug-fix that will allow Snowplow mobile events to be relayed to Indicative.
An Indicative event must always have an eventUniqueId
, which is a unique identifier for the user who performed the event. Out of the box, Snowplow has multiple user identifiers. The algorithm by which we decide which identifier to use for the eventUniqueId
is as follows.
The eventUniqueId
in Indicative is one of:
- the
user_id
field inatomic.events
, or if that is missing - the
user_id
field from theclient_session
context, or if that is missing - the
domain_userid
fromatomic.events
.
The first value is a user_id
that you specifically send with the event. That is usually a business-specific identifier for known users, like an email address or unique customer number.
The second and third values are set by the tracker and stored on the device. The difference is that client_session_userid
is used on mobile devices; whereas domain_userid
is used on websites. (You can learn more about these two fields in this post and the discussion underneath it: Understanding the client session context)
The priority in which the Indicative eventUniqueId
is decided is strict, so that if an event has, eg both atomic.events_user_id
and client_session_userid
, the first one will be used and the second one will be ignored.
If none of these fields have a value, the event is not sent to Indicative at all, because in Indicative all events must have an eventUniqueId
.
A typo in previous versions of the Indicative relay meant that client_session_userid
was always interpreted as missing, even if there was a value for that field. As a result, no mobile events were sent to Indicative.
Version 0.4.0 fixes this bug.
This version also includes two further improvements contributed by the Indicative team:
- fields with
null
values from the original Snowplow event are removed from its Indicative counterpart to make it as compact as possible; - it is now possible to configure a custom Indicative API URI via an environment variable.
Many thanks to Chris Fei of Indicative for these contributions!
To find out more about how to set up the relay, consult the setup guide.
To learn more about the relay, check out the original blog post.