Skip to content

break(gtag): forbid deprecated anonymizeIP option (AI-assisted)#11878

Open
Injora wants to merge 4 commits intofacebook:mainfrom
Injora:remove-anonymizeip-gtag
Open

break(gtag): forbid deprecated anonymizeIP option (AI-assisted)#11878
Injora wants to merge 4 commits intofacebook:mainfrom
Injora:remove-anonymizeip-gtag

Conversation

@Injora
Copy link
Copy Markdown

@Injora Injora commented Apr 2, 2026

Google Analytics 4 does not log or store IP addresses, making the anonymize_ip configuration unnecessary. This option has been a no-op since GA4's launch and was marked for deprecation since June 2023.

  • Remove anonymizeIP from PluginOptions and Options types
  • Remove anonymize_ip from the gtag config snippet
  • Mark anonymizeIP as forbidden in the Joi schema with a clear error message for existing users
  • Update tests to verify the forbidden validation

See: https://support.google.com/analytics/answer/2763052

Pre-flight checklist

  • I have read the Contributing Guidelines on pull requests.
  • If this is a code change: I have written unit tests and/or added dogfooding pages to fully verify the new behavior.
  • If this is a new API or substantial change: the PR has an accompanying issue (closes #0000) and the maintainers have approved on my working plan.

Motivation

The anonymizeIP option in @docusaurus/plugin-google-gtag has been a no-op since GA4 replaced Universal Analytics. GA4 does not log or store IP addresses at all, making IP anonymization unnecessary.

The codebase already had a TODO acknowledging this should be removed:

https://github.com/facebook/docusaurus/blob/main/packages/docusaurus-plugin-google-gtag/src/options.ts#L16-L20

This PR completes that TODO by removing the dead option and providing a clear error message for existing users who still have it in their config, following the same Joi.forbidden() pattern used by homePageId in plugin-content-docs.

Test Plan

yarn test packages/docusaurus-plugin-google-gtag/src/__tests__/options.test.ts

All 14 tests pass. Full build passes with yarn build:packages.

Google Analytics 4 does not log or store IP addresses, making the
anonymize_ip configuration unnecessary. This option has been a no-op
since GA4's launch and was marked for deprecation since June 2023.

- Remove anonymizeIP from PluginOptions and Options types
- Remove anonymize_ip from the gtag config snippet
- Mark anonymizeIP as forbidden in the Joi schema with a clear
  error message for existing users
- Update tests to verify the forbidden validation

See: https://support.google.com/analytics/answer/2763052
@Injora Injora requested review from Josh-Cena and slorber as code owners April 2, 2026 16:11
@meta-cla meta-cla bot added the CLA Signed Signed Facebook CLA label Apr 2, 2026
@netlify
Copy link
Copy Markdown

netlify bot commented Apr 2, 2026

[V2]

Built without sensitive environment variables

Name Link
🔨 Latest commit 027a2f7
🔍 Latest deploy log https://app.netlify.com/projects/docusaurus-2/deploys/69ceb753c4aab200086885c1
😎 Deploy Preview https://deploy-preview-11878--docusaurus-2.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@slorber slorber added the pr: breaking change Existing sites may not build successfully in the new version. Description contains more details. label Apr 2, 2026
@slorber slorber changed the title feat(gtag): remove deprecated anonymizeIP option (AI-assisted) break(gtag): forbid deprecated anonymizeIP option (AI-assisted) Apr 2, 2026
@slorber slorber added this to the 4.0 milestone Apr 2, 2026
Copy link
Copy Markdown
Collaborator

@slorber slorber left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks

This is technically a breaking change since we forbid the attribute that was previously allowed (even though noop), so I'll merge this later for Docusaurus v4.

@Injora
Copy link
Copy Markdown
Author

Injora commented Apr 2, 2026

Thanks! That makes sense regarding it being a breaking change.
I’ll fix the failing checks and keep this ready for v4 :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed Signed Facebook CLA pr: breaking change Existing sites may not build successfully in the new version. Description contains more details.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants