You are here

function _google_tag_script_snippet in GoogleTagManager 7

Returns JavaScript script snippet.

Return value

array The script snippet.

1 call to _google_tag_script_snippet()
google_tag_snippets in includes/snippet.inc
Returns JavaScript snippets.

File

includes/snippet.inc, line 34
Contains the JavaScript snippet insertion code.

Code

function _google_tag_script_snippet() {

  // Gather data.
  $container_id = _google_tag_variable_clean('google_tag_container_id');
  $data_layer = _google_tag_variable_clean('google_tag_data_layer', 'dataLayer');
  $query = _google_tag_environment_query();
  $compact = variable_get('google_tag_compact_snippet', 1);

  // Build script snippet.
  $script = <<<EOS
(function(w,d,s,l,i){

  w[l]=w[l]||[];
  w[l].push({'gtm.start':new Date().getTime(),event:'gtm.js'});
  var f=d.getElementsByTagName(s)[0];
  var j=d.createElement(s);
  var dl=l!='dataLayer'?'&l='+l:'';
  j.type='text/javascript';
  j.src='https://www.googletagmanager.com/gtm.js?id='+i+dl+'{<span class="php-variable">$query</span>}';
  j.async=true;
  f.parentNode.insertBefore(j,f);

})(window,document,'script','{<span class="php-variable">$data_layer</span>}','{<span class="php-variable">$container_id</span>}');
EOS;
  if ($compact) {
    $script = str_replace(array(
      "\n",
      '  ',
    ), '', $script);
  }

  /*
    $script = <<<EOS
    <!-- Google Tag Manager -->
    $script
    <!-- End Google Tag Manager -->
    EOS;
  */
  return $script;
}