Skip to content

Share buttons

Share buttons and GDPR: what needs consent

By Hannah Voss, Editor · Reviewed September 2026 · 6 min read

Quick answer

Official share and like widgets load code from the network when the page opens, which can send the visitor's IP address and cookies before they click anything. In the EU and UK that generally needs prior consent. Plain share links send nothing until clicked, so they are the simplest way to stay compliant. This is general information, not legal advice.

A layered grey paper tile inside a raised pale frame, closed by a small paper latch on its right side

The core distinction

What matters is whether anything is transmitted to a network before the visitor chooses to share. A plain link to a share URL transmits nothing until it is clicked, and clicking it is the visitor's own action. An embedded widget loads the network's script or iframe as the page loads, so the network can receive the visitor's IP address, browser details and cookies whether or not they ever share.

Button typeData sent on page loadConsent usually needed
Plain share link with local iconNoneNo
Plugin counts fetched on your serverNone from the visitorNo, but mention the processing
Official like or share widgetIP, browser data, network cookiesYes, before loading
Icons loaded from a network CDNIP and browser dataLikely, better to self-host

Why site owners share responsibility

In the Fashion ID case (C-40/17, 2019), the Court of Justice of the EU held that a website embedding a social plugin can be a joint controller with the network for the collection and transmission of visitors' data at that stage. That is why the old documentation for share plugins, including the GDPR page for this domain's former plugin, pushed site owners toward non-tracking buttons.

A share buttons GDPR audit, step by step

  1. Open a post in a private window

    Logged out, with your consent tool set to reject everything. Open the browser's network panel and reload.

  2. Filter by third-party domains

    Any request to a social network's domain before you click anything is the finding. Note the domain and the initiator column, which names the script that made the call.

  3. Check cookies

    In the application or storage panel, list cookies set by domains other than your own. Network cookies set on load confirm a widget is running.

  4. Map each request to a button

    Turn share plugin settings off one at a time and reload, until the third-party requests stop. That tells you which setting loads the widget.

  5. Replace or gate

    Swap each offending widget for a plain link, or put it behind the two-click pattern or your consent tool's category.

  6. Update the privacy policy

    Describe what remains, in the terms below, and record the date of the audit.

Worked example: what an audit finds

The findings below are invented but typical of a blog that installed a share plugin some years ago and left the defaults on. The audit took one post, one private window and about twenty minutes.

FindingRequests on loadCookies setAction
Official like button in the sidebar4 to a network domain2Removed; replaced with a follow link
Share plugin loading its icon font from a CDN1 to a CDN0Self-hosted the font, then replaced it with inline SVG
Share counts fetched by browser script3 to count endpoints0Switched to server-side fetching with a 6 hour cache
Plain share links in the row00Kept
Embedded video with the network's player6 to the video host3Switched to the host's no-cookie embed domain and gated it

After the changes the post makes no third-party request on load, sets no third-party cookie, and still shows a full share row. The one gated element, the video, shows a placeholder until the reader clicks. The privacy policy gained three sentences and lost a paragraph about network cookies that no longer applied.

The two-click pattern

The two-click pattern: nothing loads from a network until the reader opts in01Placeholderstatic icon02Reader clicksopts in03Widget loadsnetwork code04Sharereader acts
German publishers popularised this approach: show a placeholder, load the real widget only after an explicit click.

If you need an official widget, for example a live like count, show a static placeholder first. The first click enables the widget, the second click uses it. Your consent tool can also block the widget until the relevant category is accepted.

What to write in your privacy policy

  • Which share buttons you use and whether they load anything before a click.
  • If you fetch share counts on your server, which services you query and that no visitor data is sent.
  • For any consent-gated widget, which network it loads and a link to that network's policy.
  • That clicking a share button takes the visitor to the network, whose own terms then apply.

What goes wrong

  • Auditing while logged in. Admin sessions skip caches and sometimes consent tools, so the panel shows a different page from what visitors get.
  • Consent tool that hides rather than blocks. Some tools hide the widget with CSS after it has already loaded. The request and the cookie still happened. The tool must prevent the script from loading.
  • Share counts that leak. A plugin that fetches counts from the browser sends the visitor's IP to each count endpoint on every view. Server-side fetching sends only your server's requests.
  • Fonts and icons from a CDN. Easy to miss because the domain is not a social network. It is still a third party receiving IP addresses.
  • Old widgets in widgets areas. A like box added to the sidebar years ago and forgotten. Check every widget area and every footer.
  • Treating this page as legal advice. It is general information. Rules and their interpretation vary by country and change over time.

Check it worked

  • A private window with consent rejected shows no request to any network or CDN domain on page load.
  • No third-party cookie appears in the storage panel before a click.
  • Every share button still opens its dialog with the right address when clicked.
  • Gated widgets show a placeholder and load only after the click or the consent category.
  • The privacy policy describes exactly what the network panel shows, and the audit date is recorded.

The same requests that raise a consent question also cost load time, which is why the audit above overlaps with measuring share button page speed. The follow prompts and like bars that most often introduce widgets are covered in like bars and follow prompts; other guides are on the share buttons hub, and this site's own practices are in its privacy policy.

Sources

Questions

Do share buttons need a cookie banner?

Plain share links do not set cookies or send data before a click. Official widgets usually need consent before they load.

Is a plain Facebook share link GDPR compliant?

A link that only opens the share dialog when clicked sends nothing beforehand, which is why it is the common compliant choice.

Is this legal advice?

No. It is general information. Check your own setup with a qualified adviser for your jurisdiction.

How do I check whether my share buttons send data?

Open a post in a private window with consent rejected, watch the network panel on reload, and look for requests to network or CDN domains before any click.

Do share counts need consent?

Counts fetched by your server send nothing from the visitor and need only a mention in the policy. Counts fetched by the browser send the visitor's IP to each service and are best avoided.

Share this guide

Hannah Voss, Editor. Checks every guide against a working WordPress install and the networks' current documentation. Last reviewed September 2026.

  1. Share buttons and page speedWhy some share buttons slow WordPress pages and others cost almost nothing. How to measure the impact, and what to change to keep sharing fast on every page.5 min read
  2. Follow prompts, like bars and share popupsAfter-share follow prompts, Facebook like bars and share popups: what they were, which still work, and how to ask for a follow without annoying readers.5 min read
  3. Privacy policyWhat mashshare.net collects: no accounts or cookies, privacy-first cookieless aggregate analytics from our hosting network, server logs, and your rights.