How ITP 2.1 works and what it means for your web analytics

Big changes are coming to the way businesses collect web data. Browser manufacturers, led by Safari, continue to introduce privacy updates to prevent third parties from tracking users across websites. Although these measures target advertising companies that track users across different websites, they also impact businesses using web analytics to optimize their websites and provide visitors with the best possible experience: especially businesses relying on third-party web analytics tools, including Google Analytics.


This is a companion discussion topic for the original entry at https://snowplowanalytics.com/blog/2019/06/17/how-ITP2.1-works-what-it-means-for-web-analytics/

After watching Yali’s video on ITP and doing some additional research, I did have a question: Yali had suggested that network_userid may be a more reliable way to match users who have visited the site longer than 7 days away compared to domain_userid. Pulling a sample of recent data I have 447,397 unique domain_userids vs 484,693 unique network_userids which would seem to indicate that the network_userid is getting reset more frequently. Is this related to the fact that users on the newest version of Safari may be a small subset in my case and has ITP becomes more mature we should expect this ratio to flip?

Hi @petervcook - that result is a bit surprising. Can you confirm:

  1. What domains your tracking is setup on?
  2. What domain your collector is configured to set cookies on?

I want to confirm that the cookies set by the collector are first party or third party. If they are third party then the results you’ve shared would be as expected, but if they’re first party I’d be a little puzzled and want to dig into the data in more detail to understand what’s going on.

Thanks!

  1. team.valvoline.com, www.valvoline.com, pro.valvoline.com, investors.valvoline.com, www.valvolineignitionprogram.com

  2. dmccollector.valvoline.com

Here is the query I used to pull those numbers:

SELECT count(distinct user_id) as uid, count(distinct domain_userid) as numduid, count(distinct network_userid) as numnuid, count(distinct user_fingerprint) as numfingerprint from atomic.events
WHERE dvce_created_tstamp :: DATE > '2019-05-25';

Would it be better for me to open a ticket with support?

Hey @petervcook - please open a support ticket and we can confirm the configuration of your pipeline.

For anyone else looking at the ticket, we need to look at the collector configuration to determine whether it is setting cookies on dmccollector.valvoline.com or on .valvoline.com. If the latter, then the cookies set by the collector (i.e. the network_userid values) will be first party on:

but not on

As that is a different top level domain to .valvoline.com.

We are working on a new version of the Scala Stream collector that supports setting cookies on multiple top level domains this is the relevant ticket. Once this is released it will be possible for the collector to set cookies on multiple top level domains.