Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Extending the lifetime of Interest Groups from 30 to 90 days #855

Open
tdemareuil opened this issue Oct 11, 2023 · 10 comments
Open

Extending the lifetime of Interest Groups from 30 to 90 days #855

tdemareuil opened this issue Oct 11, 2023 · 10 comments

Comments

@tdemareuil
Copy link

Request:

We propose extending the lifetime of Interest Groups from 30 to 90 days.

Background:

Currently, the maximum duration of an Interest Group is limited to 30 days after the last site visit. This constraint presents various challenges in addressing advertiser requirements on our platform, particularly concerning the critical marketing use case of re-engaging users more than 30 days after their last visit.

Rationale:

Re-engaging users beyond the 30-day window is a prevalent marketing use case that significantly contributes to revenue generation for online advertisers.

Advertisers frequently employ strategies targeting both "full funnel" customers (those who visited the website without recency restrictions) and dedicate specific budgets to re-engage lapsed customers (those with a recency exceeding 30 days). These strategies aim to enhance customer retention, reduce churn, and maximize customer lifetime value. The advertising spending associated with these strategies is substantial and the 30-day limit on Interest Groups can disrupt these efforts.

Proposed Solution:

In light of the above, we propose extending the lifetime of users within an Interest Group from 30 to 90 days. We do not anticipate any apparent privacy constraints, and the enhancements in utility are substantial. This modification would enable a important use case for advertisers while upholding the privacy standards of Protected Audiences and mitigating disruption to the web ecosystem.

@piwanczak
Copy link

+1, this seems popular use case - some advertisers want to reach users who were on their page 2 - 3 months ago

@appascoe
Copy link
Collaborator

NextRoll would also be strongly in favor of this.

@appascoe
Copy link
Collaborator

The last time we discussed this on a call, there was a request to provide further data. Our analyst pulled this:

For the purpose of this post, a retargeting impression is one that was targeted using user segmentation
data, and the recency of a retargeting impression is the time elapsed between the relevant segmentation event
and the time of the bid.

So, for example, to say that the recency of a retargeting impression is greater than 30 days is to say that the
relevant segmentation data was more than 30 days old.

Aggregating all NextRoll retargeting impressions over the first three quarters of 2023 by recency, we found that:

  • 79% of these impressions had a recency greater than 1 day,
  • 57% had a recency greater than 7 days,
  • 24% had a recency greater than 30 days,
  • 10% had a recency greater than 60 days, and
  • 2% had a recency greater than 90 days.
Screenshot 2023-10-30 at 16 08 08

This is why we're in favor of increasing the lifetime of IGs to 90 days. Honestly, 30 days is quite short for us.

@michaelkleber
Copy link
Collaborator

Thank you very much Andrew, we really appreciate the data!

One question, though. I see you're measuring the time elapsed between the segmentation event and the bid. That's not quite a match for what is possible in Protected Audience, because an IG's TTL can be extended by re-joining any time the user comes back — where the user can be recognized via a first-party cookie.

Is there any possibility that you have enough logged data to instead look at how long the bid was after the most recent user visit to the site where the Join originally happened? But of course I understand that you might not be in a position to run that analysis.

@appascoe
Copy link
Collaborator

The data above may represent what you're looking for. When a user revisits a site and gets refreshed in a segment, we update the timestamp for the segment, so these data at least represent the most recent time for the segmentation event.

We also collect overall recency, which is how recently they've been to the site regardless of what segments may be refreshed.

I'm double-checking with the analyst to see which metric is represented here. As a side note, I wouldn't expect this graph to change much if it's the former and not the latter.

@michaelkleber
Copy link
Collaborator

Outstanding, thanks again!

@appascoe
Copy link
Collaborator

appascoe commented Nov 1, 2023

Ok, sure enough that first graph was segmentation recency. However, we were able to run the same analysis on overall recency, and as suspected, it's not a major change in distribution:

image

@xxia2021
Copy link

+1, we made the same request here: #337

@eysegal
Copy link

eysegal commented Aug 18, 2024

Totally agree with this. We (Taboola) have quite a few audiences with longer than 30 days

@jeremybaoty
Copy link

Hi there! For those who don’t know me, I’m Jeremy, a PM on Protected Audience API.

We have heard feedback from multiple adtechs on increasing interest group lifespan, and understand that it can significantly improve the utility of the ecosystem, especially adtechs who have products with longer purchase lifecycles.

Therefore, we decided to modify the maximum interest group lifespan from 30 days to 90 days. After this change, the field lifetimeMs in Interest Groups will be capped at 90 * kMillisecsPerDay.

In addition, there will be a couple related changes:

  1. Negative interest group maximum lifetime will also be updated to 90 days. The guidance for additional bid key rotation period for negative interest groups (see details here) will remain that keys should be rotated every 30 days. This works because additional bids can support any number of signatures, and so buyers can provide a signature for each of the additional bid keys used over the past 90 days.
  2. Add a new value browserSignals.ageInDaysMax90 in the browser-generated prioritySignals object. This value indicates how long since the interest group was most recently joined, in the unit of days, up to 90. Similarly, browserSignals.ageInMinutes will support values between 0 - 129,600 (the number of minutes in 90 days).
  3. The definition of joinCount will be changed to "Number of times the group was joined in the last 90 days." (as opposed to 30 days). There’s no change in its reporting buckets.
  4. The definition of bidCount will be changed to “Number of times the group bid in an auction in the last 90 days.” (as opposed to 30 days).
  5. The definition of prevWinsMs will be changed to “Tuple of time-ad pairs for a previous win for this interest group that occurred in the last 90 days.” (as opposed to 30 days)
  6. There is no change in the definition and reporting buckets of recency.

We are still working on this, and don’t have a concrete timeline yet. We will update this group when we have it. Please let me know if you have any feedback and comments. Thanks a lot!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants
@appascoe @xxia2021 @eysegal @michaelkleber @piwanczak @tdemareuil @jeremybaoty and others