diff --git a/djblets/privacy/templates/privacy/services/google_analytics.html b/djblets/privacy/templates/privacy/services/google_analytics.html
new file mode 100644
index 0000000000000000000000000000000000000000..8f085aa93149dec3583dcae0fb75003b200e844e
--- /dev/null
+++ b/djblets/privacy/templates/privacy/services/google_analytics.html
@@ -0,0 +1,21 @@
+{# A Google Analytics configuration that enforces privacy guidelines. #}
+{% load djblets_privacy %}
+
+{% if settings.GOOGLE_ANALYTICS_ENABLED %}
+<script async src="https://www.googletagmanager.com/gtag/js?id={{settings.GOOGLE_ANALYTICS_TRACKING_CODE}}"></script>
+<script>
+  window.dataLayer = window.dataLayer || [];
+  function gtag() { dataLayer.push(arguments); }
+
+{%  block configure_analytics %}
+  gtag('js', new Date());
+  gtag('config', '{{settings.GOOGLE_ANALYTICS_TRACKING_CODE}}', {
+{%   if pii_safe_title %}
+      'page_title': '{{pii_safe_title}}',
+{%   endif %}
+      'page_path': '{% pii_safe_page_url %}',
+      'anonymize_ip': true
+  });
+{%  endblock configure_analytics %}
+</script>
+{% endif %}
diff --git a/docs/djblets/guides/privacy/index.rst b/docs/djblets/guides/privacy/index.rst
index 033202f3cd7334f8393636d2b92bd6dc3958cdd8..e778e193af0cda4dad0090afa827c625f7184f73 100644
--- a/docs/djblets/guides/privacy/index.rst
+++ b/docs/djblets/guides/privacy/index.rst
@@ -9,3 +9,4 @@ Privacy Compliance Guides
 
    consent
    pii
+   services
diff --git a/docs/djblets/guides/privacy/pii.rst b/docs/djblets/guides/privacy/pii.rst
index 75063a67d870edee1d8f767a3b0289c33c8b4ce8..9331d6ebec1fb49c8761400d71dd21fb4e44f186 100644
--- a/docs/djblets/guides/privacy/pii.rst
+++ b/docs/djblets/guides/privacy/pii.rst
@@ -13,6 +13,8 @@ justification (such as :ref:`consent <privacy-consent>`).
 Djblets provides utilities for safely working with PII.
 
 
+.. _privacy-pii-safe-urls:
+
 PII-Safe URLs
 =============
 
diff --git a/docs/djblets/guides/privacy/services.rst b/docs/djblets/guides/privacy/services.rst
new file mode 100644
index 0000000000000000000000000000000000000000..a27d88e9660339a445b9fc37390591c8dd60c4ef
--- /dev/null
+++ b/docs/djblets/guides/privacy/services.rst
@@ -0,0 +1,42 @@
+.. privacy-services-guides:
+
+====================
+Service Integrations
+====================
+
+Djblets provides helpful templates for common service integrations that
+default to the highest privacy settings available.
+
+
+Google Analytics
+================
+
+The ``privacy/services/google_analytics.html`` template enables use of
+`Google Analytics`_, enabling anonymized IPs and :term:`PII`-safe page titles
+and URLs.
+
+Usage requires the following settings in :file:`settings.py`:
+
+.. code-block:: python
+
+   GOOGLE_ANALYTICS_ENABLED = True
+   GOOGLE_ANALYTICS_TRACKING_CODE = 'UA-12345678-9'
+
+
+And then including the template file:
+
+.. code-block:: html+django
+
+   {% include "privacy/services/google_analytics.html" %}
+
+
+By default, this will send the current page title and a best-attempt at a URL
+redacting any PII (see :ref:`privacy-pii-safe-urls`).
+
+Views can also provide PII-safe page titles by passing a ``pii_safe_title``
+in the context for the template. This will be sent to Google Analytics instead
+of the real page title, keeping private data safe. We recommend this for any
+pages containing a username, full name, or e-mail address.
+
+
+.. _Google Analytics: https://analytics.google.com/
