<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[BOK on Ads (and Climate)]]></title><description><![CDATA[Investigating the systemic decarbonization of digital advertising and other complex global supply chains]]></description><link>https://bokonads.com</link><image><url>https://substackcdn.com/image/fetch/$s_!wxMx!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79f654e6-9040-43a7-9f4f-25e68c67d82d_675x675.png</url><title>BOK on Ads (and Climate)</title><link>https://bokonads.com</link></image><generator>Substack</generator><lastBuildDate>Tue, 07 Apr 2026 14:56:15 GMT</lastBuildDate><atom:link href="https://bokonads.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Brian O'Kelley]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[scope3@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[scope3@substack.com]]></itunes:email><itunes:name><![CDATA[Brian O'Kelley]]></itunes:name></itunes:owner><itunes:author><![CDATA[Brian O'Kelley]]></itunes:author><googleplay:owner><![CDATA[scope3@substack.com]]></googleplay:owner><googleplay:email><![CDATA[scope3@substack.com]]></googleplay:email><googleplay:author><![CDATA[Brian O'Kelley]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[The fruit of the poisonous (programmatic) tree]]></title><description><![CDATA[Or, why you can't rebrand your horse as an autonomous vehicle and hope it survives on the highway]]></description><link>https://bokonads.com/p/the-fruit-of-the-poisonous-programmatic</link><guid isPermaLink="false">https://bokonads.com/p/the-fruit-of-the-poisonous-programmatic</guid><dc:creator><![CDATA[Brian O'Kelley]]></dc:creator><pubDate>Thu, 26 Feb 2026 20:53:57 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/189294042/69e7ca16fb4301f5925dbd458f6c7cfb.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p>I took a first look at the rebranded IAB Tech Lab agentic framework &#8220;AAMP&#8221;.</p><p>It inherits the foundational problems with programmatic: a lack of trust, governance, measurement; an inability to model the complexity of real-world transactions; and a deep bias towards valuation instead of outcomes.</p><p>Unfortunately this just proves that 1) you can&#8217;t get to cars by building on top of horses and 2) calling your horse &#8220;self driving&#8221; doesn&#8217;t make it an autonomous car.</p><p>Take a look at the video&#8230; curious if others have a different take!</p>]]></content:encoded></item><item><title><![CDATA[The Open Agentic Web: Powered by Prebid]]></title><description><![CDATA[Bringing agentic revenue to every premium publisher]]></description><link>https://bokonads.com/p/the-open-agentic-web-powered-by-prebid</link><guid isPermaLink="false">https://bokonads.com/p/the-open-agentic-web-powered-by-prebid</guid><dc:creator><![CDATA[Brian O'Kelley]]></dc:creator><pubDate>Thu, 29 Jan 2026 14:19:48 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!f1J-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F764a1d03-8da8-4f9a-9a58-3678cd4137f2_1664x1336.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Publishers have been promised a lot from ad tech over the years. Most of it required more work, more complexity, and more headcount&#8230; for marginal gains.</p><p>Prebid Sales Agent is different. It&#8217;s open source. It deploys in an afternoon. And it could double sales of your premium ad products without adding a single headcount.</p><h2>The Economics of Direct Sales Are Broken</h2><p>Today, direct sales is constrained by human bandwidth. A publisher&#8217;s sales team can only manage so many relationships, negotiate so many IOs, and onboard so many new advertisers. The economics are brutal: below a certain deal size, the cost of sales exceeds the margin on the buy. This is why mid-tail advertisers end up in programmatic despite wanting premium placements.</p><p>Agentic advertising changes this math entirely.</p><p>When an AI agent can discover your inventory, negotiate terms, and execute a buy without human involvement on either side, the friction cost approaches zero. Suddenly a $5,000 sponsorship makes economic sense. So does a $500 one. The long tail of advertisers who <em>want</em> direct relationships with publishers but can&#8217;t afford the transaction costs can now participate.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://bokonads.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading BOK on Ads (and Climate)! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>This is the shift from day trading to portfolio management. Programmatic is bid-by-bid, impression-by-impression optimization - exhausting for humans and algorithms alike, leaving value on the table. Agentic buying is strategic: an agent allocates budget across a portfolio of publisher relationships, optimizes over weeks not milliseconds, and finds value that no human (or DSP) would have the bandwidth to discover.</p><p>For publishers, this means premium revenue can scale without scaling headcount.</p><h2>The Power of Prebid</h2><p>If you&#8217;re not an ad tech nerd you may not know about <a href="https://prebid.org">Prebid</a>. It&#8217;s an open source project, started by competing ad tech firms in 2017, to create a standard way for ad platforms to integrate with publishers. Every meaningful ad platform has an adapter, from <a href="https://www.adexchanger.com/publishers/a-win-for-open-standards-amazons-prebid-adapter-goes-live/">Amazon</a> to <a href="https://docs.prebid.org/dev-docs/bidders/zeta_global_ssp.html">Zeta</a>. Prebid was at the heart of the Google ad tech antitrust trial and one of the proposed remedies is for <a href="https://business.cch.com/ald/USvGoogle1811-googPTRB.pdf">Google to adopt Prebid</a> as the layer between its buy-side and sell-side tools. It&#8217;s the glue that makes the open web work for programmatic advertising.</p><p>When Prebid launched in 2017, it was adopted within two years by every major publisher.</p><p>No sales people.</p><p>No fancy marketing.</p><p>They just tried it. And they saw their programmatic revenue increase by 20%.</p><p><em>What if we could do the same for premium inventory?</em></p><p>When the <a href="https://adcontextprotocol.org">Ad Context Protocol</a> launched in October 2025, I started thinking about how to help open web publishers connect to agentic buyers. What if Prebid offered an open source sales agent?</p><p>Turns out I wasn&#8217;t the only one thinking that. Prebid had already formed an Agentic Working Group, recognizing that agent-to-agent commerce was coming to advertising.</p><p>For the past six months many people - and coding agents - have contributed code, ideas, and bug reports to build an open source sales agent. We&#8217;ve rewritten, refactored, and rearchitected. It&#8217;s been frustrating, annoying, exhausting, and amazing all at the same time. And today, after months of review and discussion with the Prebid Agentic Working Group, this project has been released as the <a href="https://github.com/prebid/salesagent">Prebid Sales Agent</a>. Now ready to roll, free and open source, allowing any publishers to benefit from the agentic advertising marketplace opportunity.</p><p>So what is Prebid Sales Agent? Let me show you!</p><h2>Prebid Sales Agent from the outside</h2><p>If you&#8217;re a buyer and want to work with a publisher running Prebid Sales Agent, what you see is an agent-friendly AdCP interface. This page is SO ugly for humans, but to agents I promise this is gorgeous:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!f1J-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F764a1d03-8da8-4f9a-9a58-3678cd4137f2_1664x1336.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!f1J-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F764a1d03-8da8-4f9a-9a58-3678cd4137f2_1664x1336.png 424w, https://substackcdn.com/image/fetch/$s_!f1J-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F764a1d03-8da8-4f9a-9a58-3678cd4137f2_1664x1336.png 848w, https://substackcdn.com/image/fetch/$s_!f1J-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F764a1d03-8da8-4f9a-9a58-3678cd4137f2_1664x1336.png 1272w, https://substackcdn.com/image/fetch/$s_!f1J-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F764a1d03-8da8-4f9a-9a58-3678cd4137f2_1664x1336.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!f1J-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F764a1d03-8da8-4f9a-9a58-3678cd4137f2_1664x1336.png" width="1456" height="1169" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/764a1d03-8da8-4f9a-9a58-3678cd4137f2_1664x1336.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1169,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1376177,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://bokonads.com/i/186177239?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F764a1d03-8da8-4f9a-9a58-3678cd4137f2_1664x1336.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!f1J-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F764a1d03-8da8-4f9a-9a58-3678cd4137f2_1664x1336.png 424w, https://substackcdn.com/image/fetch/$s_!f1J-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F764a1d03-8da8-4f9a-9a58-3678cd4137f2_1664x1336.png 848w, https://substackcdn.com/image/fetch/$s_!f1J-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F764a1d03-8da8-4f9a-9a58-3678cd4137f2_1664x1336.png 1272w, https://substackcdn.com/image/fetch/$s_!f1J-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F764a1d03-8da8-4f9a-9a58-3678cd4137f2_1664x1336.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I can connect this to my agent (this is ChatGPT, but this could be an enterprise agent builder like Langchain or whatever):</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Gy4G!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a845dd2-7ae0-496d-988f-f9f9d53a32fb_902x588.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Gy4G!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a845dd2-7ae0-496d-988f-f9f9d53a32fb_902x588.png 424w, https://substackcdn.com/image/fetch/$s_!Gy4G!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a845dd2-7ae0-496d-988f-f9f9d53a32fb_902x588.png 848w, https://substackcdn.com/image/fetch/$s_!Gy4G!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a845dd2-7ae0-496d-988f-f9f9d53a32fb_902x588.png 1272w, https://substackcdn.com/image/fetch/$s_!Gy4G!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a845dd2-7ae0-496d-988f-f9f9d53a32fb_902x588.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Gy4G!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a845dd2-7ae0-496d-988f-f9f9d53a32fb_902x588.png" width="902" height="588" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2a845dd2-7ae0-496d-988f-f9f9d53a32fb_902x588.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:588,&quot;width&quot;:902,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:59316,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://bokonads.com/i/186177239?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a845dd2-7ae0-496d-988f-f9f9d53a32fb_902x588.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Gy4G!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a845dd2-7ae0-496d-988f-f9f9d53a32fb_902x588.png 424w, https://substackcdn.com/image/fetch/$s_!Gy4G!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a845dd2-7ae0-496d-988f-f9f9d53a32fb_902x588.png 848w, https://substackcdn.com/image/fetch/$s_!Gy4G!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a845dd2-7ae0-496d-988f-f9f9d53a32fb_902x588.png 1272w, https://substackcdn.com/image/fetch/$s_!Gy4G!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a845dd2-7ae0-496d-988f-f9f9d53a32fb_902x588.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>And then I can ask for ad products that fit my brand and campaign:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!m2gT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F848577ca-4d5a-4cc7-9a00-d359868e2a8d_1636x1688.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!m2gT!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F848577ca-4d5a-4cc7-9a00-d359868e2a8d_1636x1688.png 424w, https://substackcdn.com/image/fetch/$s_!m2gT!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F848577ca-4d5a-4cc7-9a00-d359868e2a8d_1636x1688.png 848w, https://substackcdn.com/image/fetch/$s_!m2gT!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F848577ca-4d5a-4cc7-9a00-d359868e2a8d_1636x1688.png 1272w, https://substackcdn.com/image/fetch/$s_!m2gT!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F848577ca-4d5a-4cc7-9a00-d359868e2a8d_1636x1688.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!m2gT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F848577ca-4d5a-4cc7-9a00-d359868e2a8d_1636x1688.png" width="1456" height="1502" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/848577ca-4d5a-4cc7-9a00-d359868e2a8d_1636x1688.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1502,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:318891,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://bokonads.com/i/186177239?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F848577ca-4d5a-4cc7-9a00-d359868e2a8d_1636x1688.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!m2gT!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F848577ca-4d5a-4cc7-9a00-d359868e2a8d_1636x1688.png 424w, https://substackcdn.com/image/fetch/$s_!m2gT!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F848577ca-4d5a-4cc7-9a00-d359868e2a8d_1636x1688.png 848w, https://substackcdn.com/image/fetch/$s_!m2gT!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F848577ca-4d5a-4cc7-9a00-d359868e2a8d_1636x1688.png 1272w, https://substackcdn.com/image/fetch/$s_!m2gT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F848577ca-4d5a-4cc7-9a00-d359868e2a8d_1636x1688.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!EpKW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F551c2aa7-8c59-4ee4-93c2-a8bfee50a994_1470x668.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!EpKW!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F551c2aa7-8c59-4ee4-93c2-a8bfee50a994_1470x668.png 424w, https://substackcdn.com/image/fetch/$s_!EpKW!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F551c2aa7-8c59-4ee4-93c2-a8bfee50a994_1470x668.png 848w, https://substackcdn.com/image/fetch/$s_!EpKW!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F551c2aa7-8c59-4ee4-93c2-a8bfee50a994_1470x668.png 1272w, https://substackcdn.com/image/fetch/$s_!EpKW!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F551c2aa7-8c59-4ee4-93c2-a8bfee50a994_1470x668.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!EpKW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F551c2aa7-8c59-4ee4-93c2-a8bfee50a994_1470x668.png" width="1456" height="662" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/551c2aa7-8c59-4ee4-93c2-a8bfee50a994_1470x668.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:662,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:106843,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://bokonads.com/i/186177239?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F551c2aa7-8c59-4ee4-93c2-a8bfee50a994_1470x668.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!EpKW!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F551c2aa7-8c59-4ee4-93c2-a8bfee50a994_1470x668.png 424w, https://substackcdn.com/image/fetch/$s_!EpKW!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F551c2aa7-8c59-4ee4-93c2-a8bfee50a994_1470x668.png 848w, https://substackcdn.com/image/fetch/$s_!EpKW!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F551c2aa7-8c59-4ee4-93c2-a8bfee50a994_1470x668.png 1272w, https://substackcdn.com/image/fetch/$s_!EpKW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F551c2aa7-8c59-4ee4-93c2-a8bfee50a994_1470x668.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>So cool right? Note that you have to actually have an account with Accuweather to place a buy, so call them up. Once the buy starts running, you need reporting. You can ask ChatGPT (it calls the sales agent) or register a webhook for daily delivery data - useful for budget reallocation, analytics, and other automated workflows.</p><h2>Prebid Sales Agent on the inside</h2><p>From a technical perspective, Prebid Sales Agent deploys as a Docker container you can run in any cloud hosting environment. You just need a Postgres database to point it to.</p><p>Or, as with Prebid.js, there are a bunch of companies and people that can help you set up a sales agent. One example is <a href="https://www.bidcliq.com">Bidcliq</a>, offering an integrated programmatic+agentic wrapper built on the Prebid stack. You can see a list of companies supporting and providing sales agents (both built on Prebid Sales Agent and not) at <a href="https://agenticadvertising.org/members?type=salesagent">AgenticAdvertising.org</a>.</p><p>Once you log in, you&#8217;ll see a dashboard like this, with the active buys, live activity feed of both A2A and MCP requests, and anything that needs attention.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!z3k9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0446f6a7-ee8e-4d06-a64d-5e14419cfef1_2644x1370.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!z3k9!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0446f6a7-ee8e-4d06-a64d-5e14419cfef1_2644x1370.png 424w, https://substackcdn.com/image/fetch/$s_!z3k9!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0446f6a7-ee8e-4d06-a64d-5e14419cfef1_2644x1370.png 848w, https://substackcdn.com/image/fetch/$s_!z3k9!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0446f6a7-ee8e-4d06-a64d-5e14419cfef1_2644x1370.png 1272w, https://substackcdn.com/image/fetch/$s_!z3k9!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0446f6a7-ee8e-4d06-a64d-5e14419cfef1_2644x1370.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!z3k9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0446f6a7-ee8e-4d06-a64d-5e14419cfef1_2644x1370.png" width="1456" height="754" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0446f6a7-ee8e-4d06-a64d-5e14419cfef1_2644x1370.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:754,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:404711,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://bokonads.com/i/186177239?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0446f6a7-ee8e-4d06-a64d-5e14419cfef1_2644x1370.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!z3k9!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0446f6a7-ee8e-4d06-a64d-5e14419cfef1_2644x1370.png 424w, https://substackcdn.com/image/fetch/$s_!z3k9!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0446f6a7-ee8e-4d06-a64d-5e14419cfef1_2644x1370.png 848w, https://substackcdn.com/image/fetch/$s_!z3k9!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0446f6a7-ee8e-4d06-a64d-5e14419cfef1_2644x1370.png 1272w, https://substackcdn.com/image/fetch/$s_!z3k9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0446f6a7-ee8e-4d06-a64d-5e14419cfef1_2644x1370.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>You need to configure your ad server and make sure that all of your ad units, placements, and targeting capabilities are available. There are some nice features like the ability to bundle inventory into profiles:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!VaJY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0231c00-ea59-4335-8c47-1de4cf639f46_1338x878.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!VaJY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0231c00-ea59-4335-8c47-1de4cf639f46_1338x878.png 424w, https://substackcdn.com/image/fetch/$s_!VaJY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0231c00-ea59-4335-8c47-1de4cf639f46_1338x878.png 848w, https://substackcdn.com/image/fetch/$s_!VaJY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0231c00-ea59-4335-8c47-1de4cf639f46_1338x878.png 1272w, https://substackcdn.com/image/fetch/$s_!VaJY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0231c00-ea59-4335-8c47-1de4cf639f46_1338x878.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!VaJY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0231c00-ea59-4335-8c47-1de4cf639f46_1338x878.png" width="1338" height="878" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c0231c00-ea59-4335-8c47-1de4cf639f46_1338x878.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:878,&quot;width&quot;:1338,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:127077,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://bokonads.com/i/186177239?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0231c00-ea59-4335-8c47-1de4cf639f46_1338x878.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!VaJY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0231c00-ea59-4335-8c47-1de4cf639f46_1338x878.png 424w, https://substackcdn.com/image/fetch/$s_!VaJY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0231c00-ea59-4335-8c47-1de4cf639f46_1338x878.png 848w, https://substackcdn.com/image/fetch/$s_!VaJY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0231c00-ea59-4335-8c47-1de4cf639f46_1338x878.png 1272w, https://substackcdn.com/image/fetch/$s_!VaJY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0231c00-ea59-4335-8c47-1de4cf639f46_1338x878.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>You set up the products you want to sell (either manually or by connecting to an order management or other internal system):</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!WOIa!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9daa88b5-f594-4fe0-80f4-fcd97530d056_1798x1050.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!WOIa!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9daa88b5-f594-4fe0-80f4-fcd97530d056_1798x1050.png 424w, https://substackcdn.com/image/fetch/$s_!WOIa!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9daa88b5-f594-4fe0-80f4-fcd97530d056_1798x1050.png 848w, https://substackcdn.com/image/fetch/$s_!WOIa!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9daa88b5-f594-4fe0-80f4-fcd97530d056_1798x1050.png 1272w, https://substackcdn.com/image/fetch/$s_!WOIa!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9daa88b5-f594-4fe0-80f4-fcd97530d056_1798x1050.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!WOIa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9daa88b5-f594-4fe0-80f4-fcd97530d056_1798x1050.png" width="1456" height="850" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9daa88b5-f594-4fe0-80f4-fcd97530d056_1798x1050.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:850,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:245991,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://bokonads.com/i/186177239?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9daa88b5-f594-4fe0-80f4-fcd97530d056_1798x1050.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!WOIa!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9daa88b5-f594-4fe0-80f4-fcd97530d056_1798x1050.png 424w, https://substackcdn.com/image/fetch/$s_!WOIa!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9daa88b5-f594-4fe0-80f4-fcd97530d056_1798x1050.png 848w, https://substackcdn.com/image/fetch/$s_!WOIa!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9daa88b5-f594-4fe0-80f4-fcd97530d056_1798x1050.png 1272w, https://substackcdn.com/image/fetch/$s_!WOIa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9daa88b5-f594-4fe0-80f4-fcd97530d056_1798x1050.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Then you configure a bunch of policy and workflow settings that ensure that a human or a trusted AI agent can review every action taken:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!GKyH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45a208aa-1a06-4472-a8b6-d12d4c784da2_1980x1526.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!GKyH!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45a208aa-1a06-4472-a8b6-d12d4c784da2_1980x1526.png 424w, https://substackcdn.com/image/fetch/$s_!GKyH!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45a208aa-1a06-4472-a8b6-d12d4c784da2_1980x1526.png 848w, https://substackcdn.com/image/fetch/$s_!GKyH!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45a208aa-1a06-4472-a8b6-d12d4c784da2_1980x1526.png 1272w, https://substackcdn.com/image/fetch/$s_!GKyH!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45a208aa-1a06-4472-a8b6-d12d4c784da2_1980x1526.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!GKyH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45a208aa-1a06-4472-a8b6-d12d4c784da2_1980x1526.png" width="1456" height="1122" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/45a208aa-1a06-4472-a8b6-d12d4c784da2_1980x1526.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1122,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:301331,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://bokonads.com/i/186177239?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45a208aa-1a06-4472-a8b6-d12d4c784da2_1980x1526.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!GKyH!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45a208aa-1a06-4472-a8b6-d12d4c784da2_1980x1526.png 424w, https://substackcdn.com/image/fetch/$s_!GKyH!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45a208aa-1a06-4472-a8b6-d12d4c784da2_1980x1526.png 848w, https://substackcdn.com/image/fetch/$s_!GKyH!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45a208aa-1a06-4472-a8b6-d12d4c784da2_1980x1526.png 1272w, https://substackcdn.com/image/fetch/$s_!GKyH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45a208aa-1a06-4472-a8b6-d12d4c784da2_1980x1526.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>You can integrate other agents to provide creative generation and 1P data integration:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!hIlt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c5ea460-7b75-4f2d-a8cd-d2a21e4b9556_1976x1192.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!hIlt!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c5ea460-7b75-4f2d-a8cd-d2a21e4b9556_1976x1192.png 424w, https://substackcdn.com/image/fetch/$s_!hIlt!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c5ea460-7b75-4f2d-a8cd-d2a21e4b9556_1976x1192.png 848w, https://substackcdn.com/image/fetch/$s_!hIlt!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c5ea460-7b75-4f2d-a8cd-d2a21e4b9556_1976x1192.png 1272w, https://substackcdn.com/image/fetch/$s_!hIlt!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c5ea460-7b75-4f2d-a8cd-d2a21e4b9556_1976x1192.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!hIlt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c5ea460-7b75-4f2d-a8cd-d2a21e4b9556_1976x1192.png" width="1456" height="878" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8c5ea460-7b75-4f2d-a8cd-d2a21e4b9556_1976x1192.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:878,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:241826,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://bokonads.com/i/186177239?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c5ea460-7b75-4f2d-a8cd-d2a21e4b9556_1976x1192.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!hIlt!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c5ea460-7b75-4f2d-a8cd-d2a21e4b9556_1976x1192.png 424w, https://substackcdn.com/image/fetch/$s_!hIlt!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c5ea460-7b75-4f2d-a8cd-d2a21e4b9556_1976x1192.png 848w, https://substackcdn.com/image/fetch/$s_!hIlt!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c5ea460-7b75-4f2d-a8cd-d2a21e4b9556_1976x1192.png 1272w, https://substackcdn.com/image/fetch/$s_!hIlt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c5ea460-7b75-4f2d-a8cd-d2a21e4b9556_1976x1192.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>There&#8217;s more to show, but this gives you an idea of what it looks like to provide the tools and guardrails for a premium publisher to - carefully - open up ad inventory for agents to discover, buy, and manage.</p><h2>The Lifeblood of the Internet</h2><p>Imagine an internet where ad tech makes publisher revenues go up, not down. We could put journalists back in newsrooms, revitalize web communities, and empower a new generation of creators to thrive outside of walled gardens.</p><p>That&#8217;s worth an afternoon to <a href="https://github.com/prebid/salesagent">deploy</a>.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://bokonads.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading BOK on Ads (and Climate)! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Sponsored Intelligence and the Trillion Dollar Sentence]]></title><description><![CDATA[How advertising will unlock ubiquitous AI - and how to make that future one we want to live in]]></description><link>https://bokonads.com/p/sponsored-intelligence-and-the-trillion</link><guid isPermaLink="false">https://bokonads.com/p/sponsored-intelligence-and-the-trillion</guid><dc:creator><![CDATA[Brian O'Kelley]]></dc:creator><pubDate>Mon, 19 Jan 2026 17:40:42 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!wxMx!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79f654e6-9040-43a7-9f4f-25e68c67d82d_675x675.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I once had a conversation with a visionary tech executive who said, and I am not making this up: &#8220;In the future there will be no advertising. Robots will print everything we need. But in the short term, I need ad revenue.&#8221;</p><p>There is no question that ChatGPT needs ads. There is also no question that ads will change the experience, because that&#8217;s what advertisers are paying for: the ability to influence consumer behavior.</p><p>OpenAI is in the unenviable position of trying to figure out a new advertising surface - AI chat - both from scratch and in the public eye. Regulators and consumer advocacy groups will be scrutinizing every move at the same time that the basic economics of AI are putting immense pressure on the company to go fast and competitors are shipping new models and new products. It&#8217;s an almost impossible challenge.</p><p>On the plus side, every advertiser in the world wants to influence consumers in ChatGPT. It&#8217;s the most powerful advertising surface in history: the trusted advisor that people ask about their most intimate and fundamental problems. As <a href="https://x.com/hnshah/status/2012579564589822078?utm_source=tipsheetai.beehiiv.com&amp;utm_medium=newsletter&amp;utm_campaign=tipsheet-openai-embraces-ads-the-roundup&amp;_bhlid=a0f8db4446ffeb212060dd8d79898990256d75c6">Hiten Shah put it</a>, &#8220;ads now live inside an active reasoning context... adjacent to thought, not distraction.&#8221; This isn&#8217;t a banner next to content. It&#8217;s a sentence inside a decision.</p><p>Perhaps the best analogy here is your relationship with your doctor. You tell your doctor everything about yourself and the medical condition you have. They recommend a drug, you take it. Then you find out that the pharmaceutical industry has spent billions to convince doctors to prescribe that drug, including flying doctors to ski resorts and sending attractive young people in to hospitals. You begin to wonder whether you got the best drug or just the best marketed drug.</p><p><a href="https://www.linkedin.com/posts/fidjisimo_our-approach-to-advertising-and-expanding-activity-7417996121383374848-F6VD?utm_source=share&amp;utm_medium=member_desktop&amp;rcm=ACoAAAAF4XMBPkETAM4c2bhgUUpzcSV2I74FNso">Fidji Simo </a>says &#8220;ads will not influence the answers ChatGPT gives you.&#8221; She&#8217;s saying the AI will always give you the best answer, with ads shown alongside but never influencing the response. This is the medical equivalent of your doctor saying &#8220;I&#8217;ll always prescribe the best drug, but pharma reps can leave brochures in the exam room.&#8221;</p><p>I don&#8217;t think this model survives contact with either consumers or advertiser needs.</p><p>From a consumer perspective, either you trust your doctor to handle the potential conflicts of interest - in which case, why not just hand you the damn brochure - or you don&#8217;t, in which case you won&#8217;t come back<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a>.</p><p>On the other side, if ads don&#8217;t change behaviors, they&#8217;re worthless. Google changes your results. Amazon changes your recommendations. Apple takes billions to make Google your default search. Every successful ads business in <a href="https://www.linkedin.com/pulse/oldest-ad-world-piece-content-marketing-alex-kirk/">history</a> has worked because it changed what consumers saw, thought, or did.</p><p>The question isn&#8217;t <em>whether</em> ChatGPT will nudge you toward certain products, flights, or services. If they don&#8217;t, advertisers won&#8217;t pay for it. The question is whether that nudge will be disclosed, consumer-friendly, and grounded in real value.</p><p>So what should OpenAI do? They should make the most effective ad product in the history of the world by clearly prioritizing privacy first, consumers second, and advertisers third.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://bokonads.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading BOK on Ads (and Climate)! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>Privacy-first: Nothing leaves the building</h2><p>If you&#8217;re going to build an ads business on the most intimate consumer relationship in history, you have one non-negotiable: consumer data cannot leave your walls. Not directly, not indirectly, not in &#8220;anonymized&#8221; form that we all know can be re-identified with a few signals.</p><p>I&#8217;m worried about OpenAI&#8217;s current language. They say &#8220;we keep your conversations private from advertisers and we never sell your data.&#8221; What they don&#8217;t say is whether they&#8217;ll share inferences, aggregates, or behavioral signals derived from those conversations. That&#8217;s a gap you could drive a surveillance truck through.</p><p>Here&#8217;s how I&#8217;d design it instead:</p><p>Advertisers get almost no influence over where their ads show, because even the most basic targeting could be reverse engineered to understand or even identify the consumer. Instead, they use a protocol like AdCP to characterize their brand, their products, their offers, their landing pages (or MCP endpoints), their privacy policy, and their safety and suitability standards.</p><p>When a user chats, pick the best offers to show them. If they want to engage with an advertiser, ask explicitly: &#8220;Can I share your contact info and what you&#8217;re looking for, or would you rather start fresh with them?&#8221; One click, clear consent, every time. This is like handing the consumer a prescription they take to their pharmacy. Their data and intent travels with them to their destination, fully in their control.</p><p>Reporting to advertisers stays opaque. They learn what worked, not who it worked on or what those people were asking about. Advertisers will complain. They&#8217;ll survive.</p><p>Don&#8217;t underestimate how quickly this becomes political, by the way. Members of Congress use ChatGPT. Probably for drafts of legislation, but also for  relationship advice, medical questions&#8212;the same intimate stuff we all ask. The moment one of them realizes their data could be monetized, or weaponized, we&#8217;ll have a federal privacy bill. This might be the catalyst, and if the AI ecosystem gets privacy right,  they&#8217;ll benefit from it - as will we as consumers.</p><h2>Consumer-second: advocacy and offers</h2><p>We have a friend who was part of a multi-level marketing program for vitamins and protein powder. She was always telling us how great the products are. We finally bought a very expensive box of powders. They were fine. The next time we saw her she was doing a different MLM scheme and has never mentioned the powders again.</p><p>That was not a great experience with our friend or the brand, which I literally don&#8217;t remember.</p><p>We recently hired a designer to help make our living room look less like &#8220;all the random furniture we&#8217;ve ever had plus a random area with Legos and books&#8221; and more like a place where adults could sip tea or whatever adults do on matching furniture. She explicitly said to us that she gets a designer discount on what she buys, but that we don&#8217;t pay for it - it comes from the store. I thought about that a lot. Does that give her an incentive to shop only at certain stores? (answer: no, since everybody provides this discount)? Does that mean she&#8217;s going to recommend more expensive stuff? (answer: clearly yes)</p><p>This was a great experience except for my bank account, and also do not buy a cream-colored rug when you have a small child and/or cats.</p><p>What we expect from our AI assistant is <strong>best efforts to help us</strong>. We are ok with our assistant getting paid, especially if it&#8217;s not coming directly from us.</p><p>As a consumer, I want this:</p><pre><code>I see a few flight options to Boston tomorrow morning. I know you prefer United, so that's a good choice - they have a 6:45 AM for $245. However, Delta (which is a preferred partner of mine) has a 7:10 AM for $240. Would you like me to book either of these for you?</code></pre><p>I don&#8217;t really care that the second option was Delta vs JetBlue or whatever. I mainly care that my preference for United was recognized (trust!) and that the other option is viable. Or how about:</p><pre><code>I see a few flight options to Boston tomorrow morning. I know you prefer United, so that's a good choice - they have a 6:45 AM for $245. However, Delta (which is a preferred partner of mine) has a 7:10 AM for $240, and I can get you a free upgrade to their Economy Plus section. Would you like me to book either of these for you?</code></pre><p>This to me is consumer first: we&#8217;re asking advertisers to work for our business, with ChatGPT as a conduit and advocate. </p><p>In sum: if you can look me in the eye (or equivalent metaphor for non-embodied entities) and tell me you stand behind your recommendation even though you have economics, I&#8217;m cool with it. That goes for the doctor analogy too: I didn&#8217;t care that Dr Adams used the <a href="https://www.medtronic.com/en-us/healthcare-professionals/products/cardiovascular/heart-valves/annuloplasty/tri-ad-2-0-adams-annuloplasty-band.html">heart valve ring</a> he invented when he did my surgery, but I did appreciate that we talked about it.</p><h2>Advertiser-third: The trillion dollar sentence</h2><p>In this privacy-first, consumer-second model, advertisers are incentivized to create compelling offers and to actually deliver great products.</p><p>What is that flight recommendation worth to Delta? It&#8217;s a simple question of math. If they pay to be an OpenAI ads partner, they get shown in results 200,000 times more a month resulting in 50,000 bookings. Their incremental profit here is $2M a month. OpenAI can charge at least $400K for this and perhaps more, depending on how Delta sees LTV and the value of share gain. That&#8217;s a $2,000 CPM if you&#8217;re counting, but hey, AI ain&#8217;t cheap.</p><p>Perhaps travel is a unique category. But let&#8217;s see. If I have a sick kid and I&#8217;m asking ChatGPT for advice, and I get back a recommendation to give her some vitamins, am I cool with a nudge to a particular brand or retailer? Sure. Let&#8217;s say that in-chat transaction &#8220;Want me to order these for you? Walmart (a preferred partner) has a same-day delivery option and I can have them to you in 90 minutes&#8221; drives 100,000 orders a month. These are high margin transactions, sure. But how is this really different from &#8220;I need a new credit card&#8221; or &#8220;where can I get A2 milk&#8221; or &#8220;why will Anthropic not increase my monthly credit limit&#8221;?</p><p>What I&#8217;m saying is that I think that &#8220;answer independence&#8221; is naive and actually a poor consumer experience and a poor advertiser experience. Advertisers are paying you to drive sales. That means you have to change your answers. Google does. Amazon does. Apple does. I&#8217;m trying to think of an ads platform that doesn&#8217;t. If football fans put up with teams putting airline logos on their jerseys, and consumers are willing to pay money to be walking advertisements for clothing companies, I think we can live with an extra sentence or two in our chat responses - a sentence that will generate trillions of dollars of incremental revenue to advertisers and power a monumental ad business for OpenAI.</p><h2>Sponsored Intelligence</h2><p>AI capabilities will be everywhere and, inevitably, will be funded by advertising. The Sponsored Intelligence revolution is upon us, and it will be the defining concept in advertising for decades to come. The trillion dollar sentence - perhaps muttered seductively to you by your AI companion, perhaps embedded in a meta-review of product reviews by Rufus - will underpin an agentic economy that fuels unprecedented economic growth.</p><p>We know that LLMs are (currently) trained by reinforcement learning: when they give a good answer, they get positive reinforcement; when they give a bad answer they get negative reinforcement. Ads in the context of incentives play elegantly into this model. If you have a catalog of offers from advertisers, you can assess how this extra sentence impacts the quality and accuracy of the response AND what the expected revenue will be.</p><p>The consumer team at OpenAI has probably experimented with this and perhaps they&#8217;re not ready to do the trillion dollar sentence yet. But I think they will, and if not, the myriad other AI surfaces will lead them to it. It&#8217;s going to be incredibly exciting.</p><p><strong>To unlock the trillion dollar sentence, Sponsored Intelligence platforms</strong> <strong>need the right incentives</strong>:<strong> privacy first, consumer trust second, and advertiser third.</strong> Platforms that nail these will make so very much money - and their users will keep coming back for more.</p><h2>Implications for the advertising ecosystem</h2><p>Bad news for the &#8220;open internet&#8221; folks: it ain&#8217;t gonna be open and you won&#8217;t be able to buy it programmatically. But you probably knew that already.</p><p>So how can we help OpenAI build ChatGPT into a massive ads business?</p><p>First, we need a way for advertisers to express their goals, standards, creative assets, offers, measurement data, and budgets in ways that Sponsored Intelligence platforms can leverage. This is a universal ads layer that needs to be independent of decisioning logic (since decisioning must happen fully inside the platform). One of the core design principles for the <a href="https://adcontextprotocol.org">Ad Context Protocol</a> was to provide the protocol layer for the next generation of AI-native ads platforms, and I&#8217;m excited to see many of these Sponsored Intelligence ad networks ramping up to launch with AdCP in the weeks to come.</p><p>Second, it looks like OpenAI is considering letting advertisers provide a direct chat experience that consumers can interact with. Love this concept and also have many questions. Will this become an industry standard where you can provide a standardized MCP interface to the chat platform for these interactions? Will we have third party MCP ad servers (see <a href="https://www.firsthand.ai">Firsthand</a>)? We need a <a href="https://github.com/adcontextprotocol/adcp/pull/813">spec for Sponsored Intelligence ads</a>, along with clear guidelines on how PII is handed off.</p><p>Third, we need to convene a bunch of people, quickly, to figure out how this is all going to work.  We need to get all the stakeholders - including advertisers, agencies, AI platforms, ad tech folks, consumer advocates - into a forum to work out a framework for this $100B+ industry that builds on everything we&#8217;ve learned in the past 30 years of digital advertising. I would welcome anyone interested in this to join <a href="https://agenticadvertising.org">AgenticAdvertising.org</a> and jump into the Sponsored Intelligence working group.</p><h2>Machina in deo</h2><p>If you have ever stood in a real-world bookstore looking up reviews of a book on Amazon or Goodreads (as I have) you will know exactly where this is going. We will soon be fully disintermediated from the real world by our devices. Our sponsored AI assistants will be gently and profitably nudging us, that billion dollar sentence ringing in our ears, as we hone in on the perfect book. It&#8217;s the Everywhere Store, the ultimate sponsored link, <em>machina in deo</em>.</p><p>Sponsored Intelligence is coming. The only question is how long it takes until the trillion dollar sentence becomes the greatest ad unit of all time.</p><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>Looking forward to <a href="https://www.youtube.com/watch?v=jfsEgZAtMyc">ad-supported OneMedical subscriptions</a>&#8230;</p></div></div>]]></content:encoded></item><item><title><![CDATA[Agentic Advertising is for Allocation]]></title><description><![CDATA[&#8220;OpenRTB is a protocol for day trading; AdCP is a protocol for investing&#8221; - Benjamin Masse]]></description><link>https://bokonads.com/p/agentic-advertising-is-for-allocation</link><guid isPermaLink="false">https://bokonads.com/p/agentic-advertising-is-for-allocation</guid><dc:creator><![CDATA[Brian O'Kelley]]></dc:creator><pubDate>Sun, 11 Jan 2026 16:02:10 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!wxMx!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79f654e6-9040-43a7-9f4f-25e68c67d82d_675x675.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Programmatic was invented to solve a problem with remnant ad impressions. How could publishers know, for a particular impression, which ad network would pay them the most money? We still struggle with this question, which is why mediation companies like <a href="https://cloudx.io">CloudX</a> are raising huge rounds and AppLovin is so valuable.</p><p>Premium publishers and brand advertisers have a different set of questions, much more akin to other capacity-constrained markets like hotel rooms and airplane tickets: given a limited amount of inventory or budget, how do we allocate to maximize our returns?</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://bokonads.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading BOK on Ads (and Climate)! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>Quants vs PMs</h2><p>In the finance world, quants are the maths people. They build complicated algorithms and obsess about how to get an edge when they execute them. Portfolio managers are the investors who evaluate fund managers and companies to decide how to allocate their clients&#8217; money.</p><p>RTB is for quants to put a complex algorithm on the edge of the internet. AdCP is for portfolio managers to allocate our money to maximize returns. This allocation problem requires a set of tools to:</p><ul><li><p>Discover investment opportunities</p></li><li><p>Transact with funds and companies</p></li><li><p>Monitor performance</p></li></ul><p>Programmatic advertising is built for quantitative buying of individual impressions. This solves a real problem, just as on Wall Street there are entire companies built around high-frequency trading and quantitative finance.</p><p>On the flip side, the vast majority of finance - and advertising - operates on longer timeframes - from venture capital and private equity to mutual funds and ETFs. Portfolio managers can and do allocate to quants, and often make a ton of money doing so, just as agencies allocate to programmatic trading desks.</p><p>Programmatic, like high-frequency trading, solved scale through standardization: if every impression or ticker symbol looks the same, machines can trade them. But the majority of advertising, like finance, isn&#8217;t standardized&#8212;it&#8217;s negotiated. Sponsorships, upfronts, custom integrations, premium placements. These require judgment, context, and back-and-forth. Until now, that meant humans, which meant cost, which meant you could only work with a handful of partners.</p><p>Agents change the economics. They can interpret a rate card, negotiate terms, adapt to a publisher&#8217;s specific workflow, and execute&#8212;without requiring every seller to conform to a single protocol. This is why an advertiser can go from buying 3 platforms to 20 publishers without tripling their team. The constraint was never technology. It was the cost of complexity. Agents collapse that cost.</p><p>Consider: when ChatGPT adds advertising, will it share user data with the open market to solicit programmatic bids? Or will it offer advertisers an AdCP-enabled API where it uses its proprietary data to drive outcomes? The answer is obvious&#8212;and it&#8217;s the same reason Snap and Pinterest don&#8217;t open up to RTB. Programmatic would commoditize their differentiation: their ad formats, their first-party data, their ability to optimize toward outcomes rather than impressions. Same for retail media networks, where the real value is closed-loop measurement and optimization from POS data&#8212;something RTB can&#8217;t price.</p><p>RTB&#8217;s objective function is the impression. But advertisers don&#8217;t buy impressions; they buy outcomes. Allocation lets media companies compete on what they&#8217;re actually good at: turning advertiser dollars into consumer eyeballs and purchases.</p><h2>Allocation vs Valuation</h2><p>The fundamental question that a programmatic trader has to answer is &#8220;what is this impression worth?&#8221;</p><p>The fundamental question that a portfolio manager has to answer is &#8220;how much should I allocate?&#8221;</p><p>This confuses ad tech people who have grown up in programmatic. Why do agencies and marketing folks not obsess about the nitty gritty of targeting, audience data, and supply paths? Why don&#8217;t they care about the inefficiencies of programmatic?</p><p>What would you rather have: a fund that returns 20% a year and charges you 6%, or a fund returning 5% a year that charges you 1%?</p><p>What this means will be painful to ad tech people: at the end of the day, every supplier is just another fund (ad network!) to allocate to. In finance terms, everything looks like an investment. All that matters is what the return is (and if you get sophisticated, correlations and risk).</p><p>Portfolio managers don&#8217;t care what you paid for an impression. They do care whether, in aggregate, the impressions they buy drive business outcomes.</p><p>Portfolio managers don&#8217;t care whether your supply chain is efficient. They do care about the overall effectiveness of their media investment.</p><p>Portfolio managers have a simple question: does a given media investment drive people to purchase my product (short term), consider my product (medium term), or like my brand (long term)? And how does this investment compare to other places I could put my money?</p><h2>Agentic is for Allocation</h2><p>Again from Benjamin Masse:</p><blockquote><p>Agentic advertising doesn&#8217;t just move us from trading to allocation, it also breaks the ID-only, short-horizon worldview baked into real-time bidding. RTB isn&#8217;t just day-trading tech: it&#8217;s a snapshot protocol that can only reason about users and moments. </p><p>That&#8217;s why both walled gardens <em>and</em> MFA sites won: they optimized exactly what the protocol could see, while walled gardens could additionally layer their own internal yield management on fully traceable users.</p><p>Agentic advertising closes that <em>intelligence gap</em> by letting the market reason about things PMs actually care about long term:<br>&#8211; narrative horizon (time, repetition, shelf-life)<br>&#8211; institutional trust (environment as part of the message)<br>&#8211; relationship provenance over surveillance<br>&#8211; outcome feedback over months, not clicks</p><p>In that sense, AdCP really provides the <strong>allocation / reasoning layer</strong> &#8212; which also makes it a clean on-ramp for GenAI/LLM-native ad systems entering an ad-supported world, <em>and</em> a more viable long-term paradigm for premium publishers on the open internet.</p></blockquote><p>AdCP works for linear TV and CTV. AdCP works for out of home and digital out of home. AdCP works for social platforms and media companies. It works for premium inventory and bundles as well as remnant.</p><p>The mission of AdCP is to be a protocol for ALL of advertising, not just for the part you can auction in real time. As Terry Kawaja says, the Total Addressable Market here is massive - and the opportunity to accelerate the global economy.</p><h2>Agentic advertising increases ROAS</h2><p>Portfolio theory tells us that we need to look across a set of investments to make optimal decisions because 1) many investments are correlated with each other, 2) investments operate on different timeframes, and 3) we can&#8217;t predict the future.</p><p>These principles clearly apply to advertising. Ad buys overlap across channels and within channels. If you&#8217;re saturating St. Louis with TV buys, that has a major impact on your digital spend. Upfronts are an illiquid investment, as are many forms of sponsorship. And we can&#8217;t seem to figure out backward-looking measurement, much less a model for prediction.</p><p>Assembling a media plan is building a portfolio. Agencies have investment teams that evaluate suppliers and negotiate with them.</p><p>Agents are optimal for complex decisions that involve reasoning, interaction, and context, whether on the buy side or sell side. AdCP is built to help publishers, platforms, and agencies maximize portfolio value through negotiation and allocation.</p><p>Will AdCP improve my returns on advertising? Can it:</p><ul><li><p>Surface more and better ad products for advertisers to invest in</p></li><li><p>Lower transaction friction and costs across a diverse portfolio of products</p></li><li><p>Make more effective allocation decisions across the portfolio</p></li></ul><p><strong>Today, most advertisers buy effectively from 3-5 platforms because execution costs scale with complexity. Instead of requiring a team to scale, agents make it a workflow. Diversify to 20 suppliers and portfolio theory does the rest.</strong></p><p>Agentic advertising provides automation, tools, and intelligence to parts of the industry that haven&#8217;t been served well by ad tech. Agentic advertising is the allocation layer for a $1T industry that could be $2T if we improve discovery, execution, and allocation at scale. This is the performance play: not adding more compute to tweak individual bids; reallocating spend at a macro level to find billions of dollars of opportunity.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://bokonads.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading BOK on Ads (and Climate)! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[The AI LUMAscape needs more commerce, more orchestration, and more white space]]></title><description><![CDATA[How will AI transform the advertising landscape? What are the big questions we need to answer? We're gonna need bigger boxes...]]></description><link>https://bokonads.com/p/thoughts-on-the-ai-lumascape</link><guid isPermaLink="false">https://bokonads.com/p/thoughts-on-the-ai-lumascape</guid><dc:creator><![CDATA[Brian O'Kelley]]></dc:creator><pubDate>Thu, 20 Nov 2025 13:12:37 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/179443225/38e85919d1bd21a12f11f3c3124f3079.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p>For 15 years we&#8217;ve been using the LUMAscape as a framework to think about ad tech. It&#8217;s a brilliant piece of market definition that helped create and fuel the programmatic revolution.</p><p>Today, as a similar revolution erupts around us, we are all grasping for ways to understand what&#8217;s happening. Terry Kawaja and LUMA took a first cut at an AI LUMAscape which they acknowledge is a work in progress. This is a bit stream of consciousness, but perhaps helpful as they - and the rest of us - get our heads around where we are, where we&#8217;re going, and what we need to figure out together.</p><p>Here&#8217;s the framework I use in the video:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!jFti!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7030e41-b4b4-4931-8536-7cb724abe3e0_3307x1407.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jFti!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7030e41-b4b4-4931-8536-7cb724abe3e0_3307x1407.png 424w, https://substackcdn.com/image/fetch/$s_!jFti!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7030e41-b4b4-4931-8536-7cb724abe3e0_3307x1407.png 848w, https://substackcdn.com/image/fetch/$s_!jFti!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7030e41-b4b4-4931-8536-7cb724abe3e0_3307x1407.png 1272w, https://substackcdn.com/image/fetch/$s_!jFti!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7030e41-b4b4-4931-8536-7cb724abe3e0_3307x1407.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jFti!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7030e41-b4b4-4931-8536-7cb724abe3e0_3307x1407.png" width="1456" height="619" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c7030e41-b4b4-4931-8536-7cb724abe3e0_3307x1407.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:619,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:213915,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://bokonads.com/i/179443225?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7030e41-b4b4-4931-8536-7cb724abe3e0_3307x1407.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!jFti!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7030e41-b4b4-4931-8536-7cb724abe3e0_3307x1407.png 424w, https://substackcdn.com/image/fetch/$s_!jFti!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7030e41-b4b4-4931-8536-7cb724abe3e0_3307x1407.png 848w, https://substackcdn.com/image/fetch/$s_!jFti!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7030e41-b4b4-4931-8536-7cb724abe3e0_3307x1407.png 1272w, https://substackcdn.com/image/fetch/$s_!jFti!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7030e41-b4b4-4931-8536-7cb724abe3e0_3307x1407.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p>]]></content:encoded></item><item><title><![CDATA[AdCP Basics: Creating a trusted advertising supply chain using adagents.json]]></title><description><![CDATA[How do I advertise on this property? How do I know that I'm actually buying what I think I'm buying?]]></description><link>https://bokonads.com/p/adcp-basics-authorized-properties</link><guid isPermaLink="false">https://bokonads.com/p/adcp-basics-authorized-properties</guid><dc:creator><![CDATA[Brian O'Kelley]]></dc:creator><pubDate>Mon, 27 Oct 2025 12:30:34 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!FXpJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8dd9d58d-e5fa-4e65-8b32-a45b8fa78e18_2456x1194.heic" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>The simplest way I can describe the Ad Context Protocol (AdCP) is that it attempts to make an agentic storefront for every publisher, platform, ad network, anybody who sells ads. It lets the agent discover ad products, place and manage a buy, get reporting, and even provide feedback on what&#8217;s working or not.</p><p>Over the course of a few posts, I&#8217;m going to walk through each step of this process. I will try to make it as interesting as possible and not completely technical. But I also feel like it&#8217;s important, as with any new protocol, to understand the details and get into the nitty-gritty.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://bokonads.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading BOK on Ads (and Climate)! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>And I&#8217;ll also say up front that this is all evolving and changing! So if you&#8217;re reading this in the future, please check out <a href="https://adcontextprotocol.org">https://adcontextprotocol.org</a> for the latest updates.</p><h2>TL;DR</h2><p>If you don&#8217;t feel like reading this whole thing, here&#8217;s what you need to know: AdCP requires publishers to register sales agents publicly using an adagents.json file. It is <a href="https://testing.adcontextprotocol.org/adagents.html">easy</a> to set up. It&#8217;s easy for buyers and their agents to use. And it protects publishers and advertisers from the misrepresentation and shenanigans that have plagued programmatic advertising from the beginning.</p><h2>Provenance and trust</h2><p>For the entire 20 year lifetime of the programmatic ad industry, it&#8217;s been effectively impossible - even with initiatives like ads.txt and concerted effort from the ANA - to answer some simple questions:</p><ul><li><p>What platforms let me buy property x?</p></li><li><p>If I see property x in an ad buy, is it legit?</p></li></ul><p>Agentic advertising gives us the chance to start over. We can build supply provenance <em>into the protocol</em>.</p><p>There are two parts to this:</p><ul><li><p>Each publisher provides a list of the sales agents that they authorize to sell their inventory (see adagents.json)</p></li><li><p>Each sales agent provides a list of publishers that they represent (see list_authorized_properties)</p></li></ul><p>This provides clear provenance in both directions, answering both of the questions above. If you want to know if a sales agent represents a property, see if it&#8217;s mentioned in the adagents.json file. If you want to know which properties a sales agent represents, ask it&#8230; then verify by looking at the adsagents.json file for each publisher.</p><p>Will publishers comply? Yes, for the same reason that Louis Vuitton has a team of lawyers looking for fake handbags and Hollywood has a team of lawyers looking for unauthorized use of their films. It&#8217;s in their interest to prevent anyone else selling their content. It creates scarcity, it provides control, and it drives increased yield.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!FXpJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8dd9d58d-e5fa-4e65-8b32-a45b8fa78e18_2456x1194.heic" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!FXpJ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8dd9d58d-e5fa-4e65-8b32-a45b8fa78e18_2456x1194.heic 424w, https://substackcdn.com/image/fetch/$s_!FXpJ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8dd9d58d-e5fa-4e65-8b32-a45b8fa78e18_2456x1194.heic 848w, https://substackcdn.com/image/fetch/$s_!FXpJ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8dd9d58d-e5fa-4e65-8b32-a45b8fa78e18_2456x1194.heic 1272w, https://substackcdn.com/image/fetch/$s_!FXpJ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8dd9d58d-e5fa-4e65-8b32-a45b8fa78e18_2456x1194.heic 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!FXpJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8dd9d58d-e5fa-4e65-8b32-a45b8fa78e18_2456x1194.heic" width="1456" height="708" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8dd9d58d-e5fa-4e65-8b32-a45b8fa78e18_2456x1194.heic&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:708,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:115659,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/heic&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://bokonads.com/i/176810982?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8dd9d58d-e5fa-4e65-8b32-a45b8fa78e18_2456x1194.heic&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!FXpJ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8dd9d58d-e5fa-4e65-8b32-a45b8fa78e18_2456x1194.heic 424w, https://substackcdn.com/image/fetch/$s_!FXpJ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8dd9d58d-e5fa-4e65-8b32-a45b8fa78e18_2456x1194.heic 848w, https://substackcdn.com/image/fetch/$s_!FXpJ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8dd9d58d-e5fa-4e65-8b32-a45b8fa78e18_2456x1194.heic 1272w, https://substackcdn.com/image/fetch/$s_!FXpJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8dd9d58d-e5fa-4e65-8b32-a45b8fa78e18_2456x1194.heic 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><a href="https://testing.adcontextprotocol.org/adagents.html">adagents.json validation tool</a></figcaption></figure></div><h2>adagents.json</h2><p>Let&#8217;s say our ad buying agent wants to advertise on a property, say CNN. How do we know where we can find their agentic storefront (aka, their sales agent)?</p><p>We look for an adagents.json file on a standard URL: <code>[publisher-domain]/.well-known/adagents.json</code></p><p>This file tells us which sales agents offer CNN inventory. Since CNN controls their domain, we can be confident that this list of sales agents are authorized to sell CNN.</p><p>What is in the adagents.json file? Let&#8217;s look at the <a href="https://adcontextprotocol.org/docs/media-buy/capability-discovery/adagents">tech spec</a>.</p><pre><code><code>{
  &#8220;contact&#8221;: {...},           // Who manages this file
  &#8220;properties&#8221;: [...],        // What properties are managed
  &#8220;tags&#8221;: {...},              // Groups of properties  
  &#8220;authorized_agents&#8221;: [...]  // Which agents can sell them
}</code></code></pre><p>Let&#8217;s start with contact. This tells us who is responsible for this adagents.json file, generally the publisher but potentially a third-party or sales house.</p><pre><code>{
  &#8220;contact&#8221;: {
    &#8220;name&#8221;: &#8220;CNN Advertising Operations&#8221;,
    &#8220;email&#8221;: &#8220;adops@cnn.com&#8221;,
    &#8220;seller_id&#8221;: &#8220;pub-cnn-12345&#8221;,  // From sellers.json
    &#8220;tag_id&#8221;: &#8220;67890&#8221;               // TAG Certified Against Fraud ID
  }
}</code></pre><p>Next, what properties are managed by this file? CNN has CTV apps and websites. Note that <code>www.cnn.com</code> and <code>m.cnn.com</code> are automatically included in the root domain, but any other subdomain must be explicitly included. This prevents CNN from, for instance, putting up <code>z.cnn.com</code>, routing it to a third party, and having buyers accidentally buy that inventory as if it&#8217;s part of the main CNN site.</p><p>If we want, we can also group properties using tags like <code>mobile_sites</code> or <code>ctv_apps</code> which would be useful for a very large publisher that has hundreds or thousands of properties.</p><pre><code>{
  &#8220;properties&#8221;: [
    {
      "property_id": "cnn_ctv_app",
      &#8220;property_type&#8221;: &#8220;ctv_app&#8221;,
       &#8220;name&#8221;: &#8220;CNN CTV App&#8221;,
       &#8220;identifiers&#8221;: [
         {&#8221;type&#8221;: &#8220;roku_store_id&#8221;, &#8220;value&#8221;: &#8220;12345&#8221;},
         {&#8221;type&#8221;: &#8220;fire_tv_asin&#8221;, &#8220;value&#8221;: &#8220;B00ABC123&#8221;},
         {&#8221;type&#8221;: &#8220;apple_tv_bundle&#8221;, &#8220;value&#8221;: &#8220;com.cnn.tv&#8221;}
       ]
    }.
    {
      "property_id": "cnn_us",
      &#8220;property_type&#8221;: &#8220;website&#8221;,
      &#8220;name&#8221;: &#8220;CNN.com US&#8221;,
      &#8220;identifiers&#8221;: [
        {&#8221;type&#8221;: &#8220;domain&#8221;, &#8220;value&#8221;: &#8220;cnn.com&#8221;}
      ]
    },
    {
      "property_id": "cnn_international",
      &#8220;property_type&#8221;: &#8220;website&#8221;,
      &#8220;name&#8221;: &#8220;CNN International&#8221;,
      &#8220;identifiers&#8221;: [
        {&#8221;type&#8221;: &#8220;domain&#8221;, &#8220;value&#8221;: &#8220;edition.cnn.com&#8221;}
      ]
    }
  ]
}</code></pre><p>Finally, the most important part: what agents are authorized to sell this inventory? Note the free text &#8220;authorized_for&#8221; field. This is useful in cases where an ad network controls a particular placement - think Taboola or Outbrain at the bottom of the page.</p><pre><code>&#8220;authorized_agents&#8221;: [
    {
      &#8220;url&#8221;: &#8220;https://cnn-ctv-agent.cnn.com&#8221;,
      &#8220;authorized_for&#8221;: &#8220;All CTV formats in the US&#8221;,
      &#8220;property_ids&#8221;: [&#8221;cnn_ctv_app&#8221;]
    }
  ]</code></pre><p>This may seem like a lot to do to answer the simple question: how do I buy ads from CNN? But it&#8217;s worth it. We can be confident that we&#8217;re buying from an authorized storefront that has CNN&#8217;s permission and blessing to sell their ads.</p><h2>list_authorized_properties</h2><p>So we know which sales agents represent CNN. How do we go the other direction, and find out what publishers a sales agent represents?</p><p>The <code>list_authorized_properties</code> tool (or skill in A2A terminology) lets a sales agent share the properties it represents, as well as general information about the countries and channels it does business in. This helps buying agents know 1) does this sales agent have the inventory I want and 2) does this sales agent operate where I want to buy ads.</p><h3>Request</h3><p>The buying agent makes a simple call to the sales agent:</p><pre><code>{
  &#8220;tool&#8221;: &#8220;list_authorized_properties&#8221;,
  &#8220;arguments&#8221;: {}
}</code></pre><h3>Response</h3><p>The sales agent responds with a list of publishers where it is authorized to sell inventory. This list is not authoritative! The buyer needs to go check these publisher domains to find out what this sales agent is authorized to sell.</p><p>The sales agent also responds with its primary channels and countries to help buyers decide whether to it makes sense to include it in future requests:</p><pre><code>{
  &#8220;publisher_domains&#8221;: [&#8221;cnn.com&#8221;, &#8220;espn.com"],
  &#8220;primary_channels&#8221;: [&#8221;ctv&#8221;],
  &#8220;primary_countries&#8221;: [&#8221;US&#8221;],
  &#8220;portfolio_description&#8221;: &#8220;CTV specialist for news and sports publishers&#8221;
}</code></pre><p>I won&#8217;t go into ad products yet - that&#8217;s for next time - but when a buyer queries a sales agent, each ad product will list its included properties. These properties <strong>must</strong> be checked against the adagents.json file to ensure that this sales agent is authorized to sell them. In the future, I&#8217;d love to see signed delivery as a core feature of the ad delivery process to close the loop all the way to the edge - but again, that&#8217;s for a future discussion.</p><h2>Implementation</h2><p>So what does this mean practically?</p><p>As a buyer agent, I need to:</p><ul><li><p>Before I buy an ad product from a sales agent, check the adagents.json for the underlying publishers and make sure the sales agent is authorized (try this <a href="https://www.npmjs.com/package/@adcp/client">npm library</a>)</p></li></ul><p>As a publisher, I need to:</p><ul><li><p>Publish and maintain an adagents.json file (try this <a href="https://testing.adcontextprotocol.org/adagents.html">adagents.json generator</a>)</p></li></ul><p>As a sales agent, I need to:</p><ul><li><p>Make sure my publishers have adagents.json properly configured before I include them in my ad products (built into the <a href="https://sales-agent.scope3.com">open source sales agent</a> that many publishers are using)</p></li></ul><p>The community will continue to evolve more tools, like a <a href="https://github.com/adcontextprotocol/registry">registry</a> to automate the discovery and validation of authorized agents.</p><h2>Final thoughts</h2><p>Like the rest of AdCP, this is a work in progress. Much thought has gone into making this as flexible and powerful as possible, and especially to build in the context of a post-web world where domains aren&#8217;t the primary entry point to digital content. However, we definitely haven&#8217;t thought of everything, or anything close to it. If you&#8217;re curious about the protocol, have thoughts, ideas, feedback, criticisms, whatever&#8230; please get involved. There&#8217;s an <a href="https://join.slack.com/t/agenticads/shared_invite/zt-3h15gj6c0-FRTrD_y4HqmeXDKBl2TDEA">active slack group</a> where we&#8217;re working on how to develop the protocol and tooling around it, build training and education for the industry at large, and explore the new things that AI is enabling us to do.</p><p>Building a safe and sustainable media and advertising ecosystem starts with this community of collaboration and innovation. Thank you for taking the time to get into the weeds, and I&#8217;m excited to learn together as we build the future of advertising.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://bokonads.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading BOK on Ads (and Climate)! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[The Universal Ads API]]></title><description><![CDATA[Introducing AdCP: an open standard for agentic advertising]]></description><link>https://bokonads.com/p/the-universal-ads-api</link><guid isPermaLink="false">https://bokonads.com/p/the-universal-ads-api</guid><dc:creator><![CDATA[Brian O'Kelley]]></dc:creator><pubDate>Wed, 15 Oct 2025 15:03:03 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/b2fed6a0-ae7f-4e43-af35-d199a08d64b2_1830x840.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Every major social media company has an ads API, where anybody - small business or large agency - can log in and buy advertising. (Of course, these APIs have self-service interfaces on top of them, but let&#8217;s consider those &#8220;human APIs&#8221; for the purposes of this discussion!)</p><p>These APIs are <strong>native</strong>: they&#8217;re built for the formats that best fit the underlying content. They are built for <strong>outcomes</strong>: they generally have pricing, targeting, optimization, and workflows that help advertisers achieve something tangible. And they&#8217;re <strong>open</strong>: any advertiser can set up an account and buy ads, assuming they get through some policy checks.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://bokonads.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading BOK on Ads (and Climate)! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>We in the ad tech industry like to say that these social platforms are walled gardens because they won&#8217;t let us run programmatic auctions and third-party creatives on their inventory. This fight for &#8220;openness&#8221; is universal: why won&#8217;t Apple let me side-load apps on my iPhone? Why won&#8217;t Netflix put its content on my local cable network?</p><p>I think if companies want to invest an immense amount of care and money to make it as easy as possible to get great results from their product, that&#8217;s fantastic. As an Apple fanboy for almost 40 years, I learned about kerning while my PC friends were trying to figure out which side of the mouse pointed up. You go mess with Google Ads; I&#8217;ll just click &#8220;Boost&#8221; on my YouTube video and watch the views roll in.</p><p><strong>Why doesn&#8217;t every publisher have an ads API that helps advertisers take full advantage of their unique capabilities?</strong></p><p>Actually, most do: it&#8217;s a salesperson who spends countless hours inside of agencies, educating media buyers and planners, tied to a media buying process that could still be performed using fax machines.</p><p>Of course, the human API is expensive and doesn&#8217;t scale. Why not expose a real API and ad buying platform? Many, many have tried - for instance Vox&#8217;s Concert ad manager - but they require agencies to learn new tools or to find scarce technical resources to plug in. There are third party solutions, whether sell-side like DanAds or buy-side like Smartly, but these demonstrate the exact problem: Smartly - whose entire purpose is to integrate with ads APIs - only supports <strong>eight</strong> platforms.</p><h2>Introducing the Ad Context Protocol</h2><p>It seems impossible to have an ads API that is <strong>standardized</strong> and <strong>native</strong>. Programmatic standardized buying ads by commoditizing inventory, reducing ads to their lowest common denominator. Social made ads fully native, but there&#8217;s no standardized way to buy them.</p><p>But then <a href="https://modelcontextprotocol.io/docs/getting-started/intro">Model Context Protocol</a> (MCP) changed everything. In simple terms, MCP is a self-describing API. You (or your agent) can ask an MCP server: &#8220;so what can you do&#8221; and it will tell you.</p><p>This solves half of the standardized native problem: we can ask every publisher and platform what their ads API can do. The job of the publisher is no longer to build a media kit with fancy powerpoint slides; <strong>the job of the publisher is to make an API that lets an advertiser drive outcomes using their native capabilities.</strong></p><p>The other half of the problem is that buyers still need to make sense of all of the different capabilities, make some decisions, and buy the ads. To do this, we need to layer some advertising primitives on top of the MCP protocol so that the back and forth <strong>process</strong> between the buyer (agent) and the seller (agent) is the same every time.</p><p>These standardized primitives to generalize and standardize the ad buying process are the Ad Context Protocol, or AdCP:</p><ul><li><p><strong>Get Products</strong>: What ad products can I buy from you? What pricing models and currencies do you support?</p></li><li><p><strong>Create Media Buy</strong>: I want to buy some of the ad products you showed me (also <strong>update media buy</strong> to make changes)</p></li><li><p><strong>Sync Creatives</strong>: I have some creative assets that I want to share with you that you can use for my ads (potentially generating the actual creative as appropriate)</p></li><li><p><strong>Get Media Buy Delivery</strong>: I want to get reporting on how my media buys are doing</p></li><li><p><strong>Provide Performance Feedback</strong>: I want to tell you how my media buys are working so you can optimize for my actual goals</p></li></ul><p>For creatives, there are three primitives:</p><ul><li><p><strong>List Creative Formats</strong>: What formats do you support? What assets do they need?</p></li><li><p><strong>Preview Creative: </strong>Show me how my creatives will look in various contexts</p></li><li><p><strong>Build Creative</strong>: Make me a creative based on my brand guidelines, product catalog, and other assets</p></li></ul><p>Companies can access and activate their own data through prompts:</p><ul><li><p><strong>Get Signals</strong>: What data (contextual, audience, algorithmic) do you have for my objectives?</p></li><li><p><strong>Activate Signals</strong>: Make this data available on the platform(s) I want to buy on</p></li></ul><p>These primitives work for traditional and digital ads. They work for ads in chatbots and ads on refrigerators. They are open to big agencies and small businesses; to big media and little creators. They are cost-effective and carbon-efficient. They create space for humans (nobody said this had to be a real-time API!) and for AI agents (because &#8220;just works&#8221; is a lot of work). </p><h2>Available soon in an ad platform near you</h2><p>For the past two months, more than 20 companies have been collaborating to build the first version of <a href="https://adcontextprotocol.org">AdCP</a>. It feels to me very similar to the early days of programmatic, when entrepreneurs were building foundational companies that today are household names. What&#8217;s different this time is that it&#8217;s not just startups: some of the largest publishers, platforms, agencies, and marketers are actively involved and helping to move agentic advertising forward.</p><p>As the first pilots launch over the next few weeks, we will all be learning together. The protocol will evolve to support more use cases. A new Lumascape for agentic advertising will emerge. There will be acronyms. There will be problems that we haven&#8217;t thought about. Skeptics will come out of the woodwork. Companies will defend their legacy programmatic business models.</p><p>My prediction, however, is that agentic advertising is too big, too important, and too obvious not to become the dominant paradigm. No advertiser wants to be limited to 8 platforms. No advertiser wants to buy commoditized ads priced for volume. No advertiser wants to pay for the costs and overhead associated with direct sales or programmatic ad tech.</p><p>Agentic advertising - powered by AdCP - will give advertisers what they want: <strong>open, efficient access to content-native advertising that drives outcomes.</strong></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://bokonads.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading BOK on Ads (and Climate)! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Vibe Targeting]]></title><description><![CDATA[Could AI replace targeting entirely? Brian O'Kelley explores the idea of "vibe targeting" where a prompt is all you need to set up a campaign, tracing the evolution of AI ad tech from rebranded machine learning to genuine AI transformation.]]></description><link>https://bokonads.com/p/vibe-targeting</link><guid isPermaLink="false">https://bokonads.com/p/vibe-targeting</guid><dc:creator><![CDATA[Brian O'Kelley]]></dc:creator><pubDate>Tue, 10 Jun 2025 14:30:18 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F640bedf2-75ac-41e5-90fe-3ac33b7230aa_1024x1024.heic" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2>A very brief history of AI in ad tech</h2><p>I&#8217;m writing this in June 2025, so future humans will probably laugh and say &#8220;you had no idea what was coming.&#8221; But let me take a shot. Let&#8217;s start with a quick look at the history of AI in ad tech:</p><h4>Pre-2024: Rebranded machine learning</h4><p>The first cycle of AI was companies rebranding their data science and machine learning efforts as AI. For instance, &#8220;TTD introduced AI-based optimization to its platform through the 2018 launch of Koa. Initially focused on optimizing campaigns, Koa now also features deep neural networks dedicated to several different applications.&#8221;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!wst6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda886b77-d75f-4912-858d-d9f99c7e1b9d_1152x710.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!wst6!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda886b77-d75f-4912-858d-d9f99c7e1b9d_1152x710.png 424w, https://substackcdn.com/image/fetch/$s_!wst6!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda886b77-d75f-4912-858d-d9f99c7e1b9d_1152x710.png 848w, https://substackcdn.com/image/fetch/$s_!wst6!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda886b77-d75f-4912-858d-d9f99c7e1b9d_1152x710.png 1272w, https://substackcdn.com/image/fetch/$s_!wst6!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda886b77-d75f-4912-858d-d9f99c7e1b9d_1152x710.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!wst6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda886b77-d75f-4912-858d-d9f99c7e1b9d_1152x710.png" width="1152" height="710" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/da886b77-d75f-4912-858d-d9f99c7e1b9d_1152x710.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:710,&quot;width&quot;:1152,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:181936,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://bokonads.com/i/165459051?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda886b77-d75f-4912-858d-d9f99c7e1b9d_1152x710.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!wst6!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda886b77-d75f-4912-858d-d9f99c7e1b9d_1152x710.png 424w, https://substackcdn.com/image/fetch/$s_!wst6!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda886b77-d75f-4912-858d-d9f99c7e1b9d_1152x710.png 848w, https://substackcdn.com/image/fetch/$s_!wst6!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda886b77-d75f-4912-858d-d9f99c7e1b9d_1152x710.png 1272w, https://substackcdn.com/image/fetch/$s_!wst6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda886b77-d75f-4912-858d-d9f99c7e1b9d_1152x710.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://bokonads.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading BOK on Ads (and Climate)! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h3>2024: Setup assistant</h3><p>In 2024 the big idea was to add an AI-powered chat box. For instance, <a href="https://www.viantinc.com/viantai/">ViantAI</a>, which lets the user set up a media plan with a conversational UI. You approve the plan and it sets up all of the campaigns and targeting and other objects. When the campaign is running, you can ask it questions about performance and results and it will summarize them for you.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!L7zb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F095f996e-1522-47e7-a432-ca1febe4cadd_2128x920.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!L7zb!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F095f996e-1522-47e7-a432-ca1febe4cadd_2128x920.png 424w, https://substackcdn.com/image/fetch/$s_!L7zb!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F095f996e-1522-47e7-a432-ca1febe4cadd_2128x920.png 848w, https://substackcdn.com/image/fetch/$s_!L7zb!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F095f996e-1522-47e7-a432-ca1febe4cadd_2128x920.png 1272w, https://substackcdn.com/image/fetch/$s_!L7zb!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F095f996e-1522-47e7-a432-ca1febe4cadd_2128x920.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!L7zb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F095f996e-1522-47e7-a432-ca1febe4cadd_2128x920.png" width="1456" height="629" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/095f996e-1522-47e7-a432-ca1febe4cadd_2128x920.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:629,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:789264,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://bokonads.com/i/165459051?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F095f996e-1522-47e7-a432-ca1febe4cadd_2128x920.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!L7zb!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F095f996e-1522-47e7-a432-ca1febe4cadd_2128x920.png 424w, https://substackcdn.com/image/fetch/$s_!L7zb!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F095f996e-1522-47e7-a432-ca1febe4cadd_2128x920.png 848w, https://substackcdn.com/image/fetch/$s_!L7zb!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F095f996e-1522-47e7-a432-ca1febe4cadd_2128x920.png 1272w, https://substackcdn.com/image/fetch/$s_!L7zb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F095f996e-1522-47e7-a432-ca1febe4cadd_2128x920.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3>Early 2025: Agent orchestration</h3><p>In 2025, we&#8217;ve seen every agency and myriad startups announce agent orchestration workflows like this one from <a href="https://www.newtonresearch.ai">Newton Research</a> where an agent sets up a plan and calls out to other agents.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!aPn1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39c6f908-48c1-4a60-b568-5d3f9935e338_1460x1054.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!aPn1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39c6f908-48c1-4a60-b568-5d3f9935e338_1460x1054.png 424w, https://substackcdn.com/image/fetch/$s_!aPn1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39c6f908-48c1-4a60-b568-5d3f9935e338_1460x1054.png 848w, https://substackcdn.com/image/fetch/$s_!aPn1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39c6f908-48c1-4a60-b568-5d3f9935e338_1460x1054.png 1272w, https://substackcdn.com/image/fetch/$s_!aPn1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39c6f908-48c1-4a60-b568-5d3f9935e338_1460x1054.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!aPn1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39c6f908-48c1-4a60-b568-5d3f9935e338_1460x1054.png" width="1456" height="1051" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/39c6f908-48c1-4a60-b568-5d3f9935e338_1460x1054.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1051,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1095370,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://bokonads.com/i/165459051?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39c6f908-48c1-4a60-b568-5d3f9935e338_1460x1054.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!aPn1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39c6f908-48c1-4a60-b568-5d3f9935e338_1460x1054.png 424w, https://substackcdn.com/image/fetch/$s_!aPn1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39c6f908-48c1-4a60-b568-5d3f9935e338_1460x1054.png 848w, https://substackcdn.com/image/fetch/$s_!aPn1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39c6f908-48c1-4a60-b568-5d3f9935e338_1460x1054.png 1272w, https://substackcdn.com/image/fetch/$s_!aPn1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39c6f908-48c1-4a60-b568-5d3f9935e338_1460x1054.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>A very brief history of ad tech in diagrams</h2><p>I like diagrams, so let&#8217;s look at those systematically (and thank you to Anne Coghlan for helping me with these!)</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!n_Qt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02c615f8-f00f-457e-8874-68bb14470141_1376x2576.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!n_Qt!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02c615f8-f00f-457e-8874-68bb14470141_1376x2576.png 424w, https://substackcdn.com/image/fetch/$s_!n_Qt!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02c615f8-f00f-457e-8874-68bb14470141_1376x2576.png 848w, https://substackcdn.com/image/fetch/$s_!n_Qt!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02c615f8-f00f-457e-8874-68bb14470141_1376x2576.png 1272w, https://substackcdn.com/image/fetch/$s_!n_Qt!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02c615f8-f00f-457e-8874-68bb14470141_1376x2576.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!n_Qt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02c615f8-f00f-457e-8874-68bb14470141_1376x2576.png" width="1376" height="2576" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/02c615f8-f00f-457e-8874-68bb14470141_1376x2576.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:2576,&quot;width&quot;:1376,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:177296,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://bokonads.com/i/165459051?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02c615f8-f00f-457e-8874-68bb14470141_1376x2576.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!n_Qt!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02c615f8-f00f-457e-8874-68bb14470141_1376x2576.png 424w, https://substackcdn.com/image/fetch/$s_!n_Qt!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02c615f8-f00f-457e-8874-68bb14470141_1376x2576.png 848w, https://substackcdn.com/image/fetch/$s_!n_Qt!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02c615f8-f00f-457e-8874-68bb14470141_1376x2576.png 1272w, https://substackcdn.com/image/fetch/$s_!n_Qt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02c615f8-f00f-457e-8874-68bb14470141_1376x2576.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Following that flow, it seems like the next step is clear: targeting goes AI. It makes sense. The current targeting experience is immensely complicated. It requires an entire <a href="https://www.thetradedesk.com/resources/introducing-the-programmatic-table">periodic table</a> to understand. Hundreds of vendors selling data. Thousands of PMPs. Millions of websites. AOTW (that&#8217;s Acronyms Out The Wazoo if you&#8217;re not familiar with it).</p><h2>Targeting via Taxonomy</h2><p>Think of a brand. Think of a product. Write a few sentences describing a target customer. Got it?</p><p>Here&#8217;s mine, possibly based on what I see in the mirror. Let&#8217;s call this our &#8220;brand story&#8221; - one of multiple or many that we might have based on consumer research, product marketing, and other data:</p><pre><code>Vibram Five Fingers running shoes for men looking to reconnect with their inner athlete, probably after they read the book "Born to Run." They are not in great shape but are trying very hard, are iconoclastic enough to not care how ridiculous they look wearing them, and are probably the kind of people who try other unusual diets and methods like Keto, intermittent fasting, and other fads going around the health-industrial complex.</code></pre><p>Ok, now here&#8217;s the Amazon targeting interface in their DSP:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!c9mQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45b4578f-b937-4283-942e-cca7dcefe1dd_1024x500.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!c9mQ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45b4578f-b937-4283-942e-cca7dcefe1dd_1024x500.png 424w, https://substackcdn.com/image/fetch/$s_!c9mQ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45b4578f-b937-4283-942e-cca7dcefe1dd_1024x500.png 848w, https://substackcdn.com/image/fetch/$s_!c9mQ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45b4578f-b937-4283-942e-cca7dcefe1dd_1024x500.png 1272w, https://substackcdn.com/image/fetch/$s_!c9mQ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45b4578f-b937-4283-942e-cca7dcefe1dd_1024x500.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!c9mQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45b4578f-b937-4283-942e-cca7dcefe1dd_1024x500.png" width="1024" height="500" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/45b4578f-b937-4283-942e-cca7dcefe1dd_1024x500.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:500,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Amazon DSP targeting - contextual&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Amazon DSP targeting - contextual" title="Amazon DSP targeting - contextual" srcset="https://substackcdn.com/image/fetch/$s_!c9mQ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45b4578f-b937-4283-942e-cca7dcefe1dd_1024x500.png 424w, https://substackcdn.com/image/fetch/$s_!c9mQ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45b4578f-b937-4283-942e-cca7dcefe1dd_1024x500.png 848w, https://substackcdn.com/image/fetch/$s_!c9mQ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45b4578f-b937-4283-942e-cca7dcefe1dd_1024x500.png 1272w, https://substackcdn.com/image/fetch/$s_!c9mQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45b4578f-b937-4283-942e-cca7dcefe1dd_1024x500.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Challenge: what are you going to click to find this audience? Maybe demographic, interest, lifestyle, contextual?</p><p>Here&#8217;s what Claude says:</p><blockquote><p>Looking at the IAB Content Taxonomy, here are the most relevant categories for Vibram running shoes:</p><p><strong>Primary Categories:</strong></p><ul><li><p><strong>Sports &gt; Track and Field</strong> - Since these are running shoes specifically designed for athletic performance</p></li><li><p><strong>Style &amp; Fashion &gt; Men's Fashion &gt; Men's Shoes</strong> and <strong>Women's Fashion &gt; Women's Shoes</strong> - As they are footwear products</p></li><li><p><strong>Healthy Living &gt; Fitness and Exercise</strong> - Given their use in fitness activities and running</p></li></ul><p><strong>Secondary Categories:</strong></p><ul><li><p><strong>Sports &gt; Running and Jogging</strong> - If this subcategory exists in your IAB version</p></li><li><p><strong>Shopping &gt; Sporting Goods</strong> - For e-commerce and retail contexts</p></li><li><p><strong>Hobbies &amp; Interests &gt; Running/Jogging</strong> - For content about running as a hobby</p></li></ul><p><strong>Additional Considerations:</strong></p><ul><li><p><strong>Healthy Living &gt; Wellness</strong> - Since Vibram FiveFingers shoes are often marketed for their biomechanical benefits and "barefoot" running approach</p></li><li><p><strong>Technology &amp; Computing &gt; Consumer Electronics</strong> - Only if focusing on any tech features (like smart insoles or tracking capabilities)</p></li></ul><p>The most appropriate category would depend on the specific context - whether you're categorizing content for advertising, content management, or audience targeting. For pure product categorization, I'd prioritize the Sports/Track and Field or Fitness and Exercise categories, as they best capture the primary use case of these specialized running shoes.</p></blockquote><p>Blerg. That is a lot of random categories. Maybe Healthy Living &#8594; Wellness is the best fit if we want to find content for the <em>kind of person that would be interested in these shoes</em>.</p><h2>Introducing Vibe Targeting</h2><p>What if, instead of having to translate our brand story into a bunch of checkboxes and <a href="https://bokonads.com/p/the-end-of-taxonomy">taxonomies</a>, we could just give the DSP the brand story directly?</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!qPN5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24d3baee-09f1-45f9-aa0d-43779b34fcab_2319x1312.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!qPN5!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24d3baee-09f1-45f9-aa0d-43779b34fcab_2319x1312.png 424w, https://substackcdn.com/image/fetch/$s_!qPN5!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24d3baee-09f1-45f9-aa0d-43779b34fcab_2319x1312.png 848w, https://substackcdn.com/image/fetch/$s_!qPN5!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24d3baee-09f1-45f9-aa0d-43779b34fcab_2319x1312.png 1272w, https://substackcdn.com/image/fetch/$s_!qPN5!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24d3baee-09f1-45f9-aa0d-43779b34fcab_2319x1312.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!qPN5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24d3baee-09f1-45f9-aa0d-43779b34fcab_2319x1312.png" width="1456" height="824" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/24d3baee-09f1-45f9-aa0d-43779b34fcab_2319x1312.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:824,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:408641,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://bokonads.com/i/165459051?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24d3baee-09f1-45f9-aa0d-43779b34fcab_2319x1312.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!qPN5!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24d3baee-09f1-45f9-aa0d-43779b34fcab_2319x1312.png 424w, https://substackcdn.com/image/fetch/$s_!qPN5!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24d3baee-09f1-45f9-aa0d-43779b34fcab_2319x1312.png 848w, https://substackcdn.com/image/fetch/$s_!qPN5!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24d3baee-09f1-45f9-aa0d-43779b34fcab_2319x1312.png 1272w, https://substackcdn.com/image/fetch/$s_!qPN5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24d3baee-09f1-45f9-aa0d-43779b34fcab_2319x1312.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!LjMt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ebfa3f8-e72e-4a21-bff7-cc2abd27a069_2319x1312.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!LjMt!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ebfa3f8-e72e-4a21-bff7-cc2abd27a069_2319x1312.png 424w, https://substackcdn.com/image/fetch/$s_!LjMt!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ebfa3f8-e72e-4a21-bff7-cc2abd27a069_2319x1312.png 848w, https://substackcdn.com/image/fetch/$s_!LjMt!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ebfa3f8-e72e-4a21-bff7-cc2abd27a069_2319x1312.png 1272w, https://substackcdn.com/image/fetch/$s_!LjMt!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ebfa3f8-e72e-4a21-bff7-cc2abd27a069_2319x1312.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!LjMt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ebfa3f8-e72e-4a21-bff7-cc2abd27a069_2319x1312.png" width="1456" height="824" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0ebfa3f8-e72e-4a21-bff7-cc2abd27a069_2319x1312.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:824,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:563676,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://bokonads.com/i/165459051?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ebfa3f8-e72e-4a21-bff7-cc2abd27a069_2319x1312.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!LjMt!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ebfa3f8-e72e-4a21-bff7-cc2abd27a069_2319x1312.png 424w, https://substackcdn.com/image/fetch/$s_!LjMt!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ebfa3f8-e72e-4a21-bff7-cc2abd27a069_2319x1312.png 848w, https://substackcdn.com/image/fetch/$s_!LjMt!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ebfa3f8-e72e-4a21-bff7-cc2abd27a069_2319x1312.png 1272w, https://substackcdn.com/image/fetch/$s_!LjMt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ebfa3f8-e72e-4a21-bff7-cc2abd27a069_2319x1312.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This example shows my prompt being translated into sample articles. This is a contextual example, but of course there&#8217;s no reason this approach wouldn&#8217;t work across all of these targeting types - in fact, I would argue that this is a much more powerful approach because it will pick up new targeting and datasets automatically.</p><p>The most important point is that this isn&#8217;t using our prompt to configure targeting. <strong>Our prompt IS the targeting</strong>.</p><p>And YOU are in charge. YOU build the agent. YOU do the prompt engineering. YOU can copy and paste your prompt, modify it, port it to another platform. YOU are the creative engine. AI just helps you run the darn thing.</p><p>Here&#8217;s a prototype that I vibe coded. It&#8217;s public if you want to <a href="http://storylab.scope3.com">give it a try</a>, you just need a Scope3 account (free!) to log in.</p><div id="youtube2-ERn_1uhd_v4" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;ERn_1uhd_v4&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/ERn_1uhd_v4?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><h3>Building for Vibe</h3><p>How would we practically integrate Vibe Targeting into a DSP? Initially, it will be through third-party products like Scope3 Brand Stories, which will be integrated into the data marketplaces of DV360, Trade Desk, and Amazon DSP by mid-summer. Brands and agencies will log into Scope3 to build and calibrate their prompts. Once they&#8217;re working as expected, users will log into the DSP, set up a campaign, and select their Brand Story in the Scope3 section of the targeting taxonomy.</p><p>Does this become a built-in feature (or the default!) in DSPs so that you don&#8217;t have to leave the DSP to build your prompt? Or does centralized management of prompts, calibration, and fine-tuning become a new product category - the &#8220;third-party prompt server&#8221; - that uses reporting and measurement data from multiple platforms to refine the algorithm?</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!YyAl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9cce4fb5-9dd2-42d2-bc4e-3321ad8f55ed_1376x672.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!YyAl!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9cce4fb5-9dd2-42d2-bc4e-3321ad8f55ed_1376x672.png 424w, https://substackcdn.com/image/fetch/$s_!YyAl!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9cce4fb5-9dd2-42d2-bc4e-3321ad8f55ed_1376x672.png 848w, https://substackcdn.com/image/fetch/$s_!YyAl!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9cce4fb5-9dd2-42d2-bc4e-3321ad8f55ed_1376x672.png 1272w, https://substackcdn.com/image/fetch/$s_!YyAl!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9cce4fb5-9dd2-42d2-bc4e-3321ad8f55ed_1376x672.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!YyAl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9cce4fb5-9dd2-42d2-bc4e-3321ad8f55ed_1376x672.png" width="1376" height="672" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9cce4fb5-9dd2-42d2-bc4e-3321ad8f55ed_1376x672.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:672,&quot;width&quot;:1376,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!YyAl!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9cce4fb5-9dd2-42d2-bc4e-3321ad8f55ed_1376x672.png 424w, https://substackcdn.com/image/fetch/$s_!YyAl!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9cce4fb5-9dd2-42d2-bc4e-3321ad8f55ed_1376x672.png 848w, https://substackcdn.com/image/fetch/$s_!YyAl!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9cce4fb5-9dd2-42d2-bc4e-3321ad8f55ed_1376x672.png 1272w, https://substackcdn.com/image/fetch/$s_!YyAl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9cce4fb5-9dd2-42d2-bc4e-3321ad8f55ed_1376x672.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The most important point is that we have to have guardrails. As Ruben Schreurs says &#8220;A major advertiser can't just vibe code, vibe target, or vibe anything without making absolutely sure they&#8217;re protecting their brand and IP. But if you bring together the option to be storyteller and vibe targeter, with superb controls/guardrails/best practices/compliance etc built in - BOOM.&#8221;</p><p>There are lots of details to work out. The agent needs reporting data to optimize results over time. Campaigns need to be set up around brand stories and their variants. Agency folks need to be trained to <a href="https://www.google.com/url?sa=t&amp;source=web&amp;rct=j&amp;opi=89978449&amp;url=https://info.scope3.com/webinar-prompt-engineering&amp;ved=2ahUKEwjNhaaTjOSNAxUWw_ACHeMpNkYQFnoECBcQAQ&amp;usg=AOvVaw30TdNHO8KgT65WcrcDlwu1">prompt engineer</a>. Ad tech pundits have to weigh in. It&#8217;s a lot! But I&#8217;m pretty confident it&#8217;s going to happen&#8230; and sooner than you think.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!6MiO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F640bedf2-75ac-41e5-90fe-3ac33b7230aa_1024x1024.heic" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!6MiO!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F640bedf2-75ac-41e5-90fe-3ac33b7230aa_1024x1024.heic 424w, https://substackcdn.com/image/fetch/$s_!6MiO!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F640bedf2-75ac-41e5-90fe-3ac33b7230aa_1024x1024.heic 848w, https://substackcdn.com/image/fetch/$s_!6MiO!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F640bedf2-75ac-41e5-90fe-3ac33b7230aa_1024x1024.heic 1272w, https://substackcdn.com/image/fetch/$s_!6MiO!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F640bedf2-75ac-41e5-90fe-3ac33b7230aa_1024x1024.heic 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!6MiO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F640bedf2-75ac-41e5-90fe-3ac33b7230aa_1024x1024.heic" width="1024" height="1024" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/640bedf2-75ac-41e5-90fe-3ac33b7230aa_1024x1024.heic&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1024,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:373095,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/heic&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://bokonads.com/i/165459051?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F640bedf2-75ac-41e5-90fe-3ac33b7230aa_1024x1024.heic&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!6MiO!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F640bedf2-75ac-41e5-90fe-3ac33b7230aa_1024x1024.heic 424w, https://substackcdn.com/image/fetch/$s_!6MiO!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F640bedf2-75ac-41e5-90fe-3ac33b7230aa_1024x1024.heic 848w, https://substackcdn.com/image/fetch/$s_!6MiO!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F640bedf2-75ac-41e5-90fe-3ac33b7230aa_1024x1024.heic 1272w, https://substackcdn.com/image/fetch/$s_!6MiO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F640bedf2-75ac-41e5-90fe-3ac33b7230aa_1024x1024.heic 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://bokonads.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading BOK on Ads (and Climate)! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Chapter 4: Eureka]]></title><description><![CDATA[The dawn of programmatic]]></description><link>https://bokonads.com/p/chapter-4-eureka</link><guid isPermaLink="false">https://bokonads.com/p/chapter-4-eureka</guid><dc:creator><![CDATA[Brian O'Kelley]]></dc:creator><pubDate>Fri, 04 Apr 2025 12:30:51 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!wxMx!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79f654e6-9040-43a7-9f4f-25e68c67d82d_675x675.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h3>The Ad Exchange</h3><p>A few days after we returned from Israel, Elad Efraim called me and said &#8220;we&#8217;re in!&#8221; While we negotiated a contract with Oridian to migrate their entire business to Yield Manager, we started a frenzied effort to make our prototype into a production system. Matt Philips found a European datacenter so we could handle Oridian&#8217;s traffic and bought $100,000 of servers on our personal credit cards. Ed Kozek and his team accelerated efforts to build a user interface where ad networks could set up their campaigns and publishers. I spent my days and evenings furiously writing code, waiting for our quality assurance team in Moscow to wake up so I could tell them what I needed them to work on while I slept.</p><p>In March 2005 we started moving traffic from Oridian&#8217;s ad server to ours, and the bug reports started coming in. Not only was the Yield Manager platform new and inherently buggy, the Oridian business was multinational and much more complex than Right Media&#8217;s network. Many use cases only existed in certain markets or certain types of publishers.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://bokonads.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading BOK on Ads (and Climate)! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>To deal with the onslaught of problems, I would wake up in the morning in my West Village apartment, walk to City Bakery on 18th street to get a platter of pastries, and head to the Oridian office on 17th. The Oridian US team would be in a conference room with the Israel team on the phone and they would proceed to list out all of the problems we needed to fix, only slightly mollified by the croissants and muffins. After an hour absorbing their frustration, I would walk to the Right Media office on 26th and hand out post-it notes to each of the team members with all of the bugs and features that we needed to address. We were completely focused on making Oridian successful as we approached our deadline for a full cutover.</p><p>On April 1 we launched four networks on the Yield Manager platform: the two that had tested with us the prior August, Right Media, and Oridian. The first few hours were a total disaster as a reporting bug made all of the numbers completely wrong for all of the participants. Servers were crashing, causing outages across the thousands of websites with ads from the four networks. Our phones were ringing wildly as frustrated clients and publishers threatened to remove us from their pages.  It was chaos.</p><p>By the next week, things were calming down. The servers stayed up, reporting was working properly, and clients were back to filing bug reports and feature requests. </p><h3>Eureka</h3><p>I began analyzing the reporting, trying to see the impact of moving the Right Media network to the new platform. There were three metrics that mattered. First, were our advertisers getting good results? Second, were our publishers getting paid well? Third, were we making money? Usually these metrics were in conflict: for a network to make money, either the publisher gets paid less or advertisers pay more.</p><p>What I saw was so shocking that I thought there was another reporting bug. Advertisers were paying less for clicks and sales than before. Publishers were getting paid more. And we were making more money as a network. How was this possible?</p><p>I called Elad and asked him how Oridian&#8217;s numbers looked compared to before the flip. &#8220;It looks fantastic! We are making more money and performance metrics are solid.&#8221;</p><p>I walked into Mike Walrath&#8217;s office. I knew he had been smashing F5 for days, watching our numbers obsessively. &#8220;Are you seeing what I&#8217;m seeing?&#8221;</p><p>Mike grinned. &#8220;Yes.&#8221; We stared at each other. What was going on? We started looking at reporting for one web site to try to isolate the situation. Before the flip, this publisher was running ads for 20 of our advertisers, driving decent performance. After the flip, this publisher was running ads for 50 advertisers, including 30 from our partner ad networks.</p><p>We knew that more ads meant more choices for the algorithm to match to users. We also knew that more ads meant that users would see the same ad less frequently, a strong corollary to performance. And we knew that more bids in an auction will generally increase the final clearing price. </p><p>We also looked at revenue from different countries, and here we saw a huge win. Twenty percent of traffic to this website came from Europe. Right Media had a couple of global campaigns which performed very poorly overseas. But with Oridian&#8217;s large base of advertisers in Europe, publishers were seeing massive increases in revenue for their cross-border traffic.</p><p>These publisher revenue increases made sense: even though our partners would take a share of the revenue from their ads running on our network, a larger and more diverse set of advertisers would generally drive up publisher revenue.</p><p>Next, we looked at an advertiser. Before the flip, there were 30 websites that drove the majority of their clicks and sales. After the flip, there were 60 sites driving performance. Instead of buying just Right Media&#8217;s inventory, campaigns could bid on the aggregated inventory across four networks, including the cross-border traffic from Oridian&#8217;s publishers. Having more inventory to choose from meant the bidding algorithm could be more selective. Also, since there was less competition on the cross-border traffic, prices were generally lower than domestic websites.</p><p>Advertiser performance increases made sense too. More diverse inventory to choose from, even with the partner network taking a share of the bid, meant advertisers could be more selective and get more clicks and sales for their money.</p><p>I went back to my office and stared at my screen. Advertisers were seeing better performance. Publishers were making more money. Networks were making more money. I thought about what I knew of economics, of financial markets, of auction theory. We were connecting pools of liquidity into a unified market. It was textbook. It was obvious. And yet&#8230; nobody had done it before.</p><p>As it sunk in, I whispered &#8220;holy shit&#8221; then yelled HOLY FUCKING SHIT and ran out of my office. Pandora&#8217;s box was open. And for that one moment, before all of the horrible consequences, before we named it the ad exchange, before programmatic and privacy and fraud and politics and betrayal and getting fired and divorced, before we cracked the code on monetizing social media and opened the box the whole damn way, for just that moment: it was  glorious.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://bokonads.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading BOK on Ads (and Climate)! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Chapter 3: Selling the Secret Sauce]]></title><description><![CDATA[The big idea and the big trip]]></description><link>https://bokonads.com/p/chapter-3-selling-the-secret-sauce</link><guid isPermaLink="false">https://bokonads.com/p/chapter-3-selling-the-secret-sauce</guid><dc:creator><![CDATA[Brian O'Kelley]]></dc:creator><pubDate>Thu, 03 Apr 2025 12:31:02 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!wxMx!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79f654e6-9040-43a7-9f4f-25e68c67d82d_675x675.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h3>Licensing our tech</h3><p>The biggest event of the ad tech world was a conference called&#8230; Ad:Tech. The New York conference was in November each year. In 2004, it was at the New York Hilton. We couldn&#8217;t afford a booth, but I got a pass to the exhibit hall and decided to walk around looking for potential clients. While there were some large established companies, most of the exhibitors were scrappy, performance-driven companies. There were booth babes, ridiculous costumes, and giveaways. As I walked booth to booth, I would ask each company what it did, hoping we could add them to our network as an advertiser or publisher.</p><p>As I walked around, I realized there were a surprising number of Israeli companies. At one booth, I noticed that one of the employees was a product manager named Elad Efraim. Figuring he was not a sales guy like so many of the other attendees, I asked him why. He explained that the domestic market in Israel is small, and so most Israeli companies service international markets. In addition, Israel has a bunch of excellent technologists due to their mandatory military service and focus on cyber-security and other intelligence-related technology.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://bokonads.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading BOK on Ads (and Climate)! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>I asked Elad what his company did, and he explained that it was an ad network called Cydoor that operated primarily in Europe, selling performance advertising and working with a broad range of publishers. I immediately recognized the similarity to Right Media. Elad&#8217;s role was to manage their ad technology, which was developed by a small team in Tel Aviv, and to help them launch their business in the United States. Since I was effectively in the same job at Right Media, we began comparing notes on how our technology stacks worked. As I explained our real-time predictive algorithm and some of the pricing innovations I had created, Elad started to get excited. He asked me if we had ever considered licensing our technology to other networks.</p><p>To be honest, the idea of licensing our technology had never crossed my mind. I had done absolutely no thinking about whether it was a good idea, whether it was possible, what it might entail. Elad said that he was quietly doing an evaluation of a few technology vendors to see if there might be a platform that they could use instead of building a proprietary system from scratch. Falling back on my consulting experience, I asked him if we could do some basic requirements gathering to see if there might be a fit. He said sure, and we agreed to meet the next week at his office to dig in in more detail. He told me Cydoor was planning to make a decision in February, and I should be clear about what I could deliver in that timeframe.</p><p>The idea of becoming a technology company was thrilling. As an ad network I could imagine us gaining share and growing the business, but there was no way to conquer the market. If other networks would adopt our technology it would enable the real-time auction I had imagined with Yield Manager. Moreover, a technology company powering multiple networks could achieve a majority of the market. Prior to Right Media, I had run a software company, and I knew what it would take to operate a technology business. There were three challenges to overcome. One, our current ad platform would need to be completely overhauled to support multiple networks. Two, I needed to convince Mike that being in the software business was a good idea. Three, we needed to convince Elad and his company that we were the right partner for them.</p><p>I pondered each challenge in turn, and decided to go after Mike first. The next morning, I told him about my meeting with Elad at Ad:Tech. His immediate reaction was to raise his eyebrows. &#8220;Our entire company is built on the our superior algorithm. Why would we give our secret sauce to our competitors?&#8221;</p><p>I explained my reasoning. &#8220;They&#8217;re primarily a European network. We don&#8217;t have any plans to go to Europe. In fact, if we sell them the European traffic that we occasionally get from our US publishers, we&#8217;ll increase our media revenue and get the software revenue.&#8221;</p><p>Mike seemed assuaged by this thought. &#8220;OK, let&#8217;s say we&#8217;re open to going this route. How are you going to convince them to use our tech? And how much work is it going to be to build it?&#8221;</p><p>I didn&#8217;t know the answer to either question yet. I told Mike that I was going to meet with Elad the following week to start gathering requirements, and that I would do some design work over the weekend to figure out what a software platform would look like. He agreed with my plan, and I walked out of his office filled with anticipation.</p><h3>Linking networks</h3><p>That weekend was a blur as I designed a completely new system that could handle multiple networks. Some of the changes were fairly simple, like adding a network ID and associating objects to it. All of the existing objects would be part of network 1, Right Media. This required a series of cascading changes through the system, but all relatively straightforward. More complicated was the need for a second datacenter in Europe. Our technical architecture made the assumption that all of the servers and data were in one place. To change this meant digging through more than a year of code to try to understand what would break or slow down if it ran across two locations.</p><p>As I worked through the technical details, I started to think about what would happen if the two networks bought and sold an impression from each other. If I did nothing, then the first network would get the impression from the publisher, choose its best advertiser, and then serve the ad. But what if the second network had a significantly better advertiser?</p><p>I&#8217;ve always had this concept that world-changing ideas come like thunderbolts. Ben Franklin holding up his kite in a rainstorm. Einstein watching luggage flying off the back of a train.</p><p>The moment that changed online advertising forever&#8230; was just one of many ideas scribbled in my spiral notebook. &#8220;Allow first network to resell impressions to second network if it can pay more.&#8221; After spending months trying to build a true real-time auction for publishers, my mind was firmly in the land of real-time valuation, trying to find the highest-paying advertiser across multiple networks. It was almost obvious to extend this concept to my multi-network ad server. I could do real-time predictions; I could do real-time auctions; now I could do real-time auctions across multiple networks. I named this feature &#8220;linked networks&#8221; and continued to design the rest of the system.</p><p>The next week I went to Cydoor&#8217;s office on 17th street between Fifth and Sixth avenues. Elad met me at the door and gave me the tour.There were offices along one side, some cubicles in the middle, and a conference room in the back. I met Limor Zabari, who ran operations, and Bob Regular, who ran the US business, as well as some of the day to day team. We sat in the conference room and they explained their business to me. They ran 7 billion ads a month, primarily in Europe. Their business had started in what they called &#8220;contextual advertising,&#8221; which I later learned meant ads that served from browser toolbars or desktop software. They wanted to move toward more legitimate inventory, leading them to consider moving away from their proprietary ad serving technology.</p><p>I began to fire questions at them. How did they decide which ad to show on a given impression? How did they track clicks and conversions? Were they able to determine the predicted value of an impression in real time? How many servers did they have and where? As they explained how their technology worked, I filled page after page of my notebook with questions and ideas. One obvious gap for us was their need to handle geographies beyond the US. While all of their employees spoke English, there were differences in how the ad business works in different parts of the world. Most obviously, not everyone operates in US dollars, meaning we would need to support multiple currencies. Some of the differences were small but significant. In Germany and a few other European countries, contracts were booked based on the number of ads shown, not the dollar amount. Since Cydoor was a bigger company, they needed the ability to limit the information shown to certain employees, so that the country manager for Spain couldn&#8217;t see the reports for Italy without permission. Different countries had different invoice formats. And on and on.</p><p>I proceeded to a demo of our user interface, showing them how we booked ad campaigns, loaded the creatives (the actual ads that would deliver), and monitored the running campaigns through reporting. It was their turn to ask questions and point out gaps or concerns. It seemed like every screen I showed them generated a deep conversation about our methodology. After just a year in the industry building a next-generation ad platform, I was surprised at how much I understood of their business, and how well our technology met their needs. As I left their office, I felt like I had gotten them very interested in working with us. I was exhausted and exhilarated as I walked up Fifth to the Right Media office.</p><p>With the additional requirements and insight from Cydoor, Ed and I started building Yield Manager 2.0. Matt began scoping out datacenter options to support a global business. Mike and Aaron focused on operating the ad network since the fourth quarter is the most important of the year for advertisers, who spend aggressively heading into the holidays. My recollection of this time is blurry: days and nights running together as I wrote thousands of lines of code.</p><p>In January 2005 I went back to Cydoor&#8217;s offices to show them a demo of the new platform. It had many of the features I had promised. It supported multiple networks. It displayed multiple currencies. It supported some basic user roles and permissions. It would run across multiple datacenters including one in Europe. It had this random feature called linked networks where one network advertisers could bid on another network&#8217;s inventory.</p><p>Bob interrupted me as I tried to go on with my list. &#8220;Does that mean we can take advantage of the inventory that Right Media has in Europe?&#8221; I nodded. He looked at Limor and Elad, then asked me &#8220;How much traffic do you have in Europe?&#8221; I told him that we had a few hundred million impressions a month that went largely unmonetized. &#8220;So if we are both using your software, our advertisers automatically bid on all of this inventory from quality US publishers. If we generate decent prices, that&#8217;s worth a couple of million dollars of incremental revenue for us.&#8221; I did some quick math in my head and nodded again. Another look passed between the three of them. I wasn&#8217;t sure what was happening, but I knew enough to wait for them to finish thinking about it before I moved on to the rest of my demo.</p><p>After the meeting, Elad walked me to the door. Elad had told me the other companies we were competing against: DoubleClick, the leading ad server. Falk and ADTECH, two other leading ad servers, both based in Germany. The existing technology was also a viable option, and the in-house engineers were convinced that they could evolve their own system to meet the growing needs of the business. I asked him how he thought we were doing against the other options. He told me that it was basically crazy to consider using brand-new software from a tiny, unknown company. On the other hand, our software was built specifically for an ad network like Cydoor, whereas the other competitors were built for publishers. In addition, none of the competitors had prediction technology, and it seemed like we could significantly improve their performance. Finally, the idea that they could automatically buy European traffic from us meant that choosing us might actually make them money, whereas the other choices would cost them money. While he was still not sure they could take the risk of working with us, he suggested that a trip to the headquarters in Israel might be the next step.</p><p>I was thrilled by the progress I was making with Cydoor. Back at the Right Media office, I wasn&#8217;t having as much luck. I asked Mike if I could migrate the Right Media ad network onto the new platform and he laughed. &#8220;Business is great! Why would we take the risk of moving onto an untested new platform?&#8221; I could see his point, but the vote of no confidence was a reminder of just how much work would need to be done if Cydoor actually said yes.</p><p>The next day, Elad emailed and asked if I could join him in Israel in early February. I said yes, then ran into Mike&#8217;s office to share the good news. He looked like he had seen a ghost. &#8220;Mike, what&#8217;s wrong?&#8221;</p><p>&#8220;AOL just told us they&#8217;re shutting down all of their spend.&#8221;</p><p>I gasped. AOL had always been our biggest advertiser, but over the prior six months they had become the dominant spender on our network. Thanks to Mike&#8217;s savvy and my algorithms, Right Media had outperformed the other 21 networks that AOL used, and they had consolidated their entire online advertising budget with us. Of the $1.2 million of our revenue in January, AOL was $900,000. Losing them was a disaster. &#8220;Why are they shutting us down? Is it because of the Ad.com purchase?&#8221; Advertising.com was the largest ad network and our primary independent competitor. AOL had recently purchased them, and we were paranoid that they would convince their new parent company to shift all of the ad spend over.</p><p>Mike shook his head. &#8220;Nope. It&#8217;s a corporate decision. They&#8217;re not going to advertise dial-up access any more. We might get a little bit of broadband budget, but the big money is gone forever.&#8221; It was the worst possible news. I tried to imagine the impact on our business. Layoffs? What about our increasing server bills? How would we fund the new datacenters and hardware we would need to run the Cydoor business? We looked at each other, both knowing the magnitude of our situation.</p><p>As we talked, we realized we had two glimmers of hope. The first was the nature of our auction-based technology. While AOL generally was the highest bidder, there was also a second-highest bidder on every impression. If AOL stopped spending, perhaps the other advertisers would pick up the slack, especially since performance advertisers had limitless budgets as long as you hit their goals. The second area for optimism was the idea of licensing our technology. When the ad network was growing like a weed in 2004, Mike had been skeptical of my idea. Now, it seemed prescient, a way to hedge our bets against the unpredictable ad network business. We agreed that I would fly to Israel and he would do everything in his power to drive revenue in the short term.</p><h3>Selling the Dream... in Israel</h3><p>Elad and I landed in Israel to dazzling sunshine. I was tired from the red-eye flight and full of energy, excited to visit the Holy Land. We drove from the airport to the small town of Abu Ghosh, where Elad promised me the best hummus in Israel - which in his humble opinion, meant anywhere in the world.</p><p>We walked into the restaurant and I was shocked to see that the majority of the patrons were Arabs. The air was full of Hebrew and Arabic, metal tables laden with pita and hard-boiled egg and the garlicky scent of hummus. I shared my surprise with Elad as we ate. I only knew Israel through the constant stream of news about terrorist bombings and conflict between Israel and Palestinians. The reality that Elad was showing me was different. Abu Ghosh was a primarily Arab village in the heart of Israel. The conflicts in Gaza and the West Bank were real, but so was the integration of Arab communities like this one into mainstream Israeli life.</p><p>We drove to our hotel in Tel Aviv and dropped our bags. We then went for a walk along the streets of the older part of town. Older is a relative term in the Holy Land, as Elad explained, but Tel Aviv was a very new city. We passed homes in pastel colors and attractive boutique stores. We walked into an ice cream shop that Elad promised was one of the best. As I happily licked my scoop of chocolate, Elad looked up in alarm. &#8220;I forgot to bring my shekels!&#8221; The man behind the counter laughed and told him to bring money next time.</p><p>After an early dinner, we went to bed, agreeing to meet in the morning for breakfast. When I walked out of the elevator into the breakfast room, I was met by a fantastical spread. There were the classic American basics - eggs, potatoes, cereal - but also hummus, babaganoush, Israeli salad, labaneh, cucumbers, peppers, piles of bread and cheese. At first I was hesitant to eat vegetables for breakfast, but I quickly piled my plate high and came back for seconds. I was fueled up for the big day.</p><p>When we finished, we hopped in the car and headed north to the Cydoor offices in Hertz&#8217;liya. As we pulled off the highway we drove past the offices of major tech companies like HP and IBM. This was the heart of the Israeli tech scene. We parked and rode up the elevator. I had no idea what to expect. For some reason I had decided that to break the ice, I would wear a gaudy orange and red Hawaiian shirt over my jeans and flip flops.</p><p>I walked into the Cydoor office. It was very similar to tech company offices all around the world: wood floors, some cubicles covered in pictures and silly accessories. There were offices around the perimeter. I saw a row of company photos taken at picnics and holiday parties along one wall as we walked back to the conference room. It all felt very familiar. As we entered the conference room, I met Cydoor&#8217;s CEO, Iri Zahar. He was tall, sandy-haired, with glasses. His greeting was ebullient. &#8220;Brian! I have heard so much about you. Welcome to Israel!&#8221;</p><p>The next few hours flew by as I walked the Cydoor leadership team through a demo of Yield Manager. The software had continued to improve over the previous weeks, and I had incorporated much of the feedback from Elad and Limor. The team&#8217;s initial skepticism slowly melted into grudging appreciation. The commercial leaders were especially intrigued by the linked networks concept. The operations staff admired some of the automation I had built into the reporting system. I knew it was going well.</p><p>At lunch time, a few of us drove to the nearby marina. As we pulled into the parking lot, a security guard with an imposing firearm waved us to a halt. He asked Elad a few questions in Hebrew, then grabbed a long pole and began walking around the car. I looked querulously at Elad. &#8220;He&#8217;s checking the car for bombs. There&#8217;s a mirror on that pole, and he can see if anyone has planted anything on the chassis.&#8221; I must have looked terrified, because he continued, &#8220;I actually feel safer in Israel because we don&#8217;t take security for granted.&#8221;</p><p>Over lunch at a Kosher steakhouse, I was full of questions. Such as, &#8220;what makes a steak house Kosher?&#8221; (Answer: they don&#8217;t put butter on the meat when they cook it). The Cydoor team had tons of questions for me as well. We were building a trusted relationship that would underpin their decision about our technology. The mere fact that I had showed up in Israel was huge. That I was curious and open about their business, their culture, and them as individuals furthered the idea that this wasn&#8217;t a transactional relationship. I think they could tell that my interest and curiosity were genuine. I wasn&#8217;t there to sell them software; I was there to build a partnership.</p><p>In the afternoon, Elad took me to Jerusalem. As we walked through the winding passageways and past the stalls, I felt transported back in time. I turned into an alley to catch a glimpse of a beautiful mosque and Elad grabbed my arm. &#8220;You can&#8217;t go that way.&#8221;</p><p>&#8220;Why not?&#8221;</p><p>&#8220;See the guys with guns at the end? That&#8217;s the Al Aqsa Mosque. Israelis can&#8217;t go through there; that&#8217;s Palestinian territory.&#8221;</p><p>We turned the corner and suddenly were were at the Western Wall, the holiest ground of Judaism. After a few minutes taking it in, we walked a couple of blocks and entered one of the most important Christian churches in the world. As we headed back to the car I tried to get my head around the layers of history we had just walked through. Elad drove us up to a college campus on a hill overlooking the old city so I could get it all into perspective. He pointed to the north. &#8220;There&#8217;s the West Bank. That&#8217;s the Palestinian territory. If you look east, you can see the airport; beyond that is Tel Aviv.&#8221; Splayed out in front of us was the heart of western civilization. It was a business trip, but it was also a history lesson.</p><p>The next morning I woke up to a terrified email from my mother. &#8220;Honey, are you ok? I saw the terrorist attack on the news.&#8221; In these years after 9/11 and before smart phones, the world felt both bigger and more dangerous. I opened the New York Times website and read a story about a suicide bomber at a night club in Tel Aviv.</p><p>I wrote my mom back and told her I was ok, then went to breakfast. &#8220;Elad, I read about the suicide bomber. Should I be afraid?&#8221;</p><p>After breakfast, we took a walk along the Mediterranean. The sun shone gloriously off of the water. Old men strutted up and down the beach beside joggers. The world looked perfect and pristine. A few hundred yards south of the hotel, Elad pointed to our left. &#8220;That&#8217;s where the bombing happened.&#8221; There was a building surrounded by police and military vehicles, looking blackened and worse for the wear. On television and the pictures in the paper, all you could see was an intense crime scene. From the beach, it was just one building out of hundreds within view, not a city on fire but a single incident that wasn&#8217;t even interrupting the morning traffic.</p><p>As we drove to the Cydoor office, Elad briefed me on what I was walking into. &#8220;Iri wants to give the entire company the demo you showed us. He thinks that will help everyone get comfortable with the idea of moving to a new platform.&#8221; I asked if there were any gotchas or concerns to worry about. &#8220;Well, the engineers are upset, because it means we&#8217;ll stop using the system they&#8217;ve been building. The Germans are upset that we&#8217;re not choosing a German company. I think the commercial teams will have a lot of questions. Don&#8217;t worry about it. You&#8217;ll be fine.&#8221;</p><p>The entire company had assembled into their largest conference room to see me speak. There were 60 or 70 people staring expectantly at me as I began my presentation. After the first few screens, I heard someone mumble something in Hebrew. Iri said loudly, &#8220;English please. You&#8217;re being rude to our guest.&#8221; Someone else said something in Hebrew and he turned pale and said &#8220;ok ok.&#8221; I was pretty sure that the comment wasn&#8217;t positive. As I proceeded through the demo, the rumblings from the engineers grew louder, and they began to ask gotcha questions. I did my best to keep my cool. After a bit, a well-coiffed man with a German accent introduced himself &#8220;I am Klaus Fritz from the Spain office.&#8221; I cocked my head. Did he say Spain? While my brain tried to align his accent and his geography, he began aggressively questioning my credibility. &#8220;How big is your company? How many software clients do you have? Have you ever done business in Europe? Do you understand how different things are in Europe?&#8221; I fended him off as best as I could.</p><p>Finally my interrogation was over, and everyone receded back to their desks. Shaken, I apologized to Elad for my performance. He shook his head. &#8220;Don&#8217;t worry about it. Everyone needed to have their say. You did exactly what you needed to do.&#8221; That night, he and I went to a neighborhood bar for a drink. I mentioned to the bartender how much I loved the local beer, Gold Star, and he told me to take the beer glasses home as a souvenir.</p><p>The next morning we drove to Ben Gurion to fly home. Cydoor had given me a letter to show security, written in Hebrew. They claimed that it said &#8220;Brian was here on legitimate business, go easy on him&#8221; but I was half-convinced it said &#8220;We have no idea who this guy is, give him the full experience.&#8221; After an hour of being scanned, poked and prodded, with every single item in my bag analyzed for potential weapons, I made it to the gate.</p><p>As we flew back to the US, I pondered my trip. In one sense, Israel had been what I expected: terrorist bombs and skeptical clients. In another, it had been an eye-opening contrast: intelligent clients looking for a true partnership; a safe, generous, sparking city unfazed by occasional conflict. I was proud to have learned the most important word in Hebrew: toda (thank you) and the proper pronunciation of hummus, a word that transcends religion.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://bokonads.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading BOK on Ads (and Climate)! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Chapter 2: Mike's Brain]]></title><description><![CDATA[Real-time predictions and a failed product]]></description><link>https://bokonads.com/p/chapter-2-mikes-brain</link><guid isPermaLink="false">https://bokonads.com/p/chapter-2-mikes-brain</guid><dc:creator><![CDATA[Brian O'Kelley]]></dc:creator><pubDate>Wed, 02 Apr 2025 12:30:42 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!wxMx!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79f654e6-9040-43a7-9f4f-25e68c67d82d_675x675.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>In honor of the 20th anniversary of the ad exchange, I&#8217;m posting chapters from my unfinished book on the history of programmatic advertising. I hope you enjoy!</em></p><h3>Built to spec</h3><p>The little Right Media team had to find its own space now that we were breaking free from Poindexter. We rented an office at 29th and 5th. Today we would call it NoMad, but back then it was the garment district, full of wholesalers and rug dealers. Our space was tiny, just three offices and a conference room. On my first day, Matt Philips, my boss, handed me a fifteen-page spec for what my ad server was supposed to do. I got to work, hiring another engineer to help out.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://bokonads.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading BOK on Ads (and Climate)! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>Six weeks later, when Matt and I went to Mike Walrath, the founder and CEO, to show him the prototype, I assumed he would be excited. I had built almost exactly what Matt had written down. The three of us gathered in our only conference room and Matt began to walk through the screens of the prototype.</p><p>Mike&#8217;s instant response was frustration. &#8220;That won&#8217;t work, that just doesn&#8217;t do what we need it to do!&#8221; Matt tried to defend the design choices we had made, but it was clear that Mike wasn&#8217;t satisfied.</p><p>After 20 minutes, I decided to step in. &#8220;Mike, instead of telling why it&#8217;s so terrible, could you tell me what you want it to do?&#8221; </p><p>Over the next half hour, I learned how Right Media worked. The business model was straightforward: it was an ad network, aggregating ad inventory from a multitude of websites and selling it to advertisers. There was no technology, just Mike&#8217;s craft and canny. He would pore over reports to see which ads worked on which sites, calling publishers to ask them to move the ads to different placements or to increase or reduce the frequency at which they displayed.</p><p>But that wasn&#8217;t the vision. Mike wanted to build technology that would be smarter than he could be by picking up the phone. A system that would make sure that the right ad ran on the right medium at the right moment.</p><p>Mike explained that ad servers up to this time had always ranked ads based on a priority. You&#8217;d run the highest priority ad first, usually the one with the most budget, and then the next, and the next. To run a performance campaign where the advertiser paid based on the number of clicks or sales, you&#8217;d have to guess at the right priority. In reality, different ads would be appealing to different people on different sites, so you&#8217;d create multiple line items in the ad server with different rules and different priorities. This was complicated to manage, and in fact often meant that even though a performance ad might be the most profitable for a particular user, it would still be stuck at a lower priority. &#8220;I need you to build a system that ensures that we always run the ad that will make us the most money.&#8221;</p><p>I realized the real goal of the technology platform: to build Mike&#8217;s natural intelligence and skill into software that could figure out which ad to run on which site, ideally in real-time. I was going to build a software version of Mike&#8217;s brain. And moreover, I was going to rank ads based on their expected value, not their priority. It would be an auction, not a daisy chain. This simple idea, of auctioning ads instead of prioritizing them, led to the $100B programmatic advertising industry and, as Cory Doctorow would say, the enshittification of the internet.</p><h3>Side note: On meritocracy in founding teams</h3><p>You might wonder what Matt thought about me taking over the meeting and questioning the product design that he had hired me to build. Most people would have been furious, but Matt stayed cool. A couple of weeks later, he suggested to me that I should be the CTO of the company. I asked him what that meant for him, since his title was head of technology. He said, &#8220;I will do whatever is best for the company. Right now, that means working for you.&#8221;</p><p>Matt&#8217;s decision to step aside was one of the best and smartest business decisions I&#8217;ve been witness to. It wasn&#8217;t a selfless act - Matt ended up making a ton of money when we sold Right Media a few years later. It wasn&#8217;t an act of friendship, as we didn&#8217;t know each other well enough yet for a personal relationship to weigh on the decision. It was the only way for Right Media to be a transformational company. It enabled a partnership between Mike and I that took us further, faster, than we could have done with Matt in the middle. Think about the 28-year-olds that you know. How many of them have the maturity or wisdom to make that decision? For that matter, forget age. How many executives would willingly give up their role to let a younger, less experienced person take over?</p><p>Over the next few years Matt and I did become friends. He taught me how to live in New York City like a native and supported me when things got tough in my life. He was an instrumental part of Right Media&#8217;s success, devoting himself to learning how to build and run datacenters and the immense technical infrastructure we needed to operate at internet scale. I never heard him complain or express jealousy about my role or success. Matt is the embodiment of what it means to put the mission ahead of oneself. Years later, when we created the Founder&#8217;s Award at AppNexus, making a major equity grant to someone who made a massive contribution to the company as an honorary founder, it should have been named the Matt Philips Award.</p><h3>Predicting Value</h3><p>I spent the next few months building a revised ad platform based on hours of interviewing Mike and digging into how the performance advertising business worked. Mike had some fundamental insights about how internet ads worked based on his experience running the business by hand. For instance, the more times you&#8217;ve seen a particular ad - the frequency - or the more recently you&#8217;ve seen an ad - the recency - the less likely you&#8217;ll respond to it. To address this without technology, the publisher team would call websites and ask them to &#8220;frequency cap&#8221; ads so that they only showed once or twice a day per website.</p><p>My insight was that we could use machine learning to determine the decrease in response rate based on frequency and recency, and use this to find the optimal cadence for each ad. In addition, we could predict not just which ad would have the best response rate, but how much money we would make from each ad. The challenge of trying to do a continuous valuation of each ad based on frequency and recency was that we would need to perform this calculation every time an ad would serve, requiring far more computational power than ad servers of the time that executed simple rules like &#8220;serve this ad once a day then stop&#8221;. I was convinced that the increase in ad performance, and thus revenue and profit for our ad network, was worth the cost of more servers.</p><p>Since cloud computing wasn&#8217;t an option in 2004, we needed to put physical servers in a datacenter. I asked Matt to take point on acquiring servers and datacenter space. Our budget was incredibly limited since Right Media had only raised a few hundred thousand dollars from our investors. Matt found a datacenter in Chinatown, a short taxi ride away from our offices at 29th and 5th, and after countless hours of tuning the precise configuration spent a huge portion of the company&#8217;s cash reserves on 10 servers, a pair of used load balancers, and some networking equipment. When this all arrived, we spent a couple of days in a loud, frigid cage at the datacenter. For some reason we decided to crimp our own Ethernet cables to save money, and many of our amateur wiring jobs just didn&#8217;t work properly. Finally we got everything working well enough to try lighting it all up.</p><p>In January 2004, we started running our first traffic through the ad server. That first month we ran about 1 million ads through the system. At the time it seemed like a big number, and we were both thrilled and exhausted as we tracked down bugs and tried to see if the algorithm actually worked. In February and March the volume increased significantly as we moved the entire business to our new platform.</p><p>I got used to hearing &#8220;Yes!&#8221; yelled from Mike&#8217;s office, as he refreshed the reporting and saw that a user had clicked on an ad and signed up for AOL, our largest advertiser. Mike was the ultimate power user. He dug into the details of every campaign, finding countless places where the algorithm seemed to be doing illogical things. I loved making him happy by tweaking the algorithm to make it even more effective. His excitement and intensity were contagious. We had an almost spiritual connection, me building the system and him pushing it to its limits. Our quest to drive users to click on ads and then buy things didn&#8217;t feel like an advertising business; it was more abstract, like trading stocks is to running companies. We were manipulating a system, not people.</p><p>By April, the system was working well. We needed more hardware; we needed to rearchitect parts of the system; but we were confident that we could drive performance better than almost any ad network out there. Now the business needed more advertisers and more publishers. We hired Ramsey McGrory to lead sales for the former, and I offered to take over the business development team to sign more web sites since the technology side of the house was stable. Mike agreed, and I turned my attention to understanding publishers, the people who operated and made money from web sites.</p><h3>Understanding publishers</h3><p>My first step was to learn as much as I could from our publisher lead, Aaron Letscher, a co-founder who had followed Mike from DoubleClick. He had been spending his time calling publishers and getting them to give us better rates or change the frequency caps on our ads. Our pitch was pretty simple: money. We would offer a share of the revenue we&#8217;d get from selling the ad space, or in some cases, agree to pay based on volume. Publishers would generally allocate their ad space across a handful of ad networks like us, often based on relationships or promises of big checks.</p><p>In theory, now that our prediction algorithm was working, we should be able to generate more clicks, and thus more revenue, for the traffic that publishers sent us. My naive assumption was that publishers would realize this and start sending us more traffic. However, this wasn&#8217;t happening. So we got on the phone and called some publishers to try to understand why we were writing bigger checks but not getting more traffic. As an example, one of our publishers was runescape.com. Our account manager, Meghan Ficca, called them and we waited with bated breath to hear their explanation. It was simple: &#8220;You&#8217;re paying us $0.50 per thousand impressions; FastClick is paying us $4.00.&#8221;</p><p>We were shocked and confused. There was no way that FastClick was generating 8 times the performance that our ads were. In fact, due to our close relationship with some of the large advertisers, we knew that our ads were outperforming theirs. Maybe there were advertisers they had that we didn&#8217;t? I spent hours refreshing websites and using browser plugins to identify when the ad came from FastClick, tallying the advertisers that they served. No significant difference, except that FastClick showed a surprising number of public service ads instead of running paying advertisers. When we were completely out of ideas, Meghan called Runescape and asked if we could borrow their FastClick login to see the reports for ourself.</p><p>In the Right Media publisher portal, we reported 1 million ads shown for $500 of net revenue, or $0.50 per thousand impressions. The FastClick publisher portal reported 100,000 ads shown for $400, or $4.00 per thousand impressions. We stared at each other, confused. Was Runescape really splitting their traffic evenly? And if so, why did it seem like we were getting 10 times more traffic than FastClick? I looked back at my data set from manually refreshing the site. What if they weren&#8217;t counting the public service ads in reporting? That would artificially inflate the CPM dramatically. But how could they get away with it without causing a counting discrepancy with the publisher?</p><p>We called Runescape again and asked them how they tracked the number of ads that they sent to each ad network. They admitted that they didn&#8217;t. We pointed out that we were writing bigger checks than FastClick, and that the CPMs were based on what FastClick felt like counting, not the actual volume. The Runescape team was surprised but pleased to act upon the data, and they began to shift more traffic to us.</p><p>I grabbed Matt and Mike and excitedly explained to them what we had figured out. They both understood the issue immediately. At DoubleClick, they had seen a number of ad network shenanigans around reporting, most commonly reporting gross revenue instead of net revenue. They believed the industry should use an &#8220;effective CPM&#8221; as the metric of choice: how much money you actually got paid divided by the actual number of impressions you showed. I said, &#8220;That makes a ton of sense. Why don&#8217;t publishers have the ability to track the number of impressions that they send each network and how much money they actually make?&#8221; Neither of them knew.</p><h3>Yield Manager for Publishers</h3><p>I told the business development team to use our discovery to start convincing publishers to send us more traffic. Then I went back to my desk and started coding. I love the way it feels to write code, seeing an idea come into existence. The rhythm: code, compile, test, repeat was addictive. Each cycle my creation would look a little more like the idea in my head, or the idea would evolve based on new insights or roadblocks. I couldn&#8217;t have explained to someone what I was building. My mind was racing faster than I could communicate, the conceptual leap from seeing the Runescape problem to building a solution.</p><p>After a few days of frenzied development, I was honing in on a solution and felt like I could actually explain it to the team. I grabbed my lead engineer, Ed Kozek, and explained what I was thinking. As usual, he caught on quickly, and we began to work together on a project I called Yield Manager: an ad server for publishers that would allow them to intelligently track how many impressions they sent to each ad network and how much money they actually made. By the middle of August, I was ready to test it. I called a few publishers and convinced them to roll out Yield Manager on their sites.</p><p>The initial results from the publishers were disappointing. My hypothesis was that most ad networks were acting like FastClick and taking advantage of publishers&#8217; lack of technology. In reality, most networks reported impression numbers that were much closer to reality. The largest networks, like Google&#8217;s AdSense, reported effective CPM just as we did. This meant that publishers didn&#8217;t see a dramatic improvement in yield across the board, just on the second-tier networks like FastClick.</p><p>Yield Manager wasn&#8217;t intended to just be a reporting tool. It was also supposed to help publishers do a better job of allocating impressions across the ad networks based on their comparative value. I was hopeful that basing allocation decisions on better data would improve publisher revenue. Most publishers at the time used spreadsheets to make these decisions, pulling in their numbers once a month. Yield Manager enabled publishers do to this allocation every day. I thought that more frequent updates would improve yield, but based on our first few publishers, it didn&#8217;t.</p><p>I was frustrated. This seemed like such an obvious problem to solve with technology, and yet our innovative solution wasn&#8217;t actually helping. I spent hours scribbling ideas on notepads, brainstorming with Mike and Matt, trying to crack the code. My entire thesis for building a real-time prediction algorithm was that better prediction would mean better yield; better yield would drive increased volume; and increased volume should drive better advertiser outcomes. But if we couldn&#8217;t get publishers to allocate more volume as we increased performance, we&#8217;d be better off hiring salespeople and account managers to cajole and convince them than investing in technology.</p><p>I paced. I was cranky to my co-workers. I came home from work, pulled out my laptop, and threw myself back into the problem. I think my conscious mind knew there was a solution floating around, and my unconscious mind was plugging away. I tossed and turned in bed. I went on long runs along the Hoboken waterfront, hoping for inspiration in perspiration. Finally, the solution came to me, and it felt so obvious that I was almost embarrassed to present it to my colleagues.</p><h3>Auctions? Not so fast.</h3><p>&#8220;We have a real-time prediction engine, right? We can predict what each individual impression is worth. Instead of setting overall allocations to each network every day, we could do it on every impression! Take Runescape. We get a quarter of their traffic, but a lot of what they send us we know isn&#8217;t going to drive performance. What if we thought of this as an auction where we bid on the impressions, so we get more high-performing impressions and fewer low-performing impressions? I bet other networks see different impressions that perform well, so for any given impression, there should be an optimal network that will pay the most. That has to be far better for yield that randomly allocating each impression. Right?&#8221; Imagine me saying all of that at about twice normal speed, gesticulating wildly like someone who has barely slept or spoken to a human for a few days.</p><p>Running an auction on each impression was a fundamentally different way of thinking about how advertising worked. This wasn&#8217;t how TV or print or radio operated. You could choose a show or a time slot, an edition or a day of the week. The idea that every individual would see a different ad was unique to digital. I didn&#8217;t invent that - a few startups had products that could target ads to people based on their browsing history during the dot com boom - but nobody had figured out how this idea of advertising to individuals would change the way ad space was sold and allocated. Mike, Matt, and Aaron were some of the most advanced thinkers in how to manipulate the existing system of online advertising to drive performance. I had the benefit of knowing so little about the way things were done that I didn&#8217;t know better than to question the operational foundations of the entire $600 billion advertising industry. The fact that hundreds of thousands of people around the world at some of the biggest companies in the world, from ad agencies to media companies, spent their entire working day buying and selling allocations of ads didn&#8217;t bother me&#8230; because I didn&#8217;t know.</p><p>I updated Yield Manager to use our real-time predicted bid instead of the average CPM and watched to see what happened. As expected, we cherry-picked more quality impressions, and our performance and payouts increased. However, the incremental impact was difficult to measure. Were we cherry-picking the same impressions that produced value for other networks? We had no way to know if our payout was actually higher than what our competitors were generating&#8230; unless they could give us real-time predictions too.</p><p>With the help of our beta publishers, I reached out to some of the ad networks to see if they could give us real-time estimates of how valuable they found each impression. None could. It was just not how they operated. Their models were like the ones Mike and Aaron had used before we built our predictive algorithm: smart campaign managers would tweak the system, changing frequency, recency, and the inventory used in order to increase performance. In aggregate, these techniques worked, but there was no concept of what any individual impression was worth.</p><p>It was a dead end. My inspired idea that I could help publishers improve yield through some network optimization technology or through the concept of a real-time auction simply wouldn&#8217;t work without other networks implementing predictive optimization. Reluctantly, I ended the beta and went back to work calling publishers and convincing them to join our network.</p><p>At this point, in early fall 2004, Right Media was running around a million dollars a month of media with around a 40% margin. There were around 700 publishers in our network. Each month we delivered over a billion ads. We had grown the team to around 15 people, and were consistently running a small profit. Mike was thrilled with our progress as a company, and he began talking to venture capitalists about investing in the business. In October 2004, we received a term sheet that would value Right Media at $18 million, up from just $1 million when Mike raised his angel round the year prior. Aside from my frustration that my innovative new product had failed, the team was thrilled. Our little company was thriving.</p><h3>Special bonus!</h3><p>Thanks to Ramsey McGrory for digging up this training deck about dynamic CPM pricing. It&#8217;s fascinating that many of these performance concepts have disappeared from the programmatic landscape&#8230; maybe they need to come back!</p><div class="file-embed-wrapper" data-component-name="FileToDOM"><div class="file-embed-container-reader"><div class="file-embed-container-top"><image class="file-embed-thumbnail-default" src="https://substackcdn.com/image/fetch/$s_!0Cy0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack.com%2Fimg%2Fattachment_icon.svg"></image><div class="file-embed-details"><div class="file-embed-details-h1">04 Dcpm</div><div class="file-embed-details-h2">423KB &#8729; PDF file</div></div><a class="file-embed-button wide" href="https://bokonads.com/api/v1/file/cefaf6bd-ba01-4345-8fba-38c51583a2ba.pdf"><span class="file-embed-button-text">Download</span></a></div><a class="file-embed-button narrow" href="https://bokonads.com/api/v1/file/cefaf6bd-ba01-4345-8fba-38c51583a2ba.pdf"><span class="file-embed-button-text">Download</span></a></div></div><p></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://bokonads.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading BOK on Ads (and Climate)! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Chapter 1: Poindexter]]></title><description><![CDATA[Smoke and mirrors]]></description><link>https://bokonads.com/p/chapter-1-poindexter</link><guid isPermaLink="false">https://bokonads.com/p/chapter-1-poindexter</guid><dc:creator><![CDATA[Brian O'Kelley]]></dc:creator><pubDate>Tue, 01 Apr 2025 12:31:00 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!wxMx!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79f654e6-9040-43a7-9f4f-25e68c67d82d_675x675.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>In honor of the 20th anniversary of the ad exchange, I&#8217;m posting the first few chapters of my unfinished book on the history of programmatic advertising. Here&#8217;s chapter 1. All of this is my own recollection and I am sure I am misremembering things - please forgive my errors!</em></p><h3>The Interview</h3><p>It was an interview, so I wore a suit. When Matt Philips, who I had met through a Princeton careers email list, walked into the room, I knew it was a mistake. He was slim, in his late twenties, and dressed like a cool dot-com executive.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://bokonads.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading BOK on Ads (and Climate)! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>Matt spent a few minutes explaining the genesis of Right Media. Over the past few years, he had been a product manager at DoubleClick, working on the company&#8217;s flagship ad serving product. I knew a little about DoubleClick. They were one of the hottest dot-com companies in New York, providing the software that enabled web sites to track and deliver ads.</p><p>Matt explained that DoubleClick also ran an ad network, aggregating ad space across these web sites and selling it to advertisers. Mike Walrath had been a top salesperson at the DoubleClick ad network, specializing in performance advertising: getting people to click on ads and buy stuff. He and Matt had started Right Media to build a performance ad network that would outperform DoubleClick - and now they needed a tech guy.</p><p>Matt wrapped up his explanation: &#8220;So, we realized that the DoubleClick ad server didn&#8217;t work very well for ad networks. We looked around for a company that could do performance optimization, and Poindexter Systems seemed like the most advanced company in the industry. We sublet a little office space from them, and they&#8217;re going to build us the software. In the interim, we&#8217;re running the business without any tech. What we want to hire someone to do is basically build us a web site and maybe help automate some of the manual work we&#8217;re doing.&#8221;</p><p>I launched into my spiel. &#8220;Over the past 18 months, I built an enterprise software platform that we have been selling into large companies as an add-on to their financial systems. Before that, I was a consultant building predictive personalization systems. I have a computer science degree from Princeton, as you know, and my research focus was large-scale distributed systems.&#8221;</p><p>Matt looked at me, raised an eyebrow, and gave a slightly embarrassed laugh. &#8220;Uhh&#8230; that&#8217;s great&#8230; but we probably don&#8217;t really need all that.&#8221; He thought for a moment. &#8220;You know, you should really talk to the Poindexter people. They are building the really complex tech, and I bet they could use some help. Let me go get their CTO.&#8221; Matt stepped out of the room, and a few minutes later, a bearded man entered in his stead.</p><p>&#8220;I&#8217;m Steve Jacobs, the CTO of Poindexter. Matt tells me you&#8217;re a software engineer looking for work, with personalization experience?&#8221;</p><p>I explained my background again, and after a bit of back and forth, Steve offered to bring me on as a consultant. When I returned to New Jersey that afternoon, I realized I barely knew anything about Poindexter. I had been so confused by the bait-and-switch interview that I had failed to ask basic questions, like who was the CEO or what the company was named for.</p><h3>Personalized advertising 101</h3><p>The next morning I got back on the PATH train to 23rd street, this time dressed more casually. I walked into the Poindexter office and Steve gave me the quick tour. Joe Zawadzki, the founder, sat in the back corner. He was tall and intense, with brown hair just on the verge between styled and mussed, long and short. He wore a tweed jacket with leather elbow patches and thick-rimmed glasses. He clasped my hand warmly and welcomed me on board. As I walked in a circle around the desks, I met the team. Steven Golus, sales. Ted Shergalis, COO. Then I met the engineers I would be working with, Alan and Melanie. They were vibrant, perhaps thrilled to have someone to help carry the load. We went into the conference room and they began to explain what the company&#8217;s software actually did.</p><p>The basic premise behind Poindexter was that digital advertising should be optimized so that each consumer sees the ad that she is most likely to respond to, unlike television or print where every consumer sees the same ad. To achieve this, they put a snippet of code on the web site that would run some logic to show the optimal ad to each visitor. The Poindexter technology had a few components: the real-time execution engine that showed the ads; a data collection system that tracked ads and clicks; a user interface that customers could use to upload ads and see reports; and the secret sauce: the Poindexter Optimization Engine (POE) that did the optimization to figure out which ad to show to each visitor.</p><p>I began to ask questions about each component of the system. The real-time execution engine was built on top of Akamai, the content delivery network, using a specialized language that could insert dynamic content. This was cloud computing, in effect, just ten years too early. The idea was that Akamai had servers all around the world, and could handle the technical overhead of real-time content delivery. The downside of being ten years early was that Akamai&#8217;s service was extremely expensive and quite limited, forcing most of the complexity into POE. I asked how the data got from the Akamai cloud into reporting. Melanie explained that the logs were downloaded on a daily basis, processed, and then aggregated into a database for reporting.</p><p>Next, they showed me the user interface. Users could create an advertising campaign, decide which geographies and times of day the campaign would run, and then associate the actual ad itself (called a &#8220;creative&#8221; in advertising parlance). The final step was a massive screen called the Grid that listed all of the creatives on one axis and every placement (the actual spots on the websites where the ads could display, like &#8220;New York Times right rail&#8221;) on the other. In the middle of the Grid were hundreds or thousands of checkboxes that determined whether each creative could run on each placement. It was so massive that it almost crashed the browser.</p><p>As a software architect, my immediate reaction to the system was mixed. On one hand, I knew nothing about this industry, and from everything I had heard this was the state of the art. On the other hand, this felt like a system that was duct taped together more than designed. I was a bit concerned, and at the same time, saw clearly why they needed my help. I began to throw out ideas to improve the system, starting with fixing the user interface so it would actually function. Alan and Melanie agreed that this was a good place for me to start, and I sat down at my desk to work on a proposal for a cleaner, better-architected UI.</p><p>Over the next few days, as I worked to redesign the UI, I began to get a feel for Poindexter. Each day at lunch, Alan, Melanie, and I would go out in search of food. The Madison Square Park area was still an extension of the Garment district, and finding a quality lunch was a challenge. Eisenberg&#8217;s sandwich shop was always packed, as it probably had been for decades. There was a Chipotle, perhaps the first in Manhattan, a 15 minute walk over to 7th avenue, so we usually went to Uncle Moe&#8217;s on 19th, or down 5th avenue to a decent pizza place. There was one Starbucks within walking distance, on 6th avenue, and the delis just downstairs did a hopping business with their hot buffets.</p><p>Each day, a low-flying airplane would zoom across the sky and pedestrians would reflexively pause in their tracks to watch, calculating whether it was on track for a building. This was Postlapsarian Manhattan, that time just after the fall of the Twin Towers and the dot-com collapse, when airplanes and entrepreneurs were echoes of disaster.</p><p>As I walked to lunch with my colleagues, I learned more about Poindexter. Founded by two Harvard alumni, Joe and Ted, the company rose on the optimism of the dot-com boom. When the market collapsed, they were just able to keep the lights on, skimping on office furniture and subletting part of the office to stay alive. Rumblings of missed payroll were quickly squelched. I had joined a group of survivors, adrift, scavenging for lunch in the wasteland of Silicon Alley.</p><p>A few weeks into my time at Poindexter, a preppy 40-year-old man walked into the office looking like a hungover Robert Redford. He made jovial comments as he walked along the desks, then stopped in front of me. &#8220;You must be BOK!&#8221; he exclaimed. I was taken aback. These were my initials, I supposed, but what the hell? &#8220;I&#8217;m Rich Person!&#8221; As I stared at him, trying to understand why he was calling himself a rich person, I remembered an article I had read about Poindexter hiring a new CEO from an ad agency. Wasn&#8217;t his name&#8230; no way. He was a walking caricature of a New England executive, and that was his name? &#8220;You know, I drive a Porsche Boxster. BOKster? Get it?&#8221; And then he walked away.</p><p>I leaned over to Melanie. &#8220;That is the CEO of this company?&#8221; She nodded and shrugged. &#8220;Why haven&#8217;t I seen him before? Does he even work here?&#8221;</p><p>She whispered back, &#8220;He lives in Boston or something, and commutes to work. The board wanted to replace Joe with a more experienced executive.&#8221;</p><h3>The dirty secret behind POE</h3><p>A few days later, Steve Jacobs walked by my desk. It was spring, and the sunlight began to pour through the front window of the office. I was beginning to make progress on my user interface redesign. Steve told me that our technology advisory board was in town, and asked me to join a whiteboarding session with them. The two of us went into the conference room. The advisory board, three computer science professors, introduced themselves.</p><p>The conversation began with a discussion of cutting edge optimization methods. The professor from Dartmouth laid out the handful of approaches that were most common: logistic regression, decision trees, and, &#8230; &#8220;wait! What was that? Decision trees?&#8221; exclaimed Steve. We all stared at him.</p><p>The professor, surprised, went to the white board and began to draw a decision tree. At the top of the board, he drew a circle and wrote &#8220;time of day&#8221; inside. Then he drew three arrows down from the circle: morning, afternoon, and evening. He explained that a decision tree is like a flow chart, where the algorithm can only follow one path out of each circle. Below morning, he drew a circle and wrote &#8220;State&#8221;, then drew a number of arrows below it: Alabama, Alaska, Arizona. Beneath each of these arrows he drew a circle and wrote &#8220;Ad 1&#8221;, &#8220;Ad 2&#8221;, &#8220;Ad 3&#8221;. The idea, as I figured out, was that you could follow the chart, making a decision at each step, until you figured out which ad to show. Because each step branched off into multiple choices, the whiteboard looked like an upside-down tree. Thus, decision tree.</p><p>I found this interesting. Steve, next to me, looked like he had seen a ghost. I gave him a querulous look, and he said, &#8220;This is how POE works!&#8221; I was extremely confused. I almost blurted out a question. How could Steve Jacobs, the CTO of the company, not know how the company&#8217;s secret algorithm worked?</p><p>I managed to hold my tongue through the rest of the meeting, but as soon as the professors left, I cornered Steve. &#8220;You don&#8217;t know how POE works? What is going on?&#8221;</p><p>He pulled me into the conference room. &#8220;OK, here&#8217;s the deal. One of the founders wrote POE, but he left and didn&#8217;t leave any documentation behind. I&#8217;ve been trying to figure out how it works.&#8221;</p><p>My mind was boggled. Every press release, every article, the very core of this company was this incredible optimization system. &#8220;So how do you operate POE if you can&#8217;t maintain the code?&#8221;</p><p>Steve sheepishly explained. &#8220;Well, I run the POE software on each campaign after about a week of data has come in. It outputs a decision tree in XML. Then I edit the tree by hand to make sure it meets all of the customer&#8217;s requirements.&#8221;</p><p>I felt like I had been punched in the face. This whole company was a farce. There was no secret sauce, no sophisticated technology. I felt like Toto in the Wizard of Oz. Not only was there a man behind the curtain, it wasn&#8217;t even my story. As I poked around on my computer the rest of the day, I tried to decide what to do. Should I tell Matt that he was betting Right Media on a sham of a platform? Was that disloyal to my employer? Was it unethical not to tell him? I asked Steve if he had told the Right Media team that the software wasn&#8217;t going to work the way they expected. He shrugged and said that it wasn&#8217;t his call.</p><h3>I&#8217;m out</h3><p>The next day, I grabbed Matt and asked him if he wanted to take a walk. As soon as we were clear of the building, I told him what I had found out. &#8220;Matt, they don&#8217;t have the software they promised you. I don&#8217;t even think they&#8217;ve started working on it.&#8220;</p><p>Matt was shocked. As we walked around the neighborhood, he probed for more information. As I explained to him that the entire process was manual, he looked deflated. &#8220;I understand what you&#8217;re saying, but what can we do? We don&#8217;t have the funds to build our own ad server, and there aren&#8217;t really any other options on the market.&#8221;</p><p>I looked at him. &#8220;I could build it.&#8221; Matt raised an eyebrow and frowned. &#8220;No, seriously. Their technology is terribly broken. I know they&#8217;ve put a few years into it, but if they can&#8217;t even maintain their core algorithm, it&#8217;s never going to do what you want. I&#8217;ve built an ad server before. I&#8217;ve built enterprise software. I can do it for a lot less money than you&#8217;re going to pay them.&#8221;</p><p>Matt pondered this. I could tell he was looking at me, all of 25 years old, and trying to get his head around the idea that he should trust me instead of Poindexter. After a moment, he shook his head as if clearing it from a dream. &#8220;Let me ask Poindexter some questions. They keep telling us the software is almost done. Maybe you just haven&#8217;t seen everything they&#8217;re working on.&#8221;</p><p>The next couple of weeks were painful. I continued working on my project, but my heart wasn&#8217;t in it. I started thinking about looking for a new job, or maybe starting a company. Rich Person walked around handing out invites to a company party at a restaurant called Tao. I think the idea was to help employees let go of some of the recent issues, like missed payrolls. The invite read: &#8220;That was zen, this is Tao!&#8221;</p><p>The morning after the forgettable, sad party, I bumped into Matt in the elevator and felt compelled to tell him about it. He laughed, then leaned over and whispered, &#8220;can you meet Mike and I in Madison Square Park at 2 PM?&#8221;</p><p>I looked around the empty elevator. &#8220;Um, sure.&#8221; He leaned back against the elevator wall and we tried to act non-conspiratorial as the elevator crept up to our floor.</p><p>At 2 PM, I crossed over to Madison Square Park and saw Mike and Matt standing by a statue near the dog park. I had seen Mike going in and out of the office, but we had barely spoken. He was six feet tall, with dark curly hair, athletic. He wore khakis and a button down shirt over loafers, and seemed slightly uncomfortable waiting for me as I walked over. I felt a slight shiver of anticipation as I shook his hand. &#8220;Matt tells me you can build us an optimizing ad server.&#8221; I nodded. &#8220;How much would it cost, and how long would it take?&#8221;</p><p>I tried to figure out a reasonable answer on the spot. &#8220;I think if I had one engineer to help me, it would take about three months. We would need servers and datacenter space to operate it. If you can give some sense of the volume that you&#8217;d want to run, I can get some numbers together.&#8221;</p><p>Matt and Mike looked at each other. I tried to guess what the look meant. Was my estimate too high? Matt said, &#8220;Um&#8230; that seems really fast. Are you sure it won&#8217;t take longer?&#8221; I explained my reasoning, walking through the key components of the system. I could sense their skepticism. I knew I could build what they needed, both from my own experience and from the few months at Poindexter working on a similar system. I just didn&#8217;t know how to convince them that they should bet their business on me.</p><p>Mike looked into my eyes with an intense stare. &#8220;What do you get out of this?&#8221;</p><p>I thought it for a few seconds. What I wanted was to solve an interesting, large-scale problem with technology. I had done no diligence on Right Media. I didn&#8217;t know Mike at all. I liked Matt from our few chats, but we weren&#8217;t close. I could go get a job as a software engineer or architect, and get paid good money. What I really wanted was enough money to be able to pay a mortgage on an apartment, and to work at a startup. Matt had shared that they were making some money running their ad network, and had a few hundred thousand in angel funding, so I knew they could afford to pay something. &#8220;If you can pay me $90,000 as a salary, I&#8217;ll build this for you.&#8221; I knew this was far below market value for a talented engineer. I wanted equity, or at least the idea of shared upside, but I didn&#8217;t like the idea of asking for it. I wanted to earn it. I wanted to prove myself. I wanted to matter.</p><p>We shook hands, there in Madison Square Park. It was time to get our hands on Pandora&#8217;s Box.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://bokonads.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading BOK on Ads (and Climate)! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[The end of taxonomy]]></title><description><![CDATA[How AI is going to upend the foundations of legacy programmatic ad tech]]></description><link>https://bokonads.com/p/the-end-of-taxonomy</link><guid isPermaLink="false">https://bokonads.com/p/the-end-of-taxonomy</guid><dc:creator><![CDATA[Brian O'Kelley]]></dc:creator><pubDate>Mon, 17 Mar 2025 11:31:52 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Urs0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b6b92e3-22e4-4cf7-8b2c-e72880c10d64_2482x1390.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Urs0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b6b92e3-22e4-4cf7-8b2c-e72880c10d64_2482x1390.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Urs0!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b6b92e3-22e4-4cf7-8b2c-e72880c10d64_2482x1390.png 424w, https://substackcdn.com/image/fetch/$s_!Urs0!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b6b92e3-22e4-4cf7-8b2c-e72880c10d64_2482x1390.png 848w, https://substackcdn.com/image/fetch/$s_!Urs0!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b6b92e3-22e4-4cf7-8b2c-e72880c10d64_2482x1390.png 1272w, https://substackcdn.com/image/fetch/$s_!Urs0!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b6b92e3-22e4-4cf7-8b2c-e72880c10d64_2482x1390.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Urs0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b6b92e3-22e4-4cf7-8b2c-e72880c10d64_2482x1390.png" width="1456" height="815" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4b6b92e3-22e4-4cf7-8b2c-e72880c10d64_2482x1390.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:815,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1298397,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://bokonads.com/i/158887016?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b6b92e3-22e4-4cf7-8b2c-e72880c10d64_2482x1390.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Urs0!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b6b92e3-22e4-4cf7-8b2c-e72880c10d64_2482x1390.png 424w, https://substackcdn.com/image/fetch/$s_!Urs0!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b6b92e3-22e4-4cf7-8b2c-e72880c10d64_2482x1390.png 848w, https://substackcdn.com/image/fetch/$s_!Urs0!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b6b92e3-22e4-4cf7-8b2c-e72880c10d64_2482x1390.png 1272w, https://substackcdn.com/image/fetch/$s_!Urs0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b6b92e3-22e4-4cf7-8b2c-e72880c10d64_2482x1390.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Twenty years ago it was legit hard to build tech at internet scale: the first Right Media ad server ran on a custom-compiled Gentoo OS because we had to patch an alpha Linux 2.6 kernel to make it handle concurrent connections properly.</p><p>We made a lot of compromises to make things actually work given the limited memory, compute, and network resources we had. Our data science tools were rudimentary, and in fact nobody called it data science yet. We used GPUs to play video games!</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://bokonads.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading BOK on Ads (and Climate)! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>One of the critical ways to make the incredibly complicated internet fit into our limited capabilities was to use taxonomies, that is to say, to categorize stuff. If you know that a web page is about Interior Decorating, presumably that tells you something about the person visiting the site - for instance, I promise you it is not me. If you click around the <a href="https://github.com/InteractiveAdvertisingBureau/Taxonomies/blob/develop/Content%20Taxonomies/Content%20Taxonomy%203.1.tsv">IAB Content Taxonomy</a>, used by the majority of the ad tech industry, it&#8217;s both terrifyingly precise (infertility) and reductive (American football).</p><h3>Enter AI</h3><p>One thing that large language models are incredibly good at is processing and &#8220;understanding&#8221; content.</p><p>I found a <a href="https://interiordesign.net/projects/sauska-tokaj-hilltop-winery-in-hungary/">random interior design article</a> and copied the text and images into Claude and asked: &#8220;what kind of products do you think would make sense to advertise by this article?&#8221;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!3XEN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe277c27f-f6f0-43a0-a50b-4dbe7481d4c3_1488x1564.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3XEN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe277c27f-f6f0-43a0-a50b-4dbe7481d4c3_1488x1564.png 424w, https://substackcdn.com/image/fetch/$s_!3XEN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe277c27f-f6f0-43a0-a50b-4dbe7481d4c3_1488x1564.png 848w, https://substackcdn.com/image/fetch/$s_!3XEN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe277c27f-f6f0-43a0-a50b-4dbe7481d4c3_1488x1564.png 1272w, https://substackcdn.com/image/fetch/$s_!3XEN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe277c27f-f6f0-43a0-a50b-4dbe7481d4c3_1488x1564.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3XEN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe277c27f-f6f0-43a0-a50b-4dbe7481d4c3_1488x1564.png" width="1456" height="1530" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e277c27f-f6f0-43a0-a50b-4dbe7481d4c3_1488x1564.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1530,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1285759,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://bokonads.com/i/158887016?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe277c27f-f6f0-43a0-a50b-4dbe7481d4c3_1488x1564.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!3XEN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe277c27f-f6f0-43a0-a50b-4dbe7481d4c3_1488x1564.png 424w, https://substackcdn.com/image/fetch/$s_!3XEN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe277c27f-f6f0-43a0-a50b-4dbe7481d4c3_1488x1564.png 848w, https://substackcdn.com/image/fetch/$s_!3XEN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe277c27f-f6f0-43a0-a50b-4dbe7481d4c3_1488x1564.png 1272w, https://substackcdn.com/image/fetch/$s_!3XEN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe277c27f-f6f0-43a0-a50b-4dbe7481d4c3_1488x1564.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>That is fantastic, right? I think a contextual targeting approach<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a> would definitely have caught 3, 4, 6, and 7. But premium wines - of course that makes sense for a winery - fine dining, and luxury travel&#8230; great ideas.</p><p>Taking a different approach, what if we ask about particular advertisers?</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!j19N!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fd55fdb-5434-4fbb-804f-ec0b71e6fc23_1516x1258.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!j19N!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fd55fdb-5434-4fbb-804f-ec0b71e6fc23_1516x1258.png 424w, https://substackcdn.com/image/fetch/$s_!j19N!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fd55fdb-5434-4fbb-804f-ec0b71e6fc23_1516x1258.png 848w, https://substackcdn.com/image/fetch/$s_!j19N!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fd55fdb-5434-4fbb-804f-ec0b71e6fc23_1516x1258.png 1272w, https://substackcdn.com/image/fetch/$s_!j19N!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fd55fdb-5434-4fbb-804f-ec0b71e6fc23_1516x1258.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!j19N!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fd55fdb-5434-4fbb-804f-ec0b71e6fc23_1516x1258.png" width="1456" height="1208" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0fd55fdb-5434-4fbb-804f-ec0b71e6fc23_1516x1258.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1208,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:907577,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://bokonads.com/i/158887016?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fd55fdb-5434-4fbb-804f-ec0b71e6fc23_1516x1258.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!j19N!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fd55fdb-5434-4fbb-804f-ec0b71e6fc23_1516x1258.png 424w, https://substackcdn.com/image/fetch/$s_!j19N!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fd55fdb-5434-4fbb-804f-ec0b71e6fc23_1516x1258.png 848w, https://substackcdn.com/image/fetch/$s_!j19N!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fd55fdb-5434-4fbb-804f-ec0b71e6fc23_1516x1258.png 1272w, https://substackcdn.com/image/fetch/$s_!j19N!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fd55fdb-5434-4fbb-804f-ec0b71e6fc23_1516x1258.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Again, brilliant response. Let&#8217;s go for a trifecta: What ad copy would you suggest for a United airlines ad on this page?</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!J-uB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3c26ebd-8937-45a8-9262-ad957070fcee_1284x1652.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!J-uB!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3c26ebd-8937-45a8-9262-ad957070fcee_1284x1652.png 424w, https://substackcdn.com/image/fetch/$s_!J-uB!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3c26ebd-8937-45a8-9262-ad957070fcee_1284x1652.png 848w, https://substackcdn.com/image/fetch/$s_!J-uB!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3c26ebd-8937-45a8-9262-ad957070fcee_1284x1652.png 1272w, https://substackcdn.com/image/fetch/$s_!J-uB!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3c26ebd-8937-45a8-9262-ad957070fcee_1284x1652.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!J-uB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3c26ebd-8937-45a8-9262-ad957070fcee_1284x1652.png" width="1284" height="1652" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b3c26ebd-8937-45a8-9262-ad957070fcee_1284x1652.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1652,&quot;width&quot;:1284,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:494374,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://bokonads.com/i/158887016?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3c26ebd-8937-45a8-9262-ad957070fcee_1284x1652.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!J-uB!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3c26ebd-8937-45a8-9262-ad957070fcee_1284x1652.png 424w, https://substackcdn.com/image/fetch/$s_!J-uB!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3c26ebd-8937-45a8-9262-ad957070fcee_1284x1652.png 848w, https://substackcdn.com/image/fetch/$s_!J-uB!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3c26ebd-8937-45a8-9262-ad957070fcee_1284x1652.png 1272w, https://substackcdn.com/image/fetch/$s_!J-uB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3c26ebd-8937-45a8-9262-ad957070fcee_1284x1652.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This is SO much better than trying to stick a keyword in some kind of dynamic creative solution. These are fantastic.</p><h3>But you can&#8217;t run AI on every page of the internet. That&#8217;s crazy talk.</h3><p>In 2023, it would have cost around $45M to run an LLM on every ad-supported page of the internet. Eighteen months later, more like $1M. Today, with DeepSeek, it&#8217;s $270K. By this time next year running an LLM on every page on the internet will cost less than $100K.</p><p>That&#8217;s not a whole lot of money if you&#8217;re an advertiser spending $1B a year on digital. It&#8217;s not a whole lot of money if you&#8217;re an advertiser spending $10M a year. It just means you need a few percent better performance to make it worth it. And if you look at the results above, it&#8217;s hard to imagine it&#8217;s not a lot better than most of the ads we see on the internet today.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!AzEX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F243d6be6-9cf3-44a5-9463-7a3d336b3dfd_3000x2213.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!AzEX!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F243d6be6-9cf3-44a5-9463-7a3d336b3dfd_3000x2213.png 424w, https://substackcdn.com/image/fetch/$s_!AzEX!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F243d6be6-9cf3-44a5-9463-7a3d336b3dfd_3000x2213.png 848w, https://substackcdn.com/image/fetch/$s_!AzEX!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F243d6be6-9cf3-44a5-9463-7a3d336b3dfd_3000x2213.png 1272w, https://substackcdn.com/image/fetch/$s_!AzEX!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F243d6be6-9cf3-44a5-9463-7a3d336b3dfd_3000x2213.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!AzEX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F243d6be6-9cf3-44a5-9463-7a3d336b3dfd_3000x2213.png" width="1456" height="1074" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/243d6be6-9cf3-44a5-9463-7a3d336b3dfd_3000x2213.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1074,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Image preview&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Image preview" title="Image preview" srcset="https://substackcdn.com/image/fetch/$s_!AzEX!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F243d6be6-9cf3-44a5-9463-7a3d336b3dfd_3000x2213.png 424w, https://substackcdn.com/image/fetch/$s_!AzEX!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F243d6be6-9cf3-44a5-9463-7a3d336b3dfd_3000x2213.png 848w, https://substackcdn.com/image/fetch/$s_!AzEX!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F243d6be6-9cf3-44a5-9463-7a3d336b3dfd_3000x2213.png 1272w, https://substackcdn.com/image/fetch/$s_!AzEX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F243d6be6-9cf3-44a5-9463-7a3d336b3dfd_3000x2213.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>How about from a sustainability lens? GPT-4 would have required 1,440 metric tons of CO2 for inference, whereas LLaMa 3.1 70b only 360 metric tons, and Deepseek v3 is likely much lower due to its mixture of experts architecture and FP8 precision. These numbers are going down less quickly than financial costs, likely due to increased competition and attempts to improve model performance, but still dropping impressively.</p><div class="embedded-post-wrap" data-attrs="{&quot;id&quot;:153851082,&quot;url&quot;:&quot;https://sustainableai.substack.com/p/do-datacenters-generate-more-greenhouse&quot;,&quot;publication_id&quot;:3145416,&quot;publication_name&quot;:&quot;Sustainable AI&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cfa9d53-1069-411d-8fe5-c22c85c01466_1280x1280.png&quot;,&quot;title&quot;:&quot;Do datacenters generate more greenhouse gas than aviation?&quot;,&quot;truncated_body_text&quot;:&quot;The WEF says yes&quot;,&quot;date&quot;:&quot;2025-01-07T11:01:25.675Z&quot;,&quot;like_count&quot;:2,&quot;comment_count&quot;:0,&quot;bylines&quot;:[{&quot;id&quot;:840381,&quot;name&quot;:&quot;Brian O'Kelley&quot;,&quot;handle&quot;:&quot;bokelley&quot;,&quot;previous_name&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8c1c2c79-4827-41c7-8733-d92fa991f288_1638x2048.jpeg&quot;,&quot;bio&quot;:&quot;Brian O&#8217;Kelley is the CEO and co-founder of Scope3, leading the decarbonization of the media and advertising industry, and is a board member of LiveRamp (RAMP). He was the co-founder and CEO of AppNexus through its $1.6B sale to AT&amp;T in 2018.&quot;,&quot;profile_set_up_at&quot;:&quot;2022-08-29T21:09:48.188Z&quot;,&quot;publicationUsers&quot;:[{&quot;id&quot;:2469236,&quot;user_id&quot;:840381,&quot;publication_id&quot;:2442123,&quot;role&quot;:&quot;admin&quot;,&quot;public&quot;:true,&quot;is_primary&quot;:false,&quot;publication&quot;:{&quot;id&quot;:2442123,&quot;name&quot;:&quot;BOK on Ads (and Climate)&quot;,&quot;subdomain&quot;:&quot;scope3&quot;,&quot;custom_domain&quot;:&quot;bokonads.com&quot;,&quot;custom_domain_optional&quot;:false,&quot;hero_text&quot;:&quot;Investigating the systemic decarbonization of digital advertising and other complex global supply chains&quot;,&quot;logo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/79f654e6-9040-43a7-9f4f-25e68c67d82d_675x675.png&quot;,&quot;author_id&quot;:840381,&quot;theme_var_background_pop&quot;:&quot;#A33ACB&quot;,&quot;created_at&quot;:&quot;2024-03-20T11:57:05.641Z&quot;,&quot;email_from_name&quot;:null,&quot;copyright&quot;:&quot;Brian O'Kelley&quot;,&quot;founding_plan_name&quot;:null,&quot;community_enabled&quot;:true,&quot;invite_only&quot;:false,&quot;payments_state&quot;:&quot;disabled&quot;,&quot;language&quot;:null,&quot;explicit&quot;:false,&quot;homepage_type&quot;:&quot;newspaper&quot;,&quot;is_personal_mode&quot;:false}},{&quot;id&quot;:3208748,&quot;user_id&quot;:840381,&quot;publication_id&quot;:3145416,&quot;role&quot;:&quot;admin&quot;,&quot;public&quot;:true,&quot;is_primary&quot;:false,&quot;publication&quot;:{&quot;id&quot;:3145416,&quot;name&quot;:&quot;Sustainable AI&quot;,&quot;subdomain&quot;:&quot;sustainableai&quot;,&quot;custom_domain&quot;:null,&quot;custom_domain_optional&quot;:false,&quot;hero_text&quot;:&quot;The rapid adoption of AI will accelerate innovation while presenting significant environmental challenges. Here, we will share insights on our work at the intersection of AI and sustainability. &quot;,&quot;logo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7cfa9d53-1069-411d-8fe5-c22c85c01466_1280x1280.png&quot;,&quot;author_id&quot;:258805311,&quot;theme_var_background_pop&quot;:&quot;#FF6719&quot;,&quot;created_at&quot;:&quot;2024-10-09T18:47:50.626Z&quot;,&quot;email_from_name&quot;:null,&quot;copyright&quot;:&quot;Aya Saed&quot;,&quot;founding_plan_name&quot;:null,&quot;community_enabled&quot;:true,&quot;invite_only&quot;:false,&quot;payments_state&quot;:&quot;disabled&quot;,&quot;language&quot;:null,&quot;explicit&quot;:false,&quot;homepage_type&quot;:&quot;newspaper&quot;,&quot;is_personal_mode&quot;:false}}],&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;utm_campaign&quot;:null,&quot;belowTheFold&quot;:true,&quot;type&quot;:&quot;newsletter&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="EmbeddedPostToDOM"><a class="embedded-post" native="true" href="https://sustainableai.substack.com/p/do-datacenters-generate-more-greenhouse?utm_source=substack&amp;utm_campaign=post_embed&amp;utm_medium=web"><div class="embedded-post-header"><img class="embedded-post-publication-logo" src="https://substackcdn.com/image/fetch/$s_!cLID!,w_56,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cfa9d53-1069-411d-8fe5-c22c85c01466_1280x1280.png" loading="lazy"><span class="embedded-post-publication-name">Sustainable AI</span></div><div class="embedded-post-title-wrapper"><div class="embedded-post-title">Do datacenters generate more greenhouse gas than aviation?</div></div><div class="embedded-post-body">The WEF says yes&#8230;</div><div class="embedded-post-cta-wrapper"><span class="embedded-post-cta">Read more</span></div><div class="embedded-post-meta">a year ago &#183; 2 likes &#183; Brian O'Kelley</div></a></div><h3>Introducing Context Agents</h3><p>Every brand is going to have a Context Agent: a model that&#8217;s trained to figure out four things:</p><ol><li><p>Is this content I want my ads next to? (brand suitability)</p></li><li><p>Is this content I&#8217;m excited to advertise next to? (brand alignment)</p></li><li><p>What key messages and products do I want to talk about on this page/app/show/channel?</p></li><li><p>What assets do I have (e.g. images, videos, product catalogs) that would be useful to create the optimal experience for this context?</p></li></ol><p>The interface to a context agent is quite simple thanks to the ability of LLMs to handle complex input. An &#8220;artifact&#8221; representing a piece of content is presented in JSON format, and the agent is asked to return JSON in a simple format.</p><p>For instance:</p><pre><code>Please assess whether this content is appropriate for United Airlines and whether it indicates propensity to purchase United Airlines products. If so, please suggest some key messages to use and products to recommend. Please respond with JSON in the format {"suitable": [true|false], "propensity": [low = 1, high = 10], "messages": ["message1", "message2"], "products": ["product1", "product2"], "reasoning": "an explanation"}.

