getninjas/tagmanager-wrap

View on GitHub
index.html

Summary

Maintainability
Test Coverage
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
  <link href="https://fonts.googleapis.com/css?family=Lato" rel="stylesheet">
  <link href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.8.1/themes/prism.min.css" rel="stylesheet" />
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.8.1/plugins/line-numbers/prism-line-numbers.css" data-noprefix />
  <link href="demo.css" rel="stylesheet" />
  <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.8.1/prism.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.8.1/plugins/line-numbers/prism-line-numbers.js"></script>
  <script src="./dist/tagmanager-wrap.js"></script>
</head>

<body>
  <h1>TagManager</h1>
  <br>
  <div class="title">
    <h3>Init (ES6)</h3>
  </div>

  <pre>
  <code class="language-javascript line-numbers">import TagManager from 'tagmanager-wrap';
  const tagmanager = new TagManager(window.tagManagerDataLayer, {
    gtmId: 'AAABBB000',
    startPush: {
      page_type: 'page:price',
      path_category: 'category/sub-category',
      experiments: window.experiments || [],
    },
  });

  tagManager.init();
  tagManager.bindEvents();</code></pre>
  <br>
  <br>
  <div class="title">
    <h3>Init (Global)</h3>
  </div>

  <pre>
  <code class="language-javascript line-numbers">var tagManager = new window.tagmanagerWrap.default(window.tagManagerDataLayer, {
    gtmId: 'AAABBB000',
    startPush: {
      page_type: "pages:home",
      path_category: "category/sub-category",
      experiments: window.experiments || []
    }
  });</code></pre>
  <br>
  <br>
  <div class="title">
    <h3>Init (CommonJs)</h3>
  </div>

  <pre>
  <code class="language-javascript line-numbers">var TagManager = require('tagmanager-wrap');
    var tagManager = new TagManager.default(window.tagManagerDataLayer, {
      gtmId: 'AAABBB000',
      startPush: {
        page_type: "pages:home",
        path_category: "category/sub-category",
        experiments: window.experiments || []
      }
  });</code></pre>
  <br>
  <br>
  <div class="title">
    <h3>Init (AMD)</h3>
  </div>
  <pre>
  <code class="language-javascript line-numbers">define(['tagmanager-wrap'], function(TagManager){
    var tagManager = new TagManager(window.tagManagerDataLayer, {
      gtmId: 'AAABBB000',
      startPush: {
        page_type: "pages:home",
        path_category: "category/sub-category",
        experiments: window.experiments || []
      }
    });
  });</code></pre>
  <br>
  <div class="title">
    <h3>eventCategory</h3>
    <button type="button" class="eventCategory">Run</button>
  </div>

  <pre>
  <code class="language-javascript line-numbers">var btnEventCategory = document.getElementsByClassName('eventCategory')[0];
  btnEventCategory.addEventListener('click', function () {

    tagManager.eventCategory("pre-fill", {
      eventAction: "success"
    });
    console.log(tagManager);
  });</code></pre>
  <br>
  <div class="title">
    <h3>prependExperiment</h3>
    <button type="button" class="prependExperiment">Run</button>
  </div>

  <pre>
  <code class="language-javascript line-numbers">var btnPrependExperiment = document.getElementsByClassName('prependExperiment')[0];
  btnPrependExperiment.addEventListener('click', function () {

    tagManager.prependExperiment({
      event: 'yourCustomEvent',
      schema: 'your:br.com.custom/schema/jsonschema/1-0-0',
      data: {
        experimentDescription: 'Custom Description',
        experimentGoal: 'request conversion rate',
        experimentId: 'popup-user-leaves-request',
        experimentPageCategory: ['all'],
        experimentPageType: ['categories'],
        experimentTool: 'Abba',
        experimentType: 'page',
        experimentVersion: 'demo',
      },
    });
    console.log(tagManager);
  });</code></pre>
  <br>
  <div class="title">
    <h3>virtualPageView</h3>
    <button type="button" class="virtualPageView">Run</button>
  </div>

  <pre>
  <code class="language-javascript line-numbers">var btnVirtualPageView = document.getElementsByClassName('virtualPageView')[0];
  btnVirtualPageView.addEventListener('click', function () {

    tagManager.virtualPageView('/profile/created');
    console.log(tagManager);
  });</code></pre>
  <br>
  <div class="title">
    <h3>custom Obj</h3>
    <button type="button" class="customObj">Run</button>
  </div>

  <pre>
  <code class="language-javascript line-numbers">var btnCustomObj = document.getElementsByClassName('customObj')[0];
  btnCustomObj.addEventListener('click', function () {

    tagManager.custom({
      user_id: 123,
      event: 'user_info'
    });
    console.log(tagManager);
  });</code></pre>
  <script src="demo.js"></script>
</body>

</html>