A dynamic header is the top band of a web page, landing page or results page whose content or behaviour changes rather than staying fixed. It exists for two reasons. Advertisers want the first words a visitor reads after a click to echo the ad that earned it, and site owners want navigation, branding or labels to stay within reach on small screens without eating the page. No standards body defines the phrase. Neither the IAB, the W3C nor Google's advertising documentation treats "dynamic header" as a term of art, so usage splits into two families: content-dynamic headers, whose text is swapped according to who arrives and from where, and behaviour-dynamic headers, which stick, shrink or hide as the page scrolls. In paid search the first sense dominates. In publishing and web development the second does.
How a content-dynamic header is assembled
The mechanism starts in the ad platform. Google Ads lets an advertiser append ValueTrack parameters to a landing page address so that values from the click travel with the visitor. According to Google's ValueTrack help page, the {keyword} parameter reports the keyword that triggered the ad, while {matchtype} returns b, p or e for broad, phrase and exact match, and a for AI Max keywordless matching. A tracking template such as {lpurl}?keyword={keyword} therefore delivers a URL ending in something like ?keyword=garden+sheds.
A script on the landing page, or the server rendering it, reads that parameter and writes it into the headline at the top of the page. Every implementation needs a fallback for visits without a parameter. Unbounce, a landing page builder, sells the feature as dynamic text replacement. Its documentation walks through a retreat whose final URL carries destination={KeyWord: Resort}. A search for "holiday getaway" sends the visitor to a page whose header reads "Getaway"; anyone arriving without a matching keyword sees "Resort", the default text.
The pattern borrows from keyword insertion inside ads themselves. According to Google's keyword insertion page, the {keyword:default text} tag works in headlines of up to 30 characters, descriptions of 90 and display paths of 15, and five capitalisation variants control whether "dark chocolate" appears in lower, sentence or title case. Google states that "Customizers cannot be used in the Final URL field", which is why landing page tools rely on ValueTrack rather than the ad tag.
Two points are easy to miss. Google passes the advertiser's keyword, not the user's literal search query, so a broad-match click on "cheap timber sheds" may arrive labelled "garden sheds". And the swap can happen in the browser, after the page has drawn, or on the server before it is sent. Only the second avoids a visible flicker.
How a behaviour-dynamic header moves
The second family is a matter of layout. The CSS rule position: sticky keeps an element pinned once it reaches the top of the viewport. Chrome shipped it, withdrew it, then restored it in version 56, which according to a Chrome developer post by Paul Kinlan reached stable release in January 2017. JavaScript libraries go further. Headroom.js, published to npm by Nick Williams in December 2014 according to the registry, hides the header on downward scroll and returns it on upward scroll, a pattern its project page sums up as hiding the header until it is needed.
Movement has a cost in Google's Cumulative Layout Shift (CLS) metric, one of the Core Web Vitals. According to web.dev, each shift scores the fraction of the viewport affected multiplied by the distance moved; a page needs 0.1 or less at the 75th percentile to rate good, and anything above 0.25 is poor. Shifts within 500 milliseconds of a tap, click or keypress are excused. Scrolls are not. A header that changes height as the page scrolls, pushing content down, can therefore count against the page, whereas one animated with CSS transform does not, because web.dev says transform animations do not trigger layout shifts.
Advertising occupies the same strip. Google Publisher Tag supports top and bottom anchor ads that, according to Google's sample page, create their own container when filled and serve only in viewports between 320 and 1,000 pixels wide. The Better Ads Standards draw limits: Google's mobile ad experiences page describes a large sticky ad as one taking "more than 30% of the screen's real estate", and notes that headers are excluded when ad density is measured.
Origin and evolution
Neither family has a founding document. Content swapping grew out of keyword insertion in search ads and spread to landing page builders in the early 2010s, with Unbounce among the vendors packaging it for marketers. Testing and personalisation suites carried it further: Google Optimize offered free page experiments, and the paid Optimize 360 combined them with audiences, until Google shut both down on September 30, 2023.
Behaviour-dynamic headers followed the shift to mobile browsing. The Coalition for Better Ads, launched on September 15, 2016, published standards on March 22, 2017, and Chrome began filtering ads on non-compliant sites on February 15, 2018. Google introduced Web Vitals on May 5, 2020, and page experience ranking began on June 15, 2021, which put a number on headers that jolt content.
The newest stage moves the swap into the ad platform. Google announced AI Max for Search on May 6, 2025, combining search term matching, text customisation and final URL expansion, according to a later Google live stream. Google's final URL expansion page says the system may "generate a dynamic headline, description, and additional assets" to match the content of the landing page it selects. The headline now adapts to the page, rather than the page adapting to the ad.
Why it matters for marketers
Message match is the commercial case. A visitor who searched for one product and lands on a page headed by another has to work to confirm the click was correct, and dynamic text replacement is the cheapest way to close that gap across thousands of keywords without building thousands of pages.
Control is the other issue. When Google generates headlines from page titles and meta tags, and chooses which page a click lands on, the landing page header becomes an input to Google's ad copy. Upgraded campaigns review and refresh generated assets "at least every 48 hours", PPC Land reported, so changes to a landing page can reach ad text within two days. The same report warned that tracking templates built for fixed destinations can break.
The results page is part of the story. On October 13, 2025, Google introduced a "Sponsored results" label that stays visible as people scroll, with a control that collapses up to four text ads. The sticky header is itself a behaviour-dynamic header, sitting directly above paid placements.
Limitations and disputes
The keyword-not-query gap means a dynamic header can repeat words the visitor never typed. Generic default text blunts the benefit.
Browser-side swaps can produce flicker and layout shift, the defects CLS penalises. Anything that echoes a URL parameter onto a page also lets anyone craft a link that prints arbitrary words in a brand's header; that risk is an inference from the mechanism rather than a documented incident, and vendors limit it by escaping input and accepting only known values.
Search engines draw a line between personalisation and cloaking, which Google's spam policies define as "presenting different content to users and search engines" to manipulate rankings. Google's testing guidance asks for rel="canonical" on variants, 302 rather than 301 redirects, and tests that run no longer than necessary.
The AI-generated version draws its own criticism. Ezra Sackett of Monks reported that "99% of impressions have 0 conversions" across about 30,000 search terms in early AI Max tests, results PPC Land described as "meh", although those figures concerned query matching rather than headlines. A separate PPC Land analysis questioned whether generated variants leave ads looking alike.
Not the same as
Headline. A headline is an ad asset, capped at 30 characters in search, as the earlier Explaining headline entry in this series sets out. A dynamic header sits on the page the ad leads to, or above the results.
Header bidding. Header bidding is a programmatic auction run in code loaded by the page, historically in the HTML head. It has nothing to do with the visible header.
HTTP headers. HTTP header fields are metadata exchanged between browser and server, defined in RFC 9110, published in June 2022. Some are set per request in ad tech; Index Exchange, according to its documentation, recommends forwarding X-Device-User-Agent and X-Forwarded-For on server-side billing calls "to prevent ad fraud".
Sticky ad. An anchor or sticky ad is a paid unit pinned to an edge of the screen.
Recent developments
AI-generated headers have become the default path. Google took its text guidelines beta global on February 26, 2026, allowing up to 25 term exclusions and 40 messaging restrictions per campaign, after introducing them on September 10, 2025. On April 15, 2026, Google said Dynamic Search Ads, which built headlines from landing page content, would upgrade to AI Max from September. Dates now conflict: according to Search Engine Land, Google moved the automatic migration to February 2027, while campaigns using automatically created assets or broad match began upgrading on September 1, 2026. Microsoft Advertising made AI Max, with text customisation and final URL expansion, available to all accounts on August 19, 2026. As of October 2026, both major search platforms can rewrite the line a visitor reads first and choose the page that carries it.
Timeline
- December 2014 - Headroom.js, a hide-on-scroll header library, published to npm
- September 15, 2016 - Coalition for Better Ads launched
- January 2017 - Chrome 56 restores position: sticky in stable release
- March 22, 2017 - Initial Better Ads Standards published
- February 15, 2018 - Chrome begins filtering ads on non-compliant sites in North America and Europe
- May 5, 2020 - Google introduces Web Vitals, including CLS
- June 15, 2021 - Page experience ranking rollout begins in mobile search
- June 2022 - RFC 9110 consolidates HTTP semantics, including header fields
- September 30, 2023 - Google Optimize and Optimize 360 shut down
- May 6, 2025 - Google announces AI Max for Search with text customisation and final URL expansion
- September 10, 2025 - Google announces text guidelines for AI-generated ad text
- October 13, 2025 - Google introduces a sticky "Sponsored results" label in Search
- February 26, 2026 - Text guidelines beta expands globally
- April 15, 2026 - Google announces Dynamic Search Ads will upgrade to AI Max
- June 12, 2026 - DSA migration reported delayed to February 2027
- August 19, 2026 - Microsoft Advertising rolls out AI Max to all accounts
- September 1, 2026 - Automatic AI Max upgrades begin for Google Ads campaigns using automatically created assets or broad match
Related PPC Land coverage
- Core Web Vitals - Reference entry on LCP, INP and CLS, including ads as a source of layout shift.
- Google to shut down Optimize in September - The 2023 closure of Google's free testing and personalisation tool.
- Coalition for Better Ads - History of the standards that limit sticky and dense ad formats.
- Google presents AI Max framework during live stream - The three AI Max components and Google's performance claims.
- Google Ads broad match campaigns face AI Max auto-upgrade on September 1 - Text customisation, the 48-hour refresh and tracking template risks.
- Google introduces sticky sponsored results label and hide ads control - The October 2025 label that stays visible on scroll.
- Google's AI Max for Search campaigns deliver meh results, industry tests reveal - Early test data from Monks on AI Max query matching.
- Google Ads AI Max auto-upgrade lands September 1: will ads all look alike? - Analysis of homogenisation in AI-generated ad copy.
- Header bidding - Reference entry on the page-level auction and the origin of its name.
- Google's text guidelines beta goes global for AI Max and Performance Max - February 2026 expansion and its limits.
- Google introduces text guidelines for AI-powered advertising campaigns - The September 2025 launch of term exclusions and messaging restrictions.
- Google ends Dynamic Search Ads, DSA upgrades to AI Max in September - The April 2026 announcement retiring page-crawled headlines.
- Microsoft Advertising gains AI Max across all accounts globally - Microsoft's August 2026 rollout of the same three settings.
Summary
Who: Advertisers and agencies building landing pages, landing page vendors such as Unbounce, publishers and developers designing site navigation, and Google and Microsoft, whose AI Max products now generate headlines and choose landing pages.
What: A page header whose text changes with the visitor's click, such as a keyword passed in the URL, or whose behaviour changes with scrolling, such as a sticky or hide-on-scroll bar. The term has no formal standard.
When: Keyword-driven swapping spread with landing page builders in the 2010s; sticky behaviour became native in Chrome in January 2017; AI Max moved headline generation into Google Ads from May 6, 2025.
Where: On landing pages, publisher sites and, since October 13, 2025, Google's own results page through its sticky Sponsored results label.
Why: To make the first line after a click match the ad that earned it, and to keep navigation or labels visible on small screens, at the cost of layout shift, cloaking risk and, increasingly, platform control over the copy.
Discussion