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.
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.
Except you can only target ads based on membership in a single group, not a collection. generateBid only receives one group at a time.