You are here

commerce_google_tag_manager.module in Commerce Google Tag Manager 7.2

Adds the required Javascript to the checkout completion page to allow e-commerce statistics tracking through Google Tag Manager.

Based on Commerce Google Analytics module.

File

commerce_google_tag_manager.module
View source
<?php

/**
 * @file
 * Adds the required Javascript to the checkout completion page to allow
 * e-commerce statistics tracking through Google Tag Manager.
 *
 * Based on Commerce Google Analytics module.
 */

/**
 * Implements hook_rules_directory();
 */
function commerce_google_tag_manager_rules_directory() {
  return 'includes/rules';
}

/**
 * Implements hook_page_build().
 */
function commerce_google_tag_manager_page_build(&$page) {
  if (!isset($_SESSION['commerce_google_tag_manager']) || !is_array($_SESSION['commerce_google_tag_manager'])) {
    return;
  }
  $data =& $_SESSION['commerce_google_tag_manager'];

  // Allow other modules to alter aggregated event-data just before pushing to
  // the DataLayer.
  drupal_alter('commerce_google_tag_manager_commerce_data_aggregated', $data);
  foreach ($data as $key => $script) {

    // Data escaped via drupal_json_encode().
    $page['page_top']['#attached']['js'][] = array(
      'type' => 'inline',
      'data' => $script,
    );
    unset($data[$key]);
  }
}