(I work at Google, but not on Chrome. Speaking only for myself.)
Chrome has proposed TURTLEDOVE to support remarketing ads without sending your browsing history to advertisers. (discussed in why I work on ads). Since the overall proposal is very complicated and requires large changes, they have also proposed an initial version, FLEDGE, that they expect to build and ship this year. They're building it incrementally, and they've now checked in very initial prototype support.
Lots of things are still missing, but if you download Chrome
Canary and start it with
--enable-features=FledgeInterestGroupAPI,FledgeInterestGroups
you can play with what they have. For example, on my Mac this looks like:
"/Applications/Google Chrome Canary.app/Contents/MacOS/Google Chrome Canary" --enable-features=FledgeInterestGroupAPI,FledgeInterestGroups
I made a demo:
- Visit auction.html. You should see "no turtledove winner" because you are not yet in any turtledove interest groups.
- Visit join.html. You should see "joined interest group", because it is adding you to an interest group.
- Visit auction.html again. This time, you should see an iframe containing "TC AD 1". This is an ad selected by a turtledove auction.
Things I ran into in setting up the demo:
Even though the spec uses
snake_case
the implementation usescamelCase
(#156)DevTools support is still minimal
You have to send
X-Allow-FLEDGE: true
response headers on anything the FLEDGE API is fetching.
Keep in mind that this is a minimal initial implementation, and there are large parts of the spec they haven't gotten to yet. If something that is implemented doesn't work yet, though, it's probably worth filing a bug.
Comment via: facebook
Ok, thanks, makes sense. So large companies like Amazon can set their own groups, and small companies will use Google-defined groups. (And competitors of Google can specify their own groups, which their customers will be able to use.)
The groups are a replacement for third-party cookies, because cookies allow to store arbitrary value, which makes it possible to assign an individual identifier to every user, while with groups the API is only "add this user to group X" and "check whether this user is in group X". Also, small advertisers can only add you to groups when you visit their website; while their ad is displayed to you elsewhere, your data are read-only from their perspective.
Let me think for a moment... the first thought is that actually you can assign unique identifiers to users who visit your website. Using N groups, you can track 2^N users: user 1 is in the "id-1" group, user 2 is in the "id-2" group, user 3 is in both "id-1" and "id-2" groups, etc. But this will not be so helpful, because when you are at the Amazon website, Amazon can track you using first-party cookies anyway.
And if you are on a different website... Amazon can create a rule "if the user is in groups id-8 and id-256 and id-2048, but not in groups id-1, id-2, etc., show banner saying 'Jeff, I know it's you'", but Amazon will never be told if the rule was actually used. Or perhaps, they will (because they will be billed for displaying the banner), but they will not be told which website displayed the banner to you. So Amazon can only find out how active you are on websites with Google ads in general, but not which specific websites you follow.
They could find out your other groups, if they decide to spend their resources so, by making rules "if the user has id X (i.e. is in groups id-A, id-B, but not in groups id-C, id-D) and is in group 'porn', show banner 'X-porn-yes'; if the user has id X and is not in group 'porn', show banner 'X-porn-no'", and then look at the invoice which of the banners was displayed. But they would need to set up rules individually for each user they want to explore.