Advertising on a privacy-first web
Skills:
Tool Use & Function Calling90%Agent Foundations80%Multi-Agent Systems70%Autonomous Workflows60%ML Maths Basics50%
Key Takeaways
The video discusses the Privacy Sandbox and its proposals for advertising use cases without cross-site cookies, including the Event Conversion Measurement API and Origin Trials, with demonstrations of how to use these tools and techniques for privacy-first web advertising.
Full Transcript
[Music] hey hello there so like i said i'm rowan and i'm part of the developer relations team looking after security privacy payments and identity on the web now what that boils down to is i'm here to give you a little flavor of the implementation detail for one of the advertising related proposals under the privacy sandbox banner specifically showing you where you and your dev team can get involved today now we've got 15 minutes so this is by no means comprehensive but hopefully i'm going to set you up with a base for the patterns that you'll need to navigate the other proposals speaking of patterns then one of the first challenges in this entire effort was defining what we mean when we talk about privacy and specifically it needs to be precise enough that it can be used in specifications and help us make decisions about what is in and out of scope for the work so to do that we've put forward this potential privacy model for the web and the key aspect of this is sharding web identity so let's take a look at what that means the first concept is that identity is partitioned by first party site now what that translates to is this idea that your identity on site a is distinct and separate from your identity on site b and site c and so on and this concept is what drives the work towards making this the default in web platform functionality along with addressing the areas that allow joining of those identities which in turn enables covertrain however that doesn't mean total isolation so composability is absolutely core to the web success and that's across enabling advertising but also things like embedding videos maps running analytics calling apis and so on so first parties need a way to be able to delegate access to that first party identity to third parties however the important point to note here is that it's can be allowed access so it's a privilege that a first party must explicitly grant to the third party and likewise that top level identity is still sharded so the embedded video on site a is not sharing information with the embedded video on site b and so that leads on to the final concept which is a per first party identity can only be associated with small amounts of cross-site information and this is the pattern you'll see in many of the new apis proposed for these existing use cases so where previously there would be a third party cookie from site c that would be sent with the embedded content on site a and site b and that would provide a single tracking mechanism or shared identity across all of the sites and instead the new apis focus on using just the information required in each location and only sending the information required to complete the use case and now while i've drawn a direct arrow in the diagram there that that doesn't mean a direct real-time link between them this can also be aggregate information that is separated from the individual identity on the sites okay so that was a little bit academic but i need us to have this shared foundation so now we can talk about how we go from the model to something you can actually implement against let's take a look at one of the proposed apis then the event conversion measurement api and see how that matches up with the model so first a quick overview of the current process and where the issue comes in i visit a site where i see an ad the third party provider has a cookie that they're using in order to track my interaction with the ad in this case i like the ad it's probably a one for yet another black t-shirt so i'm gonna click it and i'm gonna head over to the site where i'm gonna buy it now this site has a tracking pixel for the advertising service so that they can link my purchase of the t-shirt with my click on the ad and then make sure that all the right people get paid they can check on performance of the campaigns and so on now this motivation is fine this is an important use case and there's data that you need to make that work the problem though if we go back to the privacy model is that we've lost that partitioned first party identity the cookie gives us a link that lets us fully join my identity on the site where i saw the ad with my identity on the site where i purchased the t-shirt and of course anywhere else i go with that cookie too now let's see what we can do differently with the event conversion measurement api first step looks almost exactly the same land on the site display the ad but there's no cookie involved instead when i click on that ad the api is going to record the click event and just store that on my device in browser storage now when i convert on the target site i still have the same tracking pixel there but again no cookie instead the ad tech platform when it serves that pixel is going to issue a redirect with a bit of conversion data included which is also picked up by the api and stored locally then at some later point the browser will send those reports over to the ad tech platform so the key thing here is that the platform gets all the data they need to attribute the clicks get people paid measure performance and so on but they do it without an identifier for the individual this also allows the api to build in additional privacy protection such as delaying the sending of those reports batching them and adding a predefined level of noise to those reports now i want to show you some code because it is fairly simple and it fits on one slide so you could see from the from the diagrams before the infrastructure for the whole process remains mostly the same as the cookie version so what are we adding on the front end now this code is hot off the press because we've been updating the attribute names as the proposal evolves but i want you to see the mechanisms involved i've got an anchor tag there for an ad so just normal link but i've got these new attributes for the converging conversion and reporting urls along with a limited attribution id then i've got my tracking pixel here as well that is going to trigger the redirect to a dot well known url which is where the service can add the conversion data okay i said we're going to talk about stuff that's real and that you can try so you should remember this journey from annie's talk specifically we're going to zero in on the prototype and experiment phase to talk about origin trials that's the stage that event conversion measurement is at now along with some of the others and we've got more in the pipeline there origin trials are effectively chrome's way of allowing an origin which is your site to opt into some functionality for testing and feedback and what i really want to stress is the experiment part we go to origin trial because we are depending on real world feedback from developers to iterate on the idea so this is not like a dev complete beta feature that we're expecting to just roll through to stable the the feedback we get during the origin trial often significantly changes the api may even result in it going completely back to the drawing board as well so this is where any talked about the implementer role and that is very much our target audience here keeping with the conversion measurement example if you provide a service that includes conversion measurement or you have a first-party implementation then you're an implementer if you use a third-party service for conversion measurement that's the customer role so you don't need to take action for the origin trial but you may still be involved then i'll show you how but the key thing here it's a two-way relationship with effort and time investment so you should be getting involved in origin trials because you want to give the feedback to shape the apis and you're expecting them to iterate and change rapidly so with that in mind see how you can get involved hopefully it's relatively like process you can head over to the origin trial site here and it is going to show you all of the active trials you find the one you want and you tap register you will need to fill out some information unsurprisingly about the origin that you want to register along with some properties of where your token will reply and expected usage levels now the token you'll get back is just a long string which you then need to add to your site this can either be in a meta tag in the page or an origin trial header in the response now several of the privacy sandbox origin trials are a little bit different so even if you've signed up for origin trials before this bit may be new to you this is also where the customer role is going to see some of these effects so while i said many of these apis are about providing those privacy preserving approaches to cross-site use cases which means that you are likely going to want that functionality in a cross-site context however you can't really get every single one of your customer sites to sign up get a token add it to their site and so on so third-party origin trials therefore allow implementers to enable the origin trial for their service when it is used in the cross-site context that means for a conversion measurement you'll see the little third-party checkbox check that uh for third-party origin trials we often do a little review before granting the token so you may not receive it immediately once you do though and this is an important difference your third party script is going to be responsible for injecting the meta tag with your token on the first party site in other words the site that is using your service do that and you are good to go okay i told you it was real so let's check it out i am just going to show you slides though to talk you through it but there is a link there there yeah there's a link there and so you can feel free to follow along if you've got another browser window or laptop it is also linked from all the documentation so you don't need to do it right now you can jump in after the talk so first up a quick side track into enabling flags you don't need this for the origin trial as the point is you can test on normal users and you also won't need these particular flags past chrome 91 but i wanted to show you how we allow opt-in access to new apis and behavior for developer testing so this first flag here will now allow you to specifically enable the api and then we also have this second enable experimental web platform features flag which we use as a wider bucket to get in progress features now if you are following along you probably shouldn't do this in the same browser you're using to watch the stream because it will require restarting chrome and i i don't want to lose you right now okay so the demo has three parts and i tend to arrange them on my screen like this it's a bit small to read don't worry about that i just want to talk you through the process and i'll zoom in on the important bits we've got our example publisher site in green if you open up dev tools you'll see helpful instructions there from more too that they'll demo together there's also conversion internals in the top right that's the internal chrome page that shows you all the events the api is storing and in red we've got our demo ad text server where we'll be able to see the events coming in so i see an ad for shoes here i suspect some of us haven't had to wear them in a while but i certainly feel like a bit of retail therapy is in order so i'm going to go ahead and click that that takes me to a product page where i can get ready to buy them um but before we do i'm going to pop over to the internals page and click refresh and that's going to show me the impression data from my click on the ad so this is the on device browser storage that i talked about before you can see the extent of the data that's been collected and if you remember the anchor tag i showed you earlier it's those attributes that generated this you can also always use devtools in the demo to take a peek at the anchor tag before you click it okay so let's go ahead and get ourselves some new shoes on our very lightweight confirmation page you can see the pixel that we've got embedded from our ad tech provider if you were to look in the network tab in dev tools you'd also see that this is the request that goes to that dot world ur dot well known url via the redirect that i mentioned before okay over in internals i also now have a pending report you can see it's this report that is providing the link between the impression data collected earlier and the conversion data that our pixel added so like i mentioned sending of these is intentionally delayed to minimize tracking opportunities through timing but the internal developer page allows us to trigger them all right away so i'm going to go ahead and click that button and there it is the ad text server receives the report with the impression and the conversion data now i realize that sending two numbers from one screen to another is perhaps not the most exciting demo you've ever seen but what's important here is the pattern instead of joining adjoining the identity across sites with a cookie we've taken two cross-site events stored them on the device and then we've just sent the result to a third party so that's the aspect to really take away from this we start moving away from needing to join identity to link events and instead create apis that let the decision move to your device and it's just the result that gets sent on okay that's a little example of how we're looking to build out proposals that really do meet the use cases and what i want to call out here is that the event conversion measurement api has already changed significantly in fact i think we may have changed the name for it as a result of the origin trial feedback so we're really working in the open here to get something that is going to meet that balance of both capability and privacy so if these use cases apply to your business and you can put developer time down to test them in real world scenarios then origin trials are where we need you we walk through the conversion measurement one together so i'm hoping you feel equipped to jump into some of the others we'll continue to share details of those across our various developer channels okay that was quite dense but that is it for me for now a lot to digest but i will be back with you for a q a soon so let me know if there's anything that i need to clear up and with that i'll hand back over to hannah thanks and see you later you
Original Description
The Privacy Sandbox includes a number of proposals to enable advertising use cases without the need for cross-site cookies. Join Rowan from the Google Chrome Developer Relations team to learn how experimentation and origin trials work, with examples for the APIs across each of the stages and how you can get involved.
Speaker:
Rowan Merewood, Developer Relations Engineer, Google
Developer Relations lead for security, privacy, payments, and identity on the web.
Recorded at EMEA Web Day on March 24, 2021.
Event website → https://goo.gle/3gHs2z8
Event playlist → https://goo.gle/3aAyRPv
Further resources:
Developer resources → https://goo.gle/2LERTHN
Origin trial feedback → https://goo.gle/3vgqCzI
Subscribe to Google Chrome Developers → https://goo.gle/ChromeDevs
#WebPrivacy
Watch on YouTube ↗
(saves to browser)
Sign in to unlock AI tutor explanation · ⚡30
Playlist
Uploads from Chrome for Developers · Chrome for Developers · 0 of 60
← Previous
Next →
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
Polymer Performance Patterns (The Polymer Summit 2015)
Chrome for Developers
Polymer Power Tools (The Polymer Summit 2015)
Chrome for Developers
Chrome Dev Summit 2014 – Chrome Case Studies
Chrome for Developers
Web Directions Code 2015 round up
Chrome for Developers
Maintainable Code - HTTP203
Chrome for Developers
iron-ajax… wat?! -- Polycasts #26
Chrome for Developers
The Guardian - Supercharged
Chrome for Developers
ES2015 (next version of JavaScript), Totally Tooling Tips (S2 Ep1)
Chrome for Developers
#AskPolymer: Rob answers all the questions ever -- Polycasts #27
Chrome for Developers
The Future of JavaScript - HTTP203
Chrome for Developers
Data Binding 101 -- Polycasts #28
Chrome for Developers
The Guardian part 2 - Supercharged
Chrome for Developers
The Future of Web Audio: with Chris Wilson and Chris Lowis
Chrome for Developers
Chrome 46: New motion-path animations, client hints and service worker improvements
Chrome for Developers
Sublime Snippets, Totally Tooling Tips (S2 Ep2)
Chrome for Developers
#AskPolymer: How do you make the show? -- Polycasts #29
Chrome for Developers
Critical Path CSS, Totally Tooling Tips (S2 Mini Tip #1)
Chrome for Developers
Binding to Objects -- Polycasts #30
Chrome for Developers
Player FM - Supercharged
Chrome for Developers
Where’s the Designer? #AskPolymer -- Polycasts #31
Chrome for Developers
Jake Beats Wikipedia - HTTP203
Chrome for Developers
Supercharged Observers! -- Polycasts #32
Chrome for Developers
Jai's Web blog - Supercharged
Chrome for Developers
Windows Command-line Tooling, Totally Tooling Tips (S2, Ep4)
Chrome for Developers
What about internationalization? #AskPolymer -- Polycasts #33
Chrome for Developers
Developing for Billions (Chrome Dev Summit 2015)
Chrome for Developers
Google+ Performance Improvement Comparison
Chrome for Developers
Deploying HTTPS: The Green Lock and Beyond (Chrome Dev Summit 2015)
Chrome for Developers
Progressive Web Apps (Chrome Dev Summit 2015)
Chrome for Developers
Instant Loading with Service Workers (Chrome Dev Summit 2015)
Chrome for Developers
Increase Engagement with Web Push Notifications (Chrome Dev Summit 2015)
Chrome for Developers
Engaging with the Real World: Web Bluetooth and Physical Web (Chrome Dev Summit 2015)
Chrome for Developers
Asking for Permission: respectful, opinionated UI (Chrome Dev Summit 2015)
Chrome for Developers
Polymer - State of the Union (Chrome Dev Summit 2015)
Chrome for Developers
Building Progressive Web Apps with Polymer (Chrome Dev Summit 2015)
Chrome for Developers
Introduction to RAIL (Chrome Dev Summit 2015)
Chrome for Developers
DevTools in 2015: Authoring to the max (Chrome Dev Summit 2015)
Chrome for Developers
RAIL in the real world (Chrome Dev Summit 2015)
Chrome for Developers
#ChromeDevSummit talks are up - W00T! -- Polycast #34
Chrome for Developers
V8 Performance from the Driver's Seat (Chrome Dev Summit 2015)
Chrome for Developers
Quantify and improve real-world RAIL (Chrome Dev Summit 2015)
Chrome for Developers
Owning your performance: RAIL (Chrome Dev Summit 2015)
Chrome for Developers
HTTP/2 101 (Chrome Dev Summit 2015)
Chrome for Developers
Leadership Panel (Chrome Dev Summit 2015)
Chrome for Developers
Build Processes, Totally Tooling Tips (S2, Ep 5)
Chrome for Developers
Accessibility (Chrome Dev Summit 2015)
Chrome for Developers
Binding to Arrays -- Polycasts #35
Chrome for Developers
HTTP2 - HTTP203
Chrome for Developers
Chrome 47: Splash Screens, requestIdleCallback and better desktop notifications (New in Chrome)
Chrome for Developers
Call For Submissions - Supercharged
Chrome for Developers
Cross Device Testing, Totally Tooling Tips (S2 Ep6)
Chrome for Developers
Testing AJAX with Web Component Tester -- Polycasts #37
Chrome for Developers
Slack: Extended Xmas Special - Supercharged
Chrome for Developers
Browser testing with Travis & Sauce Labs -- Polycasts #38
Chrome for Developers
Optimize for production with Vulcanize -- Polycasts #39
Chrome for Developers
Highlights from Chrome Dev Summit 2015
Chrome for Developers
Chrome 48: Custom buttons in notifications, DevTools Security panel, and Presentation mode
Chrome for Developers
Crisper: Protecting your Polymer app with CSP -- Polycasts #40
Chrome for Developers
How do I use Sass with Polymer? #AskPolymer -- Polycasts #41
Chrome for Developers
Colors – DevTools Tonight #0 (Pilot)
Chrome for Developers
More on: Tool Use & Function Calling
View skill →Related Reads
🎓
Tutor Explanation
DeepCamp AI