$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);
});