$ga_dimensions_map, "events_map" => $ga_events_map, "delayed_evidence" => $delayed_evidence); } /** * Retrieves Google Analytics Tracking Code * to be added in the Theme Header. * @return Javascript javascript code */ public function output_ga_tracking_code() { $google_trackingId = get_option(Options::GA_TRACKING_ID); $property_exists_func = $this->check_property_exists(); $gtag_code = $this->output_gtag_code(); $gtag_code_tagged = $this->output_gtag_code_tagged_property(); ob_start(); echo "\n\t"; echo "\n\t"; echo sprintf( esc_html( '%1$s' ), $property_exists_func ) . "\n\t\t"; echo "\n\t\t"; echo "\n"; ?> \n\n"; $code = ob_get_contents(); ob_end_clean(); return $code; } /** * Generate gtag code that runs when gtag does not * already exist in the header i.e. property is not * already been tagged. * @return Javascript $gtag_code */ public function output_gtag_code() { $google_trackingId = get_option(Options::GA_TRACKING_ID); $send_page_view = get_option(Options::GA_SEND_PAGE_VIEW) ? 'true' : 'false'; $maps = $this->get_properties_as_custom_dimensions(); $dims = $maps["dimensions_map"]; $events = $maps["events_map"]; $delayed_evidence = $maps["delayed_evidence"]; ob_start(); ?> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); const configuration = { 'send_page_view': '', 'custom_map' : { } }; const trackingId = ''; gtag('config', trackingId, configuration); window.addEventListener("load", function () { var update = function(data){ gtag('event', 'fod', { 'send_to': trackingId, }); }; fod.complete(update, "location"); fod.complete(update); }); get_properties_as_custom_dimensions(); $dims = $maps["dimensions_map"]; $events = $maps["events_map"]; $delayed_evidence = $maps["delayed_evidence"]; ob_start(); ?> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} var custom_map = { }; const trackingId = ''; i = len = 0; for (i, len = window.dataLayer.length; i < len; i += 1) { if(window.dataLayer[i][0] == "config" && window.dataLayer[i][1] == trackingId ) { if(window.dataLayer[i].length > 2) { if( window.dataLayer[i][2]["custom_map"] !== undefined) { var datalayer_custom_map = window.dataLayer[i][2]["custom_map"]; for([key, val] of Object.entries(custom_map)) { datalayer_custom_map[key] = val; } } } } } window.addEventListener("load", function () { var update = function(data) { gtag('event', 'fod', { 'send_to': trackingId, }); }; fod.complete(update, "location"); fod.complete(update); });