Frequency Capping Across AI Surfaces in Multi-Brand Portfolios
AI surfaces lack the infrastructure to prevent multi-brand portfolios from overwhelming users.

Frequency capping only works if an ad platform can tell when it is looking at the same user twice. On AI surfaces, that condition does not reliably hold, and multi-brand advertisers are exposed to the gap faster and harder than single-brand advertisers because a holding company can exhaust a user's patience for an entire category before any one of its brands trips its own limit. Fixing this means rebuilding cap logic, identity matching, and cross-surface coordination from the ground up; you can't just adjust a setting inside an existing campaign.
Frequency capping in legacy ad tech assumes infrastructure AI surfaces lack
Frequency capping is, at its core, a rule: do not show this user the same ad more than X times in Y period, enforced by a platform that can recognize the same user across separate requests. The infrastructure built to enforce that rule in display and social advertising rests on a specific chain: a third-party cookie assigns a persistent ID to a browser, every ad call checks that ID against a cap counter, and a single page, carrying multiple ad slots, lets frequency get measured and incremented both within one page load and across the ones that follow. Without the page, the cookie, or the session boundary, the chain has nothing to anchor to and breaks at the first link.
AI surfaces remove all three. A conversation is a sequence of turns rather than a document sitting at a URL, so there is no page-view event to anchor an impression to any session boundary. The ad sits inside a model's response, not inside a browser's DOM, so the standard third-party cookie enforcement path doesn't apply there. And sessions themselves are unpredictable: a user can open ChatGPT, close it, come back four hours later in a new tab, and continue what is functionally the same purchase journey, with nothing connecting the two sessions at the level where caps get counted. Frequency capping assumes a platform can recognize the same user from one request to the next. On AI surfaces, that recognition is structurally uncertain. The rule has no stable ground to stand on before a single ad has even been served.
The platforms that have actually shipped advertising on these surfaces confirm the gap rather than close it. OpenAI turned on ads inside ChatGPT on February 9, 2026, limited to the Free and Go tiers in the US, and opened a self-serve Ads Manager on May 5, 2026; targeting runs on the topic of the conversation and, for users who opt into personalized ads, on past chats and past ad interactions, with no disclosed mechanism for capping exposure across brands or across surfaces. Microsoft's Copilot takes a comparable approach, using the whole conversation inside a single session as a primary targeting signal alongside keywords, audience data, and campaign settings, which gives advertisers session-level intent rather than a persistent identifier that could carry a cap forward into the next session. Neither platform has built the connective tissue that cap enforcement needs.
What multi-brand portfolios add to a broken cap model
A single-brand advertiser absorbs the identity gap described above as a measurement problem. A multi-brand holding company absorbs it as a structural one, because ad fatigue accumulates at the category level while caps get tracked at the brand level. Consider a CPG conglomerate running three competing personal-care brands, each capped internally at two impressions per day. A logged-in ChatGPT user who asks about skincare in the morning, hair care at noon, and body wash in the evening could see one ad from each brand over the course of the day: zero cap violations recorded anywhere in the system, and six total impressions delivered by the same parent company in that single day. Every individual cap held. The portfolio cap, which does not exist anywhere in the architecture, was blown wide open.
What the user experiences in that scenario has nothing to do with three independent advertisers competing for attention. That holding company appears repeatedly, across every grooming-adjacent conversation that user has that day. The auction running underneath has no way to see this. It evaluates each brand's bid and context match on its own, with no disclosed channel for a parent company to tell the auction that this particular user has already seen two of its portfolio brands today.
This is not a theoretical edge case. The companies named as launch partners in ChatGPT's ad pilot, Target, Adobe, Williams-Sonoma, and Albertsons, each operate across multiple product lines or owned brands, and the agencies buying early inventory on their behalf, WPP and Omnicom, paid roughly $60 CPM, about three times what Meta charges, while managing portfolios for dozens of clients across overlapping categories. Omnicom alone brought more than 30 clients spanning overlapping categories into the pilot, and WPP ran campaigns across automotive, CPG, entertainment, gaming, luxury, retail, technology, and travel simultaneously. Two agencies of that size, buying at that price, across that many clients in the same verticals, turns the cross-brand overexposure risk from a hypothetical into an operating condition of the market as it exists today.
The problem does not stop at a single AI surface. The same logged-in user can trigger brand-adjacent conversations on ChatGPT's Free or Go tier, on Google AI Mode, and inside Microsoft Copilot, all within one day, with no shared cap enforced anywhere across those three surfaces. That compounding effect exists for single-brand advertisers too, but it multiplies for a portfolio, because each brand inside that portfolio is very likely buying across all three surfaces independently, with no coordination layer connecting any of them.
Why ad fatigue hits harder on AI surfaces than on display or social
After a relatively small number of exposures per week, additional impressions carry negative marginal returns, and click-through rates typically drop significantly after four exposures to the same creative. That pattern is visible in display and social advertising too, not just on AI surfaces. What is specific to AI surfaces is how much harder each unit of overexposure hits once it lands there.
Overexposure inside a ChatGPT or Copilot conversation does more damage to brand perception than the same overexposure inside a banner ad, because the surface itself carries an implicit claim of trustworthiness, and the ad is sitting inside a response the user asked the assistant to produce. A banner just repeats itself around content a user happens to be reading. A repeated ad inside a conversational answer repeats itself inside something closer to a conversation the user is having with an assistant they trust, which makes the repetition feel more personal and more intrusive than the same repetition would feel in a feed or alongside an article.
Inventory scarcity sharpens the effect further. A search results page or a social feed has room for many ads spread across many positions, so any single placement's share of the user's attention gets diluted. A single conversational answer does not carry that kind of ad load, so each placement that does appear occupies a much larger share of the user's actual experience in that moment, rather than functioning as a peripheral element the user can scroll past. And because the user stated their intent directly in the prompt, they already believe the assistant understands what they're looking for. A repeated or poorly matched ad under those conditions reads less like background noise and more like evidence that the assistant misunderstood them, which is a harder kind of failure to forgive than an irrelevant banner.
Regulated categories carry an additional layer of exposure risk on top of the brand-perception damage that affects every category. Healthcare and pharmaceutical advertisers already keep messaging in the upper funnel, tied to disease states and symptoms rather than direct brand or efficacy claims, because direct claims draw regulatory attention. If that kind of clinical messaging repeats inside a conversational surface, it draws scrutiny that goes beyond whatever reputational cost a consumer brand would absorb from the same pattern of overexposure.
The identity problem that makes capping hard to solve at the technical level
Every frequency cap, whether it operates at the brand level or the portfolio level, depends on one underlying requirement: a stable identifier that represents the same user across separate requests, across separate surfaces, and across separate sessions. AI advertising has no unified, cross-surface version of that identifier today. That is the obstacle every proposed fix eventually runs into.
Each major surface offers a different piece of the gap today. OpenAI targets ads using conversation topic, past chats, and past ad interactions, and has announced a custom audience feature that lets advertisers target by email address, phone number, or hashed identifiers using SHA-256, with Google Advertising IDs added in a later update. That is a genuine first-party match, but it operates at the level of a single campaign. It is not a cap-enforcement layer shared across every brand inside an advertiser's portfolio. Microsoft Copilot's targeting model reads the entire session, not just the latest query, which gives it session-level accuracy, but nothing about that model extends to the portfolio level, and no disclosed mechanism lets a parent company tell the Copilot auction that one of its other brands already reached this same user.
Identity resolution tools built for exactly this kind of cross-platform matching already exist outside the AI advertising world. Identity graphs and frameworks such as LiveRamp and Unified ID 2.0 match the same user across separate platforms, so capping can happen at the identity level rather than the platform level. Every one of those systems depends on a shared identifier being passed inside the bid request. The AI platform itself has to agree to participate in, or at minimum accept, that identity resolution scheme. Whether OpenAI, Google, or Microsoft will expose the fields a third-party identity graph would need to coordinate cross-surface caps is not something any current platform specification answers.
CTV's answers, probabilistic household graphs and IP-based grouping, offer a partial model, but conversational AI needs its own identity model built around a conversation turn rather than a device or a household.
Requirements for a Frequency Architecture on AI Surfaces and Portfolios
Closing this gap means rethinking three things at once: what counts as a unit for the purposes of a cap, how identity gets matched across sessions and surfaces, and what layer in the stack actually coordinates enforcement. Fixing any one of these in isolation, without touching the other two, leaves the underlying failure fully intact.
Start with the cap unit itself. Legacy systems count impressions per user inside a fixed time window against a single brand's campaign. AI surfaces call for something different: a conversation-turn cap, which limits how many times a brand's presence gets felt inside a single buying-intent thread, rather than simply counting toward a daily ceiling. If a user asks five separate questions about vacation planning inside one session, they are living through one continuous high-intent moment, not five discrete impression opportunities; treat it as five separate units against a calendar-day cap and it looks disciplined even as it delivers overexposure. Portfolio-level logic needs its own version of this, requiring a parent-entity cap that aggregates impressions across every child brand: the holding company must register with the platform as a portfolio owner and draw down against one shared cap budget rather than several independent ones.
Identity is the second piece, and first-party data is the most realistic near-term path toward solving it. OpenAI's custom audience feature, built on email addresses, phone numbers, hashed identifiers, and Google Advertising IDs, gives a portfolio advertiser a first-party match surface it can use to build a unified suppression list, where a user who has already seen Brand A's ad gets added to Brand B's exclusion audience in near-real-time. Making that work depends on the holding company running shared customer data infrastructure across every brand subsidiary it owns, which is as much an organizational and data-governance challenge as it is a technical one. Media mix modeling can supplement this even where real-time signals are unavailable, by measuring the optimal total frequency at the portfolio level and allocating impressions across brands and surfaces accordingly.
The third piece is coordination, and the DSP layer is the natural place for it to live. A demand-side platform buying across multiple AI surfaces at once can keep a single, unified frequency ledger for an entire portfolio client, and when that portfolio's aggregate impression count for a specific user crosses whatever threshold has been configured, it can suppress bids for Brand B on a given surface, with no need for any individual AI platform to build portfolio-level logic into its own auction. That is the structural distinction between a cross-surface DSP and a single-surface AI ad network: the network can read conversational context deeply, but it cannot enforce a cap across surfaces it does not itself buy on, while the cross-surface DSP can maintain that unified ledger precisely because it is bidding on every surface at once. Enforcement solves half the problem. Knowing what the cap number should actually be solves the other half.
Setting portfolio-level caps without a measure of total conversational exposure
Setting a cap correctly means recognizing enough exposure before it becomes too much, and the measurement infrastructure for conversational AI advertising has not caught up to the level of calibration confidence that display and social advertising already offer. Portfolio managers are being asked to set thresholds for a channel that cannot yet tell them, with any real precision, how much total exposure a given user has already absorbed.
The general research base offers a starting anchor, even if it was not built with AI surfaces in mind. Brand awareness campaigns tolerate higher optimal frequency than direct-response campaigns do, and for a portfolio where several brands share the same user and the same category, the effective frequency ceiling for the parent company sits lower than the ceiling any single one of its brands would set on its own.
The harder problem specific to conversational AI runs through attribution. Measurement here leans on view-through effects, branded search lift during the exposure window, and server-side conversion tracking, because a strict last-click model will both underreport a channel that is actually working, prompting teams to cut campaigns that deserved more budget, and simultaneously create false confidence that frequency is under control when it is not. A user who asks ChatGPT for a hotel recommendation and books immediately after clicking generates a attribution signal that looks nothing like the signal from a user who sees the same ad, closes the app, and searches for the brand directly hours later. Both are the same campaign working. Last-click attribution sees only one of them, and a portfolio manager calibrating a cap off that incomplete picture will set the threshold either too loose to prevent fatigue or too tight to let the campaign work. Until conversational AI measurement closes that gap, every cap a portfolio sets should be treated as a provisional estimate, reviewed against view-through and search-lift data rather than against last-click numbers alone.


