Google News Snippet

Google Releases an Embeddable Preferred Sources Button for Publishers

RSS

Google released an embeddable Preferred Sources button on 20 August 2026. A reader who clicks it adds the site as a preferred source and is returned to the point in the page they left, instead of being sent to Google’s source preferences tool in a new tab. Google says more than 600,000 unique sources have been selected so far, up from 345,000 at the May expansion into AI Overviews and AI Mode.

The preferred sources documentation now lists three ways to promote your own site: the new standard JavaScript button, an advanced JavaScript mode for custom designs, and the existing deeplink to google.com/preferences/source?q=example.com. Google recommends the standard button, which is a script tag plus <div google-add-preferred-source-btn></div>, auto-localised and available in light or dark themes.

Check what those two lines load before you add them. The script is 73 KB over the wire, which looks like the whole cost, but the button it renders is an iframe and that iframe loads Google’s Subscribe with Google interface bundle from gstatic.com. Measured on this site in a clean, signed-out browser: 23 requests and 470 KB in total, of which 73 KB lands on the page and 396 KB loads inside the frames. The interface bundle downloads twice, once in en_US and once in en_GB. A hidden four-pixel iframe loads alongside the visible button, and the page posts to play.google.com/log twice before the reader has touched anything.

What it does not do matters too, because the file’s contents imply more than its behaviour delivers. publisher.js is the full client for Google’s Reader Revenue Manager: paywalls, metering, offers and entitlements, regwall and newsletter signup prompts, reader surveys, and a Google Pay merchant flow. Read the source and you will find an advertising-cookie lookup and browser-storage calls in there. None of them fired. In a signed-out test the button set no cookies at all, and wrote nothing to the publisher’s localStorage or sessionStorage. Those paths belong to the subscription flows, which never run for a button.

Google has not said why the button ships inside a subscriptions library, but the arithmetic suggests an answer. News publishers using Reader Revenue Manager already load publisher.js on every page, so for them the script is a cost they are paying anyway. Adding the button to the existing library is close to free for that audience and expensive for everyone else.

The privacy question is therefore the embed itself rather than anything written to your domain. Repeating the test in a signed-in Chrome profile, the requests to news.google.com carried the reader’s Google session: __Secure-3PSID, __Secure-3PAPISID, __Secure-3PSIDTS and __Secure-3PSIDCC, the third-party variants Google sets to travel in exactly this kind of embed. That happens as the page loads, before the reader clicks anything. Switching the same profile to block third-party cookies stopped all four, and the button still rendered identically, so the identity transfer is not what makes it work. The button itself is a white pill reading “Add to Preferred Sources” with a Google logo, in both cases.

You also need news.google.com in script-src and frame-src, plus www.gstatic.com and fonts.gstatic.com. Injecting the script into this site with its own Content Security Policy in force produced zero requests: the policy blocked it outright, and an unstyled empty <div> is all a reader would have seen.

The advanced mode is the better fit for most sites. Adding preferred-sources-control="manual" to the script tag stops it initialising automatically, and you then call preferredSource.addPreferredSource() from your own button. Load the script on that click rather than on page load, and the library costs nothing until a reader actually opts in. The deeplink remains supported for anyone who would rather not run third-party JavaScript at all, and Google still publishes translated badge images to link from.

Sources

More news