diff --git a/blueprints.yaml b/blueprints.yaml index 717dc74..9858a97 100644 --- a/blueprints.yaml +++ b/blueprints.yaml @@ -42,8 +42,8 @@ form: trackingId: type: text size: medium - label: PLUGIN_GANALYTICS.TACKING_ID - help: PLUGIN_GANALYTICS.TACKING_ID_HELP + label: PLUGIN_GANALYTICS.TRACKING_ID + help: PLUGIN_GANALYTICS.TRACKING_ID_HELP placeholder: "UA-00000000-0" validate: required: true @@ -73,6 +73,13 @@ form: size: small default: "ga" + hitCallback: + type: textarea + label: PLUGIN_GANALYTICS.HITCALLBACK + help: PLUGIN_GANALYTICS.HITCALLBACK_HELP + size: large + placeholder: "function() { form.submit(); }" + async: type: toggle label: PLUGIN_GANALYTICS.ASYNC diff --git a/ganalytics.php b/ganalytics.php index f529477..e81a7b3 100644 --- a/ganalytics.php +++ b/ganalytics.php @@ -87,9 +87,15 @@ private function getTrackingSettings($trackingId, $objectName) 'trace-debug' => "window.ga_debug = {trace: true};", 'create' => "{$objectName}('create', '{$trackingId}', {$cookie_config});", 'anonymize' => "{$objectName}('set', 'anonymizeIp', true);", - 'force-ssl' => "{$objectName}('set', 'forceSSL', true);", - 'send' => "{$objectName}('send', 'pageview');" + 'force-ssl' => "{$objectName}('set', 'forceSSL', true);" ]; + // If hitCallback has been specified, include it on pageview send + $hitCallback = $this->config->get('plugins.ganalytics.hitCallback'); + if ($hitCallback) { + $settings['send'] = "{$objectName}('send', 'pageview', { hitCallback: $hitCallback });"; + } else { + $settings['send'] = "{$objectName}('send', 'pageview');"; + } if (!$this->config->get('plugins.ganalytics.debugTrace', false)) unset ($settings['trace-debug']); if (!$this->config->get('plugins.ganalytics.anonymizeIp', false)) unset ($settings['anonymize']); diff --git a/languages/de.yaml b/languages/de.yaml index 3eda61d..170b4fb 100644 --- a/languages/de.yaml +++ b/languages/de.yaml @@ -9,8 +9,10 @@ PLUGIN_GANALYTICS: SECTION_ADVANCED: "Erweitert" SECTION_COOKIE: "Cookie" SECTION_DEBUG: "Debugging" - TACKING_ID: "Tracking-ID" - TACKING_ID_HELP: "Google Analytics Tracking-ID" + TRACKING_ID: "Tracking-ID" + TRACKING_ID_HELP: "Google Analytics Tracking-ID" + HITCALLBACK: "(NEEDS TRANSLATION) hitCallback Function" + HITCALLBACK_HELP: "(NEEDS TRANSLATION) Provide your callback function to be triggered when page hit is tracked." POSITION: "Code-Position" POSITION_HELP: "Position des Codes im HTML-Dokument (Head oder Body)" POSITION_HEAD: "Kopf" diff --git a/languages/en.yaml b/languages/en.yaml index ae8ad9f..2c02daa 100644 --- a/languages/en.yaml +++ b/languages/en.yaml @@ -9,8 +9,10 @@ PLUGIN_GANALYTICS: SECTION_ADVANCED: "Advanced" SECTION_COOKIE: "Cookie" SECTION_DEBUG: "Debug" - TACKING_ID: "Tracking ID" - TACKING_ID_HELP: "Google Analytics Tracking ID" + TRACKING_ID: "Tracking ID" + TRACKING_ID_HELP: "Google Analytics Tracking ID" + HITCALLBACK: "hitCallback Function" + HITCALLBACK_HELP: "Provide your callback function to be triggered when page hit is tracked." POSITION: "Code Position" POSITION_HELP: "Code Position in the HTML document (head or body)" POSITION_HEAD: "Head" diff --git a/languages/es.yaml b/languages/es.yaml index e569e1f..c9fba3b 100644 --- a/languages/es.yaml +++ b/languages/es.yaml @@ -9,8 +9,10 @@ PLUGIN_GANALYTICS: SECTION_ADVANCED: "Avanzada" SECTION_COOKIE: "Cookie" SECTION_DEBUG: "Depuración" - TACKING_ID: "ID Seguimiento" - TACKING_ID_HELP: "ID Seguimiento estadísticas Google" + TRACKING_ID: "ID Seguimiento" + TRACKING_ID_HELP: "ID Seguimiento estadísticas Google" + HITCALLBACK: "(NEEDS TRANSLATION) hitCallback Function" + HITCALLBACK_HELP: "(NEEDS TRANSLATION) Provide your callback function to be triggered when page hit is tracked." POSITION: "Posición del Código" POSITION_HELP: "Posición del código en el documento HTML (cabecera o cuerpo)" POSITION_HEAD: "Cabecera"