Skip to main content

Impact of Intelligent Tracking Preventions on Adtriba

What is an ITP and what can we do to reduce their impact on the tracking?

Note: Adtriba Core is a legacy feature that we continue to support but no longer sell. The latest version of this feature is available as Funnel Measurement.
If you are already using Funnel Measurement, find more information here. To upgrade, contact us.

Overview

Intelligent Tracking Prevention (ITP) is a browser privacy feature that reduces long-term user tracking across websites. Apple introduced the first version of ITP in Safari in 2017. Other browsers have since introduced similar measures.

ITP uses a browser-based machine learning model to detect domains that may track users across sites. Safari then restricts how long cookies and other browser storage data can persist for those domains.

Initially, ITP targeted only third-party cookies. Over time, it expanded to cover certain first-party cookies, especially those set by third-party services embedded in a site.

How ITP works: simplified example

  1. A user visits mywebsite.com. An analytics or advertising solution sets a first-party cookie for that domain.

  2. The user clicks an ad and is redirected through an ad server domain such as adserver.com.

  3. The ad server sets a first-party cookie on its own domain (for example, example.com) linked to the user.

  4. The cookie is then used across multiple sites to recognize the user and deliver targeted advertising.

ITP restricts this process by shortening cookie lifetime. For example, Safari may delete certain cookies from identified trackers after seven days.

ITP 2.3 changes (Safari 13, March 2020)

In Safari 13, released on March 24, 2020, Apple introduced ITP version 2.3. This update changed how measurement and attribution identifiers are stored:

  • Under ITP 2.2: Safari could delete first-party cookies set through JavaScript after 24 hours. This reduced attribution windows from seven days to one day.

  • With ITP 2.3: Sites could keep the seven-day window if they stored identifiers in non-cookie storage, such as localStorage or IndexedDB.

This change allowed slightly longer attribution periods while still enforcing privacy controls.

Effects on analytics and attribution

For analytics platforms, including Adtriba Core and Adtriba Sphere, ITP can:

  • Shorten attribution windows and miss conversions that occur more than seven days after the first interaction

  • Make returning visitors appear as new visitors if their cookies are deleted

  • Affect customer journey mapping, especially in multi-touch attribution models

Assessing the impact on your data

How much ITP affects your tracking depends on:

  • The share of traffic from browsers with ITP enabled (for example, Safari)

  • The average length of your customer journey from first interaction to conversion

  • The time between repeat visits from returning users

If a large share of your audience uses ITP-enabled browsers and your customer journeys are longer than seven days, attribution accuracy may decrease.

Mitigation strategies

To reduce the effects of ITP:

  1. Use server-side cookie storage

    • Capture first-party identifiers on the client and store them on the server.

    • Reissue the identifier when the user returns to extend its lifespan.

  2. Reduce reliance on third-party cookies

    • Use first-party domains and integrations where possible.

  3. Adopt aggregated measurement methods

    • Adtriba products use aggregated modeling techniques, including Unified Marketing Measurement and Social View Modeling, to reduce dependency on individual user-level data.

Example: refreshing a first-party cookie server-side

app.get('/', (req, res) => {  
  const trackingId = req.cookies['tracking_id'];    if (trackingId) {  
    res.cookie(  
      'tracking_id',  
      trackingId,  
      {  
        domain: 'example.com',  
        path: '/',  
        secure: true,  
        httpOnly: true,  
        expires: new Date(Date.now() + 1000 * 60 * 60 * 24 * 365 * 2) // 2 years  
      }  
    );  
  }    res.render('home');  
});

When you store identifiers on the server and refresh them on return visits, you can maintain data continuity even if the browser deletes client-side cookies.

Did this answer your question?