Clojure collector creates new network_userid for every event

Our Snowplow installation has some sites using the Cloudfront collector, and some using an old version of Clojure (clj-0.6.0-tom-0.0.4).

We have never actually used network_userid in any analytics, so in the course of routine maintenance I ran some queries to see how many network_userid values were repeated across domains.

The surprise was that, not only are network_userids not showing up across domains, they are unique in atomic.events. That is, we are getting a fresh network_userid on every single event, even within domains.:

events=> select count(*), count(distinct event_id) event_ids, count(distinct page_urlhost) hosts, count(distinct domain_userid) domain_userids, count(distinct network_userid) network_userids from atomic.events                                                              
where v_collector = 'clj-0.6.0-tom-0.0.4' and collector_tstamp > '2018-03-01';
  count  | event_ids | hosts | domain_userids | network_userids 
---------+-----------+-------+----------------+-----------------
 4587548 |   4587225 |   113 |         431559 |         4587545

I know many browsers are blocking 3rd party cookies nowadays, but this seems extreme.

So, questions:

  • Is our clojure collector misconfigured? Or maybe our JS tracker code?
  • Would results be different if we updated to the current Clojure collector?
  • More broadly, given that 3rd party cookies are in decline, should we just bail on clojure and use the Cloudfront collector exclusively?

Any advice appreciated!

Provided browser blocks 3rd party cookies, every new page viewed will generate new network_userid. This is normal :wink:

I would not change “active” collector to logs again. Especially if you see development being pushed forward into real-time pipeline direction.

1 Like

I understand about browsers blocking 3rd party cookies, but I didn’t expect 100 percent of browsers to be so strict; especially when I have enabled them on my own browser.

I looked at network cookie traffic in Chrome Developer Tools and found the culprit: Our tracker was set up to use a CNAME for the Clojure collector, and the collector was setting the “sp” cookie on its primary hostname.