Как анонимизировать IP-адреса в Google Analytics в 2021 году на Discourse?

Продолжаем обсуждение из темы Как анонимизировать Google Analytics?:

В соответствии с GDPR необходимо отправлять анонимизированные IP-адреса, так как они являются персональными данными. Однако, похоже, что в Discourse нет такой опции?

В старой теме предлагалось разместить код GA в разделе Администрирование → Настройка → HTML. Но, похоже, эта опция исчезла.

Как использовать Google Analytics в Discourse и при этом соблюдать требования GDPR?

Возможность добавления пользовательского HTML по-прежнему доступна. Вам нужно перейти в раздел «Администрирование» → «Настройка» → «Темы» и там создать новый компонент темы. После этого у вас появится возможность использовать пользовательский CSS/HTML:

Ещё один вопрос: когда я копирую/вставляю код gtag.js перед тегом </head>, аналитика перестает работать. Я отключил Analytics в настройках администратора. Или мне следует оставить его включённым и просто добавить определённые параметры конфигурации в мой пользовательский HTML, например, анонимизацию IP? Как это сделать? Блокирует ли Discourse по умолчанию внешние скрипты JavaScript? Есть ли там белый список? Много вопросов :slight_smile:

Вот код gtag.js, который я получил в панели администратора Google Analytics и разместил перед тегом </head> в Discourse:

<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-12345678-1"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'UA-12345678-1', { 'anonymize_ip': true });
</script>

Код Google Analytics, включённый через настройки администратора, отличается и не использует внешние скрипты JavaScript. Возможно, это главное отличие?

Выше всё верно (конечно, замените ваш UA ID). Необходим дополнительный шаг: перейдите в настройки администратора и найдите content security policy script src.

Добавьте туда https://www.google-analytics.com/analytics.js, после чего всё заработает.