diff --git a/config/schema/ga_push.schema.yml b/config/schema/ga_push.schema.yml
index ecd3ee3..721b91b 100644
--- a/config/schema/ga_push.schema.yml
+++ b/config/schema/ga_push.schema.yml
@@ -6,3 +6,6 @@ ga_push.settings:
     default_method:
       type: string
       label: 'Default method'
+    debug:
+      type: boolean
+      label: 'Debug mode'
diff --git a/inc/ga_push.utmp.php.inc b/inc/ga_push.utmp.php.inc
index b1bd991..4d28e85 100644
--- a/inc/ga_push.utmp.php.inc
+++ b/inc/ga_push.utmp.php.inc
@@ -200,6 +200,20 @@ function ga_push_method_utmp_php_request(array $data = [], array $options = [],
   // Prevent browser cached data.
   $data += ['z' => mt_rand()];
 
+  $debug = \Drupal::config('ga_push.settings')->get('debug');
+  if ($debug) {
+
+    $httpr_options = [
+      'method' => $method,
+      'data' => UrlHelper::buildQuery($data),
+    ];
+
+    \Drupal::logger('ga_push')->debug('GA PUSH UTMP @type request with: @data', [
+      '@type' => $data['t'],
+      '@data' => print_r($httpr_options, TRUE),
+    ]);
+  }
+
   try {
     switch ($method) {
       case 'POST':
@@ -213,6 +227,15 @@ function ga_push_method_utmp_php_request(array $data = [], array $options = [],
           ->get($url . '?' . UrlHelper::buildQuery($data));
         break;
     }
+    if ($debug) {
+
+      $response_data = $response instanceof ResponseInterface ? 'status_code: ' . $response->getStatusCode() : '';
+
+      \Drupal::logger('ga_push')->debug('GA PUSH UTMP @type response with: @data', [
+        '@type' => $data['t'],
+        '@data' => print_r($response_data, TRUE),
+      ]);
+    }
   }
   catch (RequestException $exception) {
     watchdog_exception('ga_push', $exception);
diff --git a/src/Form/GAPushSettingsForm.php b/src/Form/GAPushSettingsForm.php
index b99caf6..e134374 100644
--- a/src/Form/GAPushSettingsForm.php
+++ b/src/Form/GAPushSettingsForm.php
@@ -32,6 +32,12 @@ class GAPushSettingsForm extends ConfigFormBase {
       '#default_value' => $config->get('default_method'),
     ];
 
+    $form['ga_push_debug'] = [
+      '#type' => 'checkbox',
+      '#title' => $this->t('Debug mode'),
+      '#description' => $this->t('Active the debug mode: log GA push requests.'),
+      '#default_value' => $config->get('debug'),
+    ];
     return parent::buildForm($form, $form_state);
   }
 
@@ -41,6 +47,7 @@ class GAPushSettingsForm extends ConfigFormBase {
   public function submitForm(array &$form, FormStateInterface $form_state) {
     $this->config('ga_push.settings')
       ->set('default_method', $form_state->getValue('ga_push_default_method'))
+      ->set('debug', $form_state->getValue('ga_push_debug'))
       ->save();
 
     parent::submitForm($form, $form_state);