Here's more detail about how to do this:

[CUSTOM PROMPT ABOUT THE BRAND]

Content:
 {
      "title": "UFO or Winery? This Contemporary Structure Stuns In Hungary",
      "paragraphs": [
        "How do you create an attention-grabbing modern building that integrates seamlessly with its timeless rural setting as though it has always belonged there? This conundrum faced Bord Architectural Studio and Tihany Design when they collaborated on Sauska Tokaj, a new hilltop winery and restaurant complex near R&#225;tka, in Hungary&#8217;s UNESCO World Heritage-listed Tokaj-Hegyalja wine region. The resulting structure&#8212;a pair of limestone-clad saucers&#8212;is both strange and familiar, like a UFO that&#8217;s just touched down or is emerging, chrysalislike, from the earth. It&#8217;s almost as if the Hungarian countryside itself is giving birth to the next wave in contemporary architecture.",
       ...
      ],
     "images": ["A house with a curved roof and a curved driveway", ...
      ]
 }</code></pre><p>The agent would return something like:</p><pre><code>{"suitable": true,
 "propensity": 7,
 "products": ["United flights to Budapest (gateway to Hungary's wine regions)",
    "United Polaris business class for premium travel experience",
    "United Vacations packages to Central Europe",
    "United MileagePlus Dining program tie-ins with wine experiences"
  ],
 "messages": [see above],
 "reasoning": "The content discusses a high-end architectural destination in Hungary's prestigious wine region (UNESCO World Heritage site), suggesting an audience interested in luxury travel, culture, architecture, and fine dining/wine experiences. This aligns well with United Airlines' international service and premium offerings. The content appeals to affluent travelers who appreciate unique cultural experiences abroad - a demographic likely to book international flights and premium cabin services. The wine tourism angle also presents opportunities for vacation packages. The content itself is appropriate and non-controversial, focusing on architecture, design, and cultural appreciation."
}</code></pre><p>And this is just an off-the-shelf AI running a zero-shot prompt with no fine-tuning. Imagine this properly built around exactly what United is trying to accomplish with their marketing?</p><h3>How do I build a Context Agent?</h3><p>Option 1: build a crawler that can scrape all the public content on the internet; Train/prompt an LLM and run it on all the content, making sure to calibrate to exclude all of the unsafe and unsuitable content; push the resulting data into all of the ad tech platforms; and figure out how to include this in bidding and buying logic using all of the different custom algorithms and other tools available on each platform.</p><p>Option 2: skip all of that except the most important part: train/prompt an LLM.</p><p>At Scope3, we started with option 1. We built a crawler in 2022 for our initial sustainability model. We built real-time integrations into SSPs and DSPs to plug in our sustainability signals. As we added more data we added the ability to handle more complex decisioning logic.</p><p>When we acquired Adloox last fall, we decided to build a new product: Scope3 Brand Standards. The big idea was to create a bespoke brand suitability model for every brand: in effect, a Context Agent. Since we had much of the infrastructure already built to crawl and decision and integrate, we really just needed to figure out how to effectively prompt an LLM the right way. (To any Scope3 engineers reading this and either laughing hysterically or weeping into their keyboard - yes, I know it was way more complicated than this!)</p><h3>Introducing the Scope3 Agentic Platform</h3><p>Once we got the platform working for ourselves, why not build something that our clients and partners could use to <a href="https://docs.scope3.com/docs/contextual-agents">build their own agents</a>?</p><p>The platform consists of four main systems:</p><ol><li><p>A content pipeline, which ingests content and sends it to Context Agents, then caches the results for real-time use</p></li><li><p>An audience pipeline, which ingests audiences from Audience Agents and caches them for real-time use</p></li><li><p>A custom algorithms pipeline, which ingests dimensions and weights from Optimization Agents for use in real-time decisioning</p></li><li><p>A real-time decisioning engine that connects these components to the ad tech ecosystem, plugging into DSPs, SSPs, and ad servers. The combination of algorithms, data, and integrations is a Media Agent.</p></li></ol><p>Our goal is to enable every brand - along with its agency and ad tech partners - to build a bespoke Media Agent. If I could be so bold, we hope to enable the same kind of innovation that we created twenty years ago with the dawn of programmatic. Instead of the ad exchange, we have the agentic exchange: a platform to connect advertisers, agencies, publishers, networks, and ad tech companies at the cutting edge of technology to create unprecedented value.</p><p>A few of the big opportunities we see for the media agent ecosystem to unlock value:</p><ul><li><p>Integrating audiences. Today we have data marketplaces with myriad providers and segments, often conflicting with each other. This is screaming for AI to map user characteristics to brands directly, without intermediating through segments.</p></li><li><p>Mining clean rooms. Similar to the above point, transactional data is messy and disjoint, especially across transactional platforms (think mapping a credit card transaction to a retail transaction, or even across retailers). Shouldn&#8217;t AI be able to create a synthetic shopper?</p></li><li><p>Custom algorithms. This is currently a niche capability that requires data science and complex integrations with each DSP. An optimization agent running on an agentic platform will be able to push signals into all of the places, including direct buys and native ads. The line between programmatic and direct is going to get very blurry very quickly.</p></li><li><p>Executing best practices. Most brands and agencies have centers of excellence that recommend best practices across their markets and teams, often informed by partners like Ebiquity. Using agents, these best practices can be checked on every media object across every platform, flagging opportunities to humans-in-the-loop, or even taking action directly.</p></li></ul><p>Of course there are so many more areas where AI and agents can create value (and I&#8217;m explicitly not including orchestration, analytics, or other areas that are bigger than &#8220;just&#8221; media). I think we&#8217;ll see so many new ideas over the next few years, and I can&#8217;t wait to see this ecosystem emerge.</p><p>Back to my Gentoo Linux point - all of this is just barely possible today, and it requires a lot of money, carbon, and tuning to get right. But in a decade, or likely less, it&#8217;s going to be easy, cheap, sustainable, and everywhere.</p><p>Let&#8217;s get <a href="https://scope3.com">started</a>!</p><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>I showed this to Anne Coghlan and she asked: is this article actually *about* interior design? It&#8217;s in Interior Design magazine&#8230; but this is the exact problem with taxonomies!</p><p></p></div></div>]]></content:encoded></item><item><title><![CDATA[An open letter to the advertising punditry]]></title><description><![CDATA[Or why talking about closing the barn door after the horse has bolted is not going to find the damn horse]]></description><link>https://bokonads.com/p/an-open-letter-to-the-advertising</link><guid isPermaLink="false">https://bokonads.com/p/an-open-letter-to-the-advertising</guid><dc:creator><![CDATA[Brian O'Kelley]]></dc:creator><pubDate>Thu, 25 Apr 2024 13:12:04 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/8hBg80CZMJ4" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Dear [industry exec or journalist who suddenly jumped on the scandal-of-the-week bandwagon],</p><p>I appreciate the commitment to focus more on [made-for-advertising | cookie stuffing | chameleon sites | running on off-network sites with no transparency]. Since all of these behaviors have been happening for at least a decade, it&#8217;s great that you&#8217;ve finally noticed and written such a passionate piece about how the industry needs to clean up its act and how buyers should really give more of a shit about [this issue].</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://bokonads.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading BOK on Ads (and Climate)! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>Here&#8217;s the reality. You can get fired for wasting money on a bunch of crap in any job, and the people who work at advertisers and agencies know this. Therefore, shockingly, they don&#8217;t want to admit they are buying a bunch of crap. Ian Whittaker explains this elegantly <a href="https://www.linkedin.com/feed/update/urn:li:activity:7187720921191784448/">here</a>. Or as Upton Sinclair put it, &#8220;it is difficult to get a man to understand something, when his salary depends on his not understanding it.&#8221;</p><p>What buyers actually do, the smart ones at least, is some sort of marketing mix modeling that looks at incremental revenue by media investment channel. When you hear a head of media at a big brand say &#8220;fraud and waste are priced into programmatic&#8221; what they are saying is that they are allocating investment based on the net, not the gross. I was looking at the media plan of a large advertiser recently and the plan was split out like this: YouTube, sponsorships, Trade Desk. Under Trade Desk was the entire open web and streaming. If Trade Desk wants to grow their top line, they have to drive real performance when the advertiser does the math at the end of the year. From the point of view of the marketer, Trade Desk is a synonym for programmatic. And when these stories come out, do you know what Trade Desk does? They point at all of their independent efforts to clean up the ecosystem and then they point at their return on ad spend and say &#8220;don&#8217;t worry.&#8221; This is exactly where all the conversations about PMax transparency are going to lead, because Google has realized the same thing: at the end of the day it&#8217;s all about delivering marketing results to the advertiser.</p><p>I&#8217;ve been observing and trying to fight back against the shady underbelly of the programmatic industry for literally as long as there has been a programmatic industry. I&#8217;ve seen first-hand the tension at AppNexus when we would try to turn off a client for sketchy behavior. The client would immediately call their account manager and protest; often I would get a phone call from the client&#8217;s CEO talking about how clean their business is and how this was just a mistake. My commercial team would say listen, I get that we want to do the right thing here, but I don&#8217;t think I can hit my numbers this quarter if we turn these guys off. The data science team would start getting pressured from all sides: &#8220;I know you found a few sketchy things, but are you <strong>positive</strong> this is fraud?&#8221;</p><p>In the end it had to be me, the CEO of AppNexus, saying to the company and the board that 1) we were not going to take revenue into account when making decisions about quality and 2) we were changing our mindset from &#8220;innocent until proven guilty&#8221; to &#8220;guilty until proven innocent.&#8221; I personally got involved in the Inventory Quality reviews to make sure that the data scientists weren&#8217;t pressured by the business and could find the patterns &#8211; like ww3.forbes.com &#8211; and go after them. The truth is that they were incredibly easy to find once we started looking for them (noting that as an end-to-end platform we had very good data quality; it would be hard if you were just a DSP to see what&#8217;s happening in front of the SSP).</p><p>If you look back at what happened when I made this change, I was outright <a href="https://digiday.com/marketing/appnexus-filters-65-percent-impressions-fraudulent/">pilloried</a> by the industry. &#8220;Brian O&#8217;Kelley admits AppNexus has a fraud problem&#8221; and so forth. I ended up kicking out clients representing about 30% of the traffic on the platform, but interesting only about 3% of spend, because they were all reselling to each other to launder the traffic through the programmatic ecosystem. Because of the revenue reset, we had to do layoffs. It sucked, a lot, and took a while to rebuild our reputation (ironically, since our competitors were still doing exactly what they were screaming at us for <strong>stopping</strong>) and business took a bit to bounce back. But it did, and we were able to launch our ad server and video products and credibly walk into the largest brands and publishers and deliver at a level that nobody else in the industry except Google could&#8230; and that is why AT&amp;T bought us for $1.6B. Because we did the right thing and took our lumps. Trade Desk is very similar here &#8211; Jeff, Jud, and team have been cleaning up their supply chain and it&#8217;s paying off big time.</p><p>There is a systematic solution that seems obvious&#8230; auditing ad tech companies for adherence to standards. The industry is upside down: we have MRC accreditation for &#8220;verification&#8221; solutions that sit outside the value chain, but no concept of holding companies accountable for doing the right thing in the first place. In practice that means that companies fall into two buckets: those playing the long game and doing what&#8217;s right for the advertiser, even if it has some revenue consequences; and those playing the short-term game and trying to get away with shenanigans (or just not trying very hard to look for shenanigans, which amounts to the same thing).</p><p>In sum, I don&#8217;t think it&#8217;s a coincidence that the two biggest DSPs have the best anti-fraud solutions in place (Trade Desk through its partnership with Human, Google through its acquisition of Spider.io and ongoing development). Or that Trade Desk is taking share from Google as it has tightened up inventory quality.</p><p>It&#8217;s this simple (and NSFW): the advertiser is Big Worm and when he comes looking for his money&#8230;</p><div id="youtube2-8hBg80CZMJ4" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;8hBg80CZMJ4&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/8hBg80CZMJ4?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>So write some more articles and bemoan the situation and talk about vanity metrics. I&#8217;m just watching the money shift toward the companies that make advertisers more money. The rest are slowly and inexorably going up in smoke.</p><p>With love,</p><p>b</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://bokonads.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading BOK on Ads (and Climate)! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Moving BOKonAds to Substack]]></title><description><![CDATA[Joining the Substack community and conversation]]></description><link>https://bokonads.com/p/coming-soon</link><guid isPermaLink="false">https://bokonads.com/p/coming-soon</guid><dc:creator><![CDATA[Brian O'Kelley]]></dc:creator><pubDate>Wed, 20 Mar 2024 11:57:05 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/bae75f4d-3954-403b-a785-1169d27f708b_500x500.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p></p><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://substack.com/refer/brianokelley?utm_source=substack&amp;utm_context=post&amp;utm_content=142788107&amp;utm_campaign=writer_referral_button&quot;,&quot;text&quot;:&quot;Start a Substack&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">Start writing today. Use the button below to create your Substack and connect your publication with BOK on Ads (and Climate)</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://substack.com/refer/brianokelley?utm_source=substack&amp;utm_context=post&amp;utm_content=142788107&amp;utm_campaign=writer_referral_button&quot;,&quot;text&quot;:&quot;Start a Substack&quot;,&quot;hasDynamicSubstitutions&quot;:false}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://substack.com/refer/brianokelley?utm_source=substack&amp;utm_context=post&amp;utm_content=142788107&amp;utm_campaign=writer_referral_button"><span>Start a Substack</span></a></p></div><p>Over the past year I've been increasingly impressed by the community and conversation happening on Substack. The thoughtful content and the quality of the  discussions remind me of what Medium and Twitter should have become.</p><p>I&#8217;ve appreciated the Ghost platform as an independent way to operate a newsletter. However, it comes with meaningful hosting costs and maintenance overhead that don&#8217;t make sense for me as a casual blogger. In addition, there is no connection to an audience or community, and in fact most of the discussion of my posts takes place on LinkedIn.</p><p>My motivation to write is to have an impact, however small. By joining Substack, I think I can make a bit more of an impact, and perhaps will have a bit more motivation to write on a regular basis!</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://bokonads.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://bokonads.com/subscribe?"><span>Subscribe now</span></a></p>]]></content:encoded></item><item><title><![CDATA[Why is a creative like a bicycle?]]></title><description><![CDATA[For the past three months, I've been sort of obsessed with trying to model the carbon footprint of a creative.]]></description><link>https://bokonads.com/p/why-is-a-creative-like-a-bicycle</link><guid isPermaLink="false">https://bokonads.com/p/why-is-a-creative-like-a-bicycle</guid><dc:creator><![CDATA[Brian O'Kelley]]></dc:creator><pubDate>Tue, 05 Mar 2024 21:57:02 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/8db277ce-be28-4273-b7b6-d3a7f273fa9e_1948x1086.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!3FiO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc09b33a-a2f7-444a-8aa1-af6a5e2ce35c_1948x1086.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3FiO!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc09b33a-a2f7-444a-8aa1-af6a5e2ce35c_1948x1086.png 424w, https://substackcdn.com/image/fetch/$s_!3FiO!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc09b33a-a2f7-444a-8aa1-af6a5e2ce35c_1948x1086.png 848w, https://substackcdn.com/image/fetch/$s_!3FiO!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc09b33a-a2f7-444a-8aa1-af6a5e2ce35c_1948x1086.png 1272w, https://substackcdn.com/image/fetch/$s_!3FiO!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc09b33a-a2f7-444a-8aa1-af6a5e2ce35c_1948x1086.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3FiO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc09b33a-a2f7-444a-8aa1-af6a5e2ce35c_1948x1086.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bc09b33a-a2f7-444a-8aa1-af6a5e2ce35c_1948x1086.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Why is a creative like a bicycle?&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Why is a creative like a bicycle?" title="Why is a creative like a bicycle?" srcset="https://substackcdn.com/image/fetch/$s_!3FiO!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc09b33a-a2f7-444a-8aa1-af6a5e2ce35c_1948x1086.png 424w, https://substackcdn.com/image/fetch/$s_!3FiO!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc09b33a-a2f7-444a-8aa1-af6a5e2ce35c_1948x1086.png 848w, https://substackcdn.com/image/fetch/$s_!3FiO!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc09b33a-a2f7-444a-8aa1-af6a5e2ce35c_1948x1086.png 1272w, https://substackcdn.com/image/fetch/$s_!3FiO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc09b33a-a2f7-444a-8aa1-af6a5e2ce35c_1948x1086.png 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a><p>For the past three months, I've been sort of obsessed with trying to model the carbon footprint of a creative. Like so many obsessions it started with a simple idea: we should treat native creatives differently than third-party-served creatives. One thing led to another and pretty soon I was reading technical specs for video compression and streaming formats. (Side note: kudos to the Pinterest engineering team for <a href="https://medium.com/pinterest-engineering/optimizing-video-playback-performance-caf55ce310d1?ref=bokonads.com">this deep dive</a> into how they optimize video for user experience!)</p><p>What I came up with, with much help from Emma Etherington, Benjamin Davy, and many others, is a <a href="https://methodology.scope3.com/creative?ref=bokonads.com">model</a> that splits the rendered creative into four parts:</p><ul><li><p>The placement or "ad hole" as Jason Spero calls it, which I can't stop saying and laughing at</p></li><li><p>The ad format or scaffolding for creative assets</p></li><li><p>The creative, effectively a manifest of assets, trackers, and other bits and pieces</p></li><li><p>The assets themselves</p></li></ul><p>After many iterations, this representation solves for many of the complexities across channels and helps provide reasonable defaults when we don't have all of the exact details (for instance, when estimating carbon prior to selecting an ad format or building a creative).</p><p>Along this process, I realized that while we had documented our thinking about methodology, there was no single place you could go to see all of our calculations. So I tried to write out all of the equations, and asked the Scope3 engineering team to see how they compared with what we actually do in production. After a couple of weeks of back and forth, we're pretty close, with a few tweaks that would cause numbers to change in production that need some customer notification (for instance, switching to blended, country-specific device type defaults). I am so excited about this because it means that any other sustainability provider should be able to get the same exact numbers as we do. This was the whole point of open sourcing our framework, and I'm still looking for a good home (ie with governance and financial resources) to continue and expand this effort... a prebid.org for sustainability measurement if you will. Ping me if you're interested in collaborating on that!</p><p>Finally, I did a little whiteboard session to walk through the process. I tried to make this accessible so that you don't have to be an ad tech or sustainability nerd to follow along, but this is BOKonAds so who knows if I pulled it off!</p><div class="captioned-image-container"><figure><p><a href="https://www.linkedin.com/posts/brianokelley_how-is-a-creative-like-a-bicycle-that-sounds-activity-7170892772164513792-n-2l?utm_source=share&amp;utm_medium=member_desktop">Brian O&amp;#39;Kelley on LinkedIn: How is a creative like a bicycle? That sounds like the start of a dad&#8230;</a></p><figcaption class="image-caption"><a href="https://www.linkedin.com/posts/brianokelley_how-is-a-creative-like-a-bicycle-that-sounds-activity-7170892772164513792-n-2l?utm_source=share&amp;utm_medium=member_desktop">How is a creative like a bicycle? That sounds like the start of a dad joke, but we have to answer it if we want to compare the carbon footprint of a digital&#8230;</a></figcaption><figcaption class="image-caption"><a href="https://www.linkedin.com/posts/brianokelley_how-is-a-creative-like-a-bicycle-that-sounds-activity-7170892772164513792-n-2l?utm_source=share&amp;utm_medium=member_desktop">LinkedInBrian O&#8217;Kelley</a></figcaption></figure></div>]]></content:encoded></item><item><title><![CDATA[Collaborative Innovation: How an industry made sustainability a reality]]></title><description><![CDATA[Today Scope3 announced an oversubscribed $20MM round led by GV.]]></description><link>https://bokonads.com/p/collaborative-innovation</link><guid isPermaLink="false">https://bokonads.com/p/collaborative-innovation</guid><dc:creator><![CDATA[Brian O'Kelley]]></dc:creator><pubDate>Thu, 12 Oct 2023 12:20:25 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/3e7637b5-61ce-4ca4-98a3-3eb7a0fa6f55_2000x855.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!2rbg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5aaf3381-8073-4c5e-aa4a-f53a852c2713_2000x855.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!2rbg!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5aaf3381-8073-4c5e-aa4a-f53a852c2713_2000x855.jpeg 424w, https://substackcdn.com/image/fetch/$s_!2rbg!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5aaf3381-8073-4c5e-aa4a-f53a852c2713_2000x855.jpeg 848w, https://substackcdn.com/image/fetch/$s_!2rbg!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5aaf3381-8073-4c5e-aa4a-f53a852c2713_2000x855.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!2rbg!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5aaf3381-8073-4c5e-aa4a-f53a852c2713_2000x855.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!2rbg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5aaf3381-8073-4c5e-aa4a-f53a852c2713_2000x855.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5aaf3381-8073-4c5e-aa4a-f53a852c2713_2000x855.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Collaborative Innovation: How an industry made sustainability a reality&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Collaborative Innovation: How an industry made sustainability a reality" title="Collaborative Innovation: How an industry made sustainability a reality" srcset="https://substackcdn.com/image/fetch/$s_!2rbg!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5aaf3381-8073-4c5e-aa4a-f53a852c2713_2000x855.jpeg 424w, https://substackcdn.com/image/fetch/$s_!2rbg!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5aaf3381-8073-4c5e-aa4a-f53a852c2713_2000x855.jpeg 848w, https://substackcdn.com/image/fetch/$s_!2rbg!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5aaf3381-8073-4c5e-aa4a-f53a852c2713_2000x855.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!2rbg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5aaf3381-8073-4c5e-aa4a-f53a852c2713_2000x855.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a><p>Today <a href="https://scope3.com/?ref=bokonads.com">Scope3</a> <a href="https://www.wsj.com/articles/scope3-raises-20-million-to-expand-business-measuring-digital-ads-emissions-e705aa76?ref=bokonads.com">announced an oversubscribed $20MM round</a> led by GV. In this challenging fundraising environment, this raise is a testament not only to the incredible progress that the team has made over the past 21 months, but also to something special that happened in the advertising industry at the same time: a groundswell of collaboration and innovation. The creation of a <a href="https://bokonads.com/why-we-need-a-collaborative-sustainability-platform/">new software category</a> - one that we expect to be hundreds of millions of dollars in revenue within the next few years - doesn&#8217;t happen in a vacuum.</p><p>When I started thinking about Scope3 in 2021, I knew there was a massive carbon problem in the digital space. I also knew that most companies were thinking of sustainability as part of an ESG or corporate social responsibility initiative, not as part of the core business. The question I posed to my co-founders was simple: how do we help the industry integrate sustainability data so that companies make more money and drive systemic decarbonization?</p><p>Through this lens, we began to innovate and we began to collaborate. On the innovation front, we started building a comprehensive &#8220;digital twin&#8221; model of the digital ad supply chain that we could use as a foundation to integrate a multitude of data sources to drive unprecedented accuracy and depth in a global, complex, and opaque supply chain. On the collaboration front, we shared our data with early partners who, like Matt McIntyre of EssenceMediacom, encouraged us to develop APIs; who, like Benjamin Davy of Teads, went through the methodology with a fine-toothed comb to help us improve it; who, like Krystal Olivieri and Ollie Joyce of GroupM, helped us align our work with the year-long project that they had been leading to develop an omnichannel methodology.</p><p>At the same time, the industry was starting to take sustainability seriously. Trade association leaders, like Allison Pepper, Arthur Millet, Helene Chartier, Stephan Loerke, and Stephen Woodford, made sustainability a top priority. Climate advocates, like Duncan Meisel and Clean Creatives, pushed the industry to look in the mirror. Influencers, like Ruben Schreurs of Ebiquity, used data to show the environmental impact of made-for-advertising content. Corporate leaders like Marcus Mauermann of Axel Springer set the bar for how companies could be both granular and comprehensive in their sustainability reporting. Consortia like DIMPACT helped bring the best climate science, like Carbon Trust&#8217;s work on measuring streaming video, to the forefront. Agency leaders, like Martin Bryan of Mediabrands, made brave public commitments to reduce their programmatic emissions. All of these things were foundational in creating an environment where sustainability was a tailwind for commercial opportunities and for innovating.</p><p>As the industry was starting to lean into sustainability, Scope3 continued to innovate and collaborate. Early brainstorming sessions with Laura Wade about launching a green marketplace led to the development of Green Media Products. A challenge from Raja Rajamannar and Bob Liodice to prove that buying more sustainably would actually help performance led to a concept tested, proved, and productized as Climate Shield. Collaboration requires being in the room with people that care about climate and are willing to do something about it, and we have been incredibly fortunate to be in the room with wonderful people from day one.</p><p>Equally important to the influencers were - of course! - our commercial partners. I think back to Gurman Hundal&#8217;s hand-scrawled signature on our first signed contract and the joy and terror we felt that day. Today, with over 70 customers, I still feel that intense sense of excitement and opportunity as we expand and innovate.</p><p>When I think back to those early days, a quote from Georgia football coach Kirby Smart comes to mind: &#8220;We are elite at getting better&#8221; - in other words, at learning. I think that is the most important insight that I can share about how we went from a blank sheet of paper to raising a series B in less than two years. We have kept notes on almost every external meeting we&#8217;ve had since the beginning of the company - 4,471 so far - and learning from this knowledge base is our superpower.</p><p>Raising this round is the next step in our journey to build a <a href="https://bokonads.com/why-we-need-a-collaborative-sustainability-platform/">collaborative sustainability platform</a> that drives better media outcomes and accelerates systemic decarbonization in the digital media ecosystem. I have so much gratitude for the 36 ScopeThreeps that learn together every day. With committed investors, a supportive industry, and an incredible team, we are poised - together - to imagine and create a more sustainable digital world.</p>]]></content:encoded></item><item><title><![CDATA[We need a Collaborative Sustainability Platform]]></title><description><![CDATA[I had a fascinating meeting recently with a senior executive from a large advertiser.]]></description><link>https://bokonads.com/p/why-we-need-a-collaborative-sustainability-platform</link><guid isPermaLink="false">https://bokonads.com/p/why-we-need-a-collaborative-sustainability-platform</guid><dc:creator><![CDATA[Brian O'Kelley]]></dc:creator><pubDate>Mon, 18 Sep 2023 21:06:12 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/8f30a1a2-0a54-4f68-ab60-ae6ac222da36_2560x882.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ZplR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4be01dc-3e9e-45cf-9084-4ecf97bb35b2_2560x882.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ZplR!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4be01dc-3e9e-45cf-9084-4ecf97bb35b2_2560x882.png 424w, https://substackcdn.com/image/fetch/$s_!ZplR!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4be01dc-3e9e-45cf-9084-4ecf97bb35b2_2560x882.png 848w, https://substackcdn.com/image/fetch/$s_!ZplR!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4be01dc-3e9e-45cf-9084-4ecf97bb35b2_2560x882.png 1272w, https://substackcdn.com/image/fetch/$s_!ZplR!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4be01dc-3e9e-45cf-9084-4ecf97bb35b2_2560x882.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ZplR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4be01dc-3e9e-45cf-9084-4ecf97bb35b2_2560x882.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d4be01dc-3e9e-45cf-9084-4ecf97bb35b2_2560x882.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;We need a Collaborative Sustainability Platform&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="We need a Collaborative Sustainability Platform" title="We need a Collaborative Sustainability Platform" srcset="https://substackcdn.com/image/fetch/$s_!ZplR!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4be01dc-3e9e-45cf-9084-4ecf97bb35b2_2560x882.png 424w, https://substackcdn.com/image/fetch/$s_!ZplR!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4be01dc-3e9e-45cf-9084-4ecf97bb35b2_2560x882.png 848w, https://substackcdn.com/image/fetch/$s_!ZplR!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4be01dc-3e9e-45cf-9084-4ecf97bb35b2_2560x882.png 1272w, https://substackcdn.com/image/fetch/$s_!ZplR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4be01dc-3e9e-45cf-9084-4ecf97bb35b2_2560x882.png 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a><p>I had a fascinating meeting recently with a senior executive from a large advertiser.</p><p>I shared what we've learned about the environmental impact of advertising: that every digital ad has a significant carbon footprint; that advertisers need to take action to measure and reduce this footprint; and that reducing advertising waste has a positive impact not only on carbon but also on attention and other KPIs.</p><p>He said, "I want to do something about this problem." He told me about his personal commitment to the environment, the volunteer work he does, and the investments that his company has made around sustainability.</p><p>You can imagine me leaning in on my seat. Yes! This guy gets it!</p><p>And then he said&#8230; BUT.</p><p>But how do I get you the data you need to do this measurement?</p><p>But how do I get all of the different partners I work with to make these changes?</p><p>But how do I make sure what I&#8217;m doing aligns with our corporate sustainability processes?</p><p>But how do I comply with the corporate reporting regulations in Europe, in Australia, in California, and probably many more places?</p><p>But what about all of the innovations I see in this space - how do I know which are actually going to make a difference?</p><p>As I listened, as we talked through the challenges, I realized that our industry needs a new approach. One that can quickly help us understand the scope of the sustainability problem. An approach that acknowledges that we don&#8217;t know everything yet and that enables us to make progress, right now, to make things better. We need to be ready to comply with standards and policies from regulators, from investors, and from industry groups. We need a way to engage our partners to help us understand the value chain and work with us to systemically decarbonize the media and advertising industry.</p><p>Here's my key insight: only by understanding the interactions of complex value chains can we unlock the data and insights we need to act on the climate crisis.</p><p>What we need is a <strong>Collaborative Sustainability Platform</strong>. Here's what I think that needs to look like in order to give advertisers, agencies, publishers, platforms and vendors the capacity to work together to solve this climate crisis right now.</p><p><strong>Collaborative</strong></p><ol><li><p>Data sharing up and down the value chain to accurately map and measure environmental impact. As an example, imagine an advertiser trying to gather emissions data from all of its suppliers. Instead of having to ask each of them for the data, it&#8217;s automatically gathered into a single place. It&#8217;s data sharing instead of data collecting. This is great for media companies who are getting inundated with RFPs for sustainability data and it&#8217;s great for agencies who are trying to make sense of the data they&#8217;re getting back. This idea of data collaboration has proven incredibly powerful in other areas - look at Snowflake or LiveRamp - because it magnifies value as more and more companies participate. That&#8217;s collaboration in a nutshell: the more we collaborate, the more value we create. I love that.</p></li><li><p>Open source research and methodology to improve our shared understanding of the complex ecosystem we operate within. As you may know, Scope3 has been driving collaborative research on how to measure the carbon footprint of this industry for the past two years. We worked closely with GroupM on their Media Decarbonization whitepaper last year. We collaborate actively with Alliance Digitale in France on their excellent (and open source) methodology work. We encouraged IAB Tech Lab to start a sustainability working group, which we are closely involved in. We partnered with the WFA to pilot ideas on systemic decarbonization and encouraged them (and now GARM) to get involved with industry standards on behalf of the world&#8217;s biggest advertisers. And we&#8217;ve created an open source repository of the best research and data we&#8217;ve found about measuring advertising sustainability. We all have to learn together and share what we're learning.</p></li><li><p>An ecosystem of solutions to encourage and invest in innovation. Scope3 isn&#8217;t the only company working on sustainable advertising, and that&#8217;s fantastic. We need ideas from all sides of the ecosystem and all around the world if we&#8217;re going to make a difference fast enough. You may have seen the <a href="https://bokonads.com/the-greenscape/">Ad Tech Greenscape</a> that I put together a few months ago. There are so many companies with innovative ideas here! Take Sharethrough, the first company to launch Green PMPs - and they just delivered their billionth green impression! Or Microsoft, who have reduced the footprint of MSN by almost 90% in the past twelve months. Or SeenThis, who streamline creative delivery and make it dramatically less bandwidth intensive. All of these companies have collaborated, not just with Scope3, but with brands and agencies who have been brave and bold enough to invest in these solutions.</p></li></ol><p><strong>Sustainability</strong></p><ol><li><p>Accurate models of advertising value chains: every single step required to choose an ad and deliver it to your phone or computer or TV or car or refridgerator; the total emissions of each company involved in that process, how they shape, decision, and filter traffic; the bandwidth of the internet backbone; the energy emitted by a cell tower or wifi router. All measured in context of embodied emissions through the production of physical equipment, all normalized to properly account for real-time grid intensity, renewable energy sources, and the latest research on how corporate emissions impact our physical environment.</p></li><li><p>Alignment with standards and regulatory requirements. California just passed environmental reporting standards which look to be even stricter than the CSRD in Europe. Financial organizations are introducing standards for ESG investing and for green finance. Industry groups are creating standards, like the WFA and GARM. Companies - especially global ones - need to be aligned with all of these standards, and a CSP must make this easy and consistent across the value chain.</p></li><li><p>Granularity to enable effective action. We need to know what are our hot spots. Which channels, which processes, which vendors, which regions, which placements. Going back to collaboration, we need to be able to share this data with our key partners, like our agency or key publishers, and help them see the world through the same lens we do. We can't let averages remove the incentives for individual companies to innovate and differentiate themselves. We need to see sustainability next to media metrics and invest real money in great media that is also green.</p></li></ol><p><strong>Platform</strong></p><ol><li><p>Powers other companies. It's not a platform if you don't have other companies building on top of the platform who thrive and make money, and if you&#8217;re really doing your job right, to make more money than you do. The platform has to be flexible so that partners can do things that you might not have imagined - but not in ways that would undermine compliance with standards, of course. A true platform is inherently collaborative as the ecosystem learns and evolves together.</p></li><li><p>Powerful APIs that facilitate integrating data, ideally bidirectionally, and with reasonable economics. The biggest difference betweeen advertising and other supply chains is that we have massive, real-time, granular data. A sustainability platform has to make it easy to ingest, process, and share data at internet scale, normalize this data to align with standards and best practices, and rapidly incorporate changes to the overall emissions model.</p></li><li><p>Software. A sustainability platform doesn't need pixels or javascript or wrapping creatives or curation. It shouldn't make money off selling offsets or media. It's not a consulting business. All of those things can and will be built on top of a platform - see first bullet - but they fundamentally aren't collaborative or platforms, and probably aren't all that sustainable. A platform is software, ideally sitting in a low-carbon cloud, engineered for efficiency at scale.</p></li></ol><p>So let me sum all of that up. A Collaborative Sustainability Platform will enable companies in a value chain to share data, to accurately measure environmental impact, to comply with key standards and regulations, to take action, and to power an ecosystem of solutions that leverage the platform to innovate and accelerate change.</p><p>As of today, Scope3 is fully committed to building a CSP. We are actively working to integrate our 70+ partners into our platform; we're building a new set of APIs that vastly enhance our ability to ingest granular data into our model; and we're building a user interface on top of all of this that makes it easy for advertisers and agencies to collect, benchmark, and take action on the full breadth of their media and creative production activities. It's a big undertaking that, like programmatic, requires a fundamental change in one of the biggest and most important industries in the world. It's also a mission that has the potential to make a substantial impact at global scale in our collective fight against climate change.</p><p>Take a look at our new open data platform at <a href="https://scope3.com/?ref=bokonads.com">scope3.com</a>, and please get in touch if you'd like to collaborate with us on our mission to build the industry's first collaborative sustainability platform to systemically decarbonize media and advertising!</p>]]></content:encoded></item><item><title><![CDATA[Captain Planet?]]></title><description><![CDATA[Yesterday FirstPartyCapital wrote an article stating:]]></description><link>https://bokonads.com/p/captain-planet</link><guid isPermaLink="false">https://bokonads.com/p/captain-planet</guid><dc:creator><![CDATA[Brian O'Kelley]]></dc:creator><pubDate>Sat, 27 May 2023 18:38:37 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/8c36592d-4c34-4927-bc01-cb9b73f40f11_1200x600.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!oocA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f2acbb9-9a4a-45f5-a9e7-c4911e651b88_1200x600.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!oocA!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f2acbb9-9a4a-45f5-a9e7-c4911e651b88_1200x600.jpeg 424w, https://substackcdn.com/image/fetch/$s_!oocA!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f2acbb9-9a4a-45f5-a9e7-c4911e651b88_1200x600.jpeg 848w, https://substackcdn.com/image/fetch/$s_!oocA!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f2acbb9-9a4a-45f5-a9e7-c4911e651b88_1200x600.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!oocA!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f2acbb9-9a4a-45f5-a9e7-c4911e651b88_1200x600.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!oocA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f2acbb9-9a4a-45f5-a9e7-c4911e651b88_1200x600.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2f2acbb9-9a4a-45f5-a9e7-c4911e651b88_1200x600.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Captain Planet?&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Captain Planet?" title="Captain Planet?" srcset="https://substackcdn.com/image/fetch/$s_!oocA!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f2acbb9-9a4a-45f5-a9e7-c4911e651b88_1200x600.jpeg 424w, https://substackcdn.com/image/fetch/$s_!oocA!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f2acbb9-9a4a-45f5-a9e7-c4911e651b88_1200x600.jpeg 848w, https://substackcdn.com/image/fetch/$s_!oocA!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f2acbb9-9a4a-45f5-a9e7-c4911e651b88_1200x600.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!oocA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f2acbb9-9a4a-45f5-a9e7-c4911e651b88_1200x600.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a><p>Yesterday FirstPartyCapital wrote an <a href="https://newsletter.firstpartycapital.com/p/privacy-is-the-existential-crisis?utm_source=direct&amp;utm_campaign=post&amp;utm_medium=web">article</a> stating:</p><blockquote><p>Brian O&#8217;Kelley emerged as an ad tech <a href="https://www.google.com/search?q=captain+planet&amp;source=lnms&amp;tbm=vid&amp;sa=X&amp;ved=2ahUKEwjC4IyRzZL_AhURO8AKHXIiAg4Q_AUoAnoECAEQBA&amp;biw=2406&amp;bih=726&amp;dpr=1#fpstate=ive&amp;vld=cid:15bf019c,vid:OiYjTb3opAA">Captain Planet</a> dedicated to saving the planet with his Scope3 carbon emissions model. And everyone got religious on environmental sustainability. ... In the end, this pivot to sustainability was some brief apocalyptic escapism for the industry. We chose to ignore the real threat that has the potential to eat ad tech alive if not properly addressed: namely, privacy.</p></blockquote><p>I filmed a little video with my response. Check it out (and comment/repost if you are so moved) on LinkedIn:</p><div class="captioned-image-container"><figure><p><a href="https://www.linkedin.com/posts/brianokelley_climate-change-is-existential-for-humanity-activity-7067999365419683840-8bsx?utm_source=share&amp;utm_medium=member_desktop">Brian O&amp;#39;Kelley on LinkedIn: Climate change is existential for humanity - not so much for ad tech. At&#8230;</a></p><figcaption class="image-caption"><a href="https://www.linkedin.com/posts/brianokelley_climate-change-is-existential-for-humanity-activity-7067999365419683840-8bsx?utm_source=share&amp;utm_medium=member_desktop">Climate change is existential for humanity - not so much for ad tech. At least, that&amp;#39;s what FirstPartyCapital thinks. My response&#8230;</a></figcaption><figcaption class="image-caption"><a href="https://www.linkedin.com/posts/brianokelley_climate-change-is-existential-for-humanity-activity-7067999365419683840-8bsx?utm_source=share&amp;utm_medium=member_desktop">LinkedInBrian O&#8217;Kelley</a></figcaption></figure></div>]]></content:encoded></item><item><title><![CDATA[The AdTech Greenscape]]></title><description><![CDATA[&#128161; "Marketers are finally starting to grasp the scale of the sustainability challenge, particularly the climate crisis.]]></description><link>https://bokonads.com/p/the-greenscape</link><guid isPermaLink="false">https://bokonads.com/p/the-greenscape</guid><dc:creator><![CDATA[Brian O'Kelley]]></dc:creator><pubDate>Thu, 04 May 2023 13:38:08 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/a4255599-01c9-4be5-97b7-7fb323d13c5a_1896x1252.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#128161;</p><p><em>"Marketers are finally starting to grasp the scale of the sustainability challenge, particularly the climate crisis. We have reached the point where the status quo is no longer an option. Radical transformation is essential." - Stephan Loerke, CEO, World Federation of Advertisers</em></p><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!PzZf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2930b2d1-95bf-45e6-a3ed-b289efc764b8_1896x1252.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!PzZf!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2930b2d1-95bf-45e6-a3ed-b289efc764b8_1896x1252.png 424w, https://substackcdn.com/image/fetch/$s_!PzZf!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2930b2d1-95bf-45e6-a3ed-b289efc764b8_1896x1252.png 848w, https://substackcdn.com/image/fetch/$s_!PzZf!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2930b2d1-95bf-45e6-a3ed-b289efc764b8_1896x1252.png 1272w, https://substackcdn.com/image/fetch/$s_!PzZf!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2930b2d1-95bf-45e6-a3ed-b289efc764b8_1896x1252.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!PzZf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2930b2d1-95bf-45e6-a3ed-b289efc764b8_1896x1252.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2930b2d1-95bf-45e6-a3ed-b289efc764b8_1896x1252.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;The AdTech Greenscape&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The AdTech Greenscape" title="The AdTech Greenscape" srcset="https://substackcdn.com/image/fetch/$s_!PzZf!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2930b2d1-95bf-45e6-a3ed-b289efc764b8_1896x1252.png 424w, https://substackcdn.com/image/fetch/$s_!PzZf!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2930b2d1-95bf-45e6-a3ed-b289efc764b8_1896x1252.png 848w, https://substackcdn.com/image/fetch/$s_!PzZf!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2930b2d1-95bf-45e6-a3ed-b289efc764b8_1896x1252.png 1272w, https://substackcdn.com/image/fetch/$s_!PzZf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2930b2d1-95bf-45e6-a3ed-b289efc764b8_1896x1252.png 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a><p>At the WFA World Marketer Week in Istanbul last week, I was stunned by the depth of marketer commitment to sustainable advertising. Sustainability (along with DEI) was a primary topic on the main stage at the conference. The updated <a href="https://wfanet.org/knowledge/item/2023/04/25/WFA-issues-Global-Media-Charter-30?ref=bokonads.com">Global Media Charter</a> makes "Sustainability and Planet" a core pillar. Every CMO and Head of Media that I spoke to was committed to taking concrete and immediate climate action.</p><p>With this urgency and commitment from the top, it's time for the industry to take systemic action. Yet there is still confusion about how the pieces fit. Who's doing what? Is optimizing creative enough? Do I need one vendor or many? Should I join a trade association? Will there be an industry standard?</p><p>With all of these questions, it's tempting to do nothing and wait for answers. In the midst of a climate crisis, that's the worst decision we can make.</p><p>In the interest of helping provide clarity and in tribute to Terry Kawaja, I put together a "Greenscape" - a market map for ad tech companies that offer sustainable advertising solutions.</p><p>I have added companies to the Greenscape based on my own knowledge of the market and my own biases (I'm an investor in, advisor to, and on the board of some of these companies, and co-founded Scope3). I'm sure I'm missing companies and have made mistakes! I'll make updates regularly based on:</p><ul><li><p>Whether the company has an actual solution in-market, not just a press release</p></li><li><p>What problem the solution addresses</p></li><li><p>Whether the solution is bundled with media</p></li><li><p>How the solution addresses the client's holistic footprint</p></li></ul><p>A huge thank you to all the people that helped me put this together and for the great feedback along the way!</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!x832!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F913e2319-713e-4117-8952-8537a04c4045_1896x1252.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!x832!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F913e2319-713e-4117-8952-8537a04c4045_1896x1252.png 424w, https://substackcdn.com/image/fetch/$s_!x832!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F913e2319-713e-4117-8952-8537a04c4045_1896x1252.png 848w, https://substackcdn.com/image/fetch/$s_!x832!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F913e2319-713e-4117-8952-8537a04c4045_1896x1252.png 1272w, https://substackcdn.com/image/fetch/$s_!x832!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F913e2319-713e-4117-8952-8537a04c4045_1896x1252.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!x832!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F913e2319-713e-4117-8952-8537a04c4045_1896x1252.png" width="1896" height="1252" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/913e2319-713e-4117-8952-8537a04c4045_1896x1252.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1252,&quot;width&quot;:1896,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;The AdTech Greenscape&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The AdTech Greenscape" title="The AdTech Greenscape" srcset="https://substackcdn.com/image/fetch/$s_!x832!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F913e2319-713e-4117-8952-8537a04c4045_1896x1252.png 424w, https://substackcdn.com/image/fetch/$s_!x832!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F913e2319-713e-4117-8952-8537a04c4045_1896x1252.png 848w, https://substackcdn.com/image/fetch/$s_!x832!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F913e2319-713e-4117-8952-8537a04c4045_1896x1252.png 1272w, https://substackcdn.com/image/fetch/$s_!x832!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F913e2319-713e-4117-8952-8537a04c4045_1896x1252.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>Category Definitions</h2><p>These categories are an attempt to describe "what does this company do" from a buyer's lens. For instance, if you are running a programmatic media campaign, you might be interested in campaign reporting and campaign optimization. Whether these companies are trading desks or DSPs or custom algorithm providers or verification vendors or media auditors matters - but in this context, they all fit into these two categories.</p><h3>Creative Production Measurement</h3><p>Track and measure the carbon footprint of a creative production, generally focusing on the crew, set, materials, travel, and post-production emissions.</p><h3>Carbon Calculators and Planning Tools</h3><p>Estimate the carbon footprint of a media plan by channel or media vendor. Ideal for comparing scenarios prior to making buying decisions.</p><h3>Campaign Carbon Reporting</h3><p>Measure the carbon footprint of campaigns based on impression-level data. May be real-time or executed post-campaign.</p><h3>Corporate Carbon Accounting</h3><p>Use financial and activity data to calculate the carbon footprint of an organization, generally for inclusion in a sustainability or impact report.</p><h3>Creative Optimization</h3><p>Minimize the data transfer and CPU usage of a creative.</p><h3>Campaign Optimization</h3><p>Optimize the targeting of a campaign to minimize its carbon footprint relative to reach and performance metrics.</p><h3>Green Media Platforms</h3><p>Curate and package private marketplaces to minimize their carbon footprint.</p><h3>Demand Partner Optimization</h3><p>Optimize distribution of programmatic bid requests to minimize carbon footprint per unit of revenue.</p><h3>Validated Sustainability Data</h3><p>Collate public and private sustainability data to create an "apples to apples" dataset aligned to scientific, regulatory, and industry standards.</p><h3>Advertising Industry Methodology and Standards</h3><p>Organizations working to create a common methodology and standards for measuring the carbon footprint of advertising-related activities.</p>]]></content:encoded></item></channel></rss>