privacy-sandbox-dev-support icon indicating copy to clipboard operation
privacy-sandbox-dev-support copied to clipboard

Protected Audience API and Dynamic Creative Optimization

Open TheTamFamily opened this issue 1 year ago • 2 comments

Morning,

For context, in the current programmatic retargeting using 3P cookies I am able to run Dynamic Creative Optimization (DCO) campaigns using a combination of Campaign Manager 360 (CM360) Floodlight variable and Google Studio (Product Catalog). The way this works, when a user browse a product on the advertiser's website the product ID is sent to CM360 via Floodlight variable using the user's 3P cookie. This means that I can create a single interest group say "product viewed" and the right product image is shown in the Display ad.

In PAAPI there is the adComponents attribute and the documentation says:

"Null or a list of interest group ad. Contains various ad components (or "products") that can be used to construct ads composed of multiple pieces — a top-level ad template "container" which includes some slots that can be filled in with specific "products"."

In this scenario:

When user A visits Advertiser website he is particularly interested in shoes. I create an interestGroup named shoes with the following ads and adComponents (please ignore the JSON formatting for now):

ads: [ { renderUrl: 'https://www.examle.com/ig1/ad.html', } ] adComponents: [ { renderUrl: 'https://www.example.com/ig1/runningshoes.jpg', metadata: { productId: ‘11111’, }, renderUrl: 'https://www.example.com/ig1/hikingboots.jpg', metadata: { productId: '12345', }, } ]

When user B visits the same Advertiser website she is also interested in shoes and I add her to the same interestGroup.

My question is how would user A see runningshoes.jpg and user B sees hikingboots.jpg. Is this the correct way to view the use of adComponents?

Thanks,

David

TheTamFamily avatar Dec 11 '23 07:12 TheTamFamily

Thanks for the question @TheTamFamily. Could you please add your affiliation to your GitHub profile?

adComponents are meant for ads composed of multiple components, e.g. one display ad that advertises both running shoes and hiking boots. You can see the original proposal with an example ad here.

In the case you described where you want to display a running shoes ad to user A and a hiking boots ad to user B, adComponents probably isn't particularly useful. Instead you can just have one interest group with something like:

ads: [ { renderUrl: 'https://www.examle.com/ig1/runningshoes.html', }, { renderUrl: 'https://www.examle.com/ig1/hikingboots.html', } ]

or you could have separate interest groups for each user, that each contains only the specific ad you intend to show that particular user.

JensenPaul avatar Jan 09 '24 13:01 JensenPaul

Thanks Paul. Your suggestion would suffice for a trial however, when this is in production i.e. when we run always on Display campaigns, this would not scale for Advertisers with a huge product catalog where there are literally thousands of product categories. This would mean hundreds of URLs pointing to each creative.

Ad composition and rendering currently is done by the Ad server and at render time, there is a single Ad creative that is instructed to show a particular image. If we have to hard code every Ad creative it means creating many line items.

I would like to propose the ability to pass from the key/value server the ad image (whether an jpg, png etc ...) to the fenced frame at render time. Is there any reason why this would break k-anon or any privacy rights of the individual.

Thanks,

David

TheTamFamily avatar Jan 12 '24 08:01 TheTamFamily