diff --git a/Changes b/Changes
index 4bd7278..8d88e0a 100755
--- a/Changes
+++ b/Changes
@@ -1,5 +1,6 @@
-0.32 2018-12-14
+0.32 2018-12-19
         - Support attachements in metadata fields (#77).
+        - Added ping request option to Piwik.
 
 0.31 2018-11-30
         - Update to Mojolicious >= 8.06.
diff --git a/Makefile.PL b/Makefile.PL
index 155b0c5..3768bdd 100644
--- a/Makefile.PL
+++ b/Makefile.PL
@@ -20,13 +20,14 @@
     'Mojolicious::Plugin::ClosedRedirect' => 0.14,
     'Mojolicious::Plugin::Notifications' => 1.01,
     'Mojolicious::Plugin::MailException' => 0.20,
+    'Mojolicious::Plugin::Util::RandomString' => 0.08,
     'Mojolicious::Plugin::CHI' => 0.20,
     'Mojolicious::Plugin::ClientIP' => 0.01,
     'Cache::FastMmap' => 0,
     'Mojo::JWT' => 0.05,
 
     # Required for bundled plugins
-    'Mojolicious::Plugin::Piwik' => 0.24,
+    'Mojolicious::Plugin::Piwik' => 0.25,
 
     # Currently on GitHub only (github.com/akron)
     'Mojolicious::Plugin::Localize' => 0.20,
diff --git a/lib/Kalamar/Plugin/Piwik.pm b/lib/Kalamar/Plugin/Piwik.pm
index bffbbdb..9b0c909 100644
--- a/lib/Kalamar/Plugin/Piwik.pm
+++ b/lib/Kalamar/Plugin/Piwik.pm
@@ -4,11 +4,29 @@
 sub register {
   my ($plugin, $mojo, $param) = @_;
 
+  # Load parameter from Config file
+  if (my $config_param = $mojo->config('Kalamar')) {
+    if ($config_param->{Piwik}) {
+      $param = {
+        %$param,
+        %{$config_param->{Piwik}}
+      };
+    };
+  };
+
   # Load Piwik if not yet loaded
   unless (exists $mojo->renderer->helpers->{piwik_tag}) {
     $mojo->plugin('Piwik');
   };
 
+  # Add random string plugin
+  $mojo->plugin('Util::RandomString' => {
+    piwik_rand_id => {
+      alphabet => '0123456789abcdef',
+      length   => 16
+    }
+  });
+
   # Add opt-out to FAQ
   $mojo->content_block(
     'faq' => {
@@ -39,6 +57,39 @@
 % }
 SCRIPT
   });
+
+
+  # If all requests should be pinged,
+  # establish this hook
+  if ($param->{ping_requests}) {
+    $mojo->hook(
+      after_render => sub {
+        my $c = shift;
+
+        # Only track valid routes
+        my $route = $c->current_route or return;
+
+        # This won't forward personalized information
+        my $hash = {
+          action_url => $c->url_for->to_abs,
+          action_name => $route,
+          ua => '',
+          urlref => '',
+          send_image => 0,
+          dnt => 0,
+          uid => $c->random_string('piwik_rand_id')
+        };
+
+        # Overrid ping site id
+        if ($param->{ping_site_id}) {
+          $hash->{idsite} = $param->{ping_site_id}
+        };
+
+        # Send track
+        $c->piwik->api_p(Track => $hash)->wait;
+      }
+    );
+  };
 };
 
 
@@ -46,3 +97,13 @@
 
 
 __END__
+
+# Parameters can be loaded from
+# {
+#   Kalamar => {
+#     Piwik => {
+#       ping_requests => 1,
+#       ping_site_id => 12
+#     }
+#   }
+# }
