diff --git a/static/js/initializePlausible.js b/static/js/initializePlausible.js
index 1f2a688e..3f902b74 100644
--- a/static/js/initializePlausible.js
+++ b/static/js/initializePlausible.js
@@ -1,2 +1,12 @@
-window.plausible=window.plausible||function(){(plausible.q=plausible.q||[]).push(arguments)},plausible.init=plausible.init||function(i){plausible.o=i||{}};
-plausible.init()
+// Initialise Plausible analytics queue for the new script format (v3.1.0+).
+// This sets up a queue system that collects tracking calls before the main
+// Plausible script loads, ensuring no events are lost.
+window.plausible = window.plausible || function () {
+ (plausible.q = plausible.q || []).push(arguments);
+};
+// Initialise the Plausible configuration object.
+plausible.init = plausible.init || function (config) {
+ plausible.o = config || {};
+};
+// Set up Plausible with default configuration.
+plausible.init();
diff --git a/static/js/initializePlausible.min.js b/static/js/initializePlausible.min.js
index 3d1967d9..8f971a31 100644
--- a/static/js/initializePlausible.min.js
+++ b/static/js/initializePlausible.min.js
@@ -1 +1 @@
-window.plausible=window.plausible||function(){(plausible.q=plausible.q||[]).push(arguments)},plausible.init=plausible.init||function(i){plausible.o=i||{}};plausible.init();
+window.plausible=window.plausible||function(){(plausible.q=plausible.q||[]).push(arguments)},plausible.init=plausible.init||function(i){plausible.o=i||{}},plausible.init();
diff --git a/templates/partials/analytics.html b/templates/partials/analytics.html
index 168d903f..01d165c0 100644
--- a/templates/partials/analytics.html
+++ b/templates/partials/analytics.html
@@ -31,8 +31,8 @@
{% elif analytics_service == "plausible" %}
{% if analytics_id is matching("^pa-[^\.]+$") %}
{# Use new script available in Plausible 3.1.0 or later #}
-
-
+
+
{% else %}