NikolayBezay

Soda US custom GA tracking GTM teg.

Dec 8th, 2021
862
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <script>
  2. (function() {
  3.     try {
  4.         var waitLimit = 50;
  5.         function waitAdoric() {
  6.             waitLimit--;
  7.             if (!window.adoric && waitLimit > 0) {
  8.                    setTimeout(waitAdoric, 100);
  9.             } else {
  10.                 startCampaignChecking();
  11.             }
  12.         }
  13.         waitAdoric();
  14.        
  15.         function updateCampaingDescription(eventDescription, campaignData) {
  16.             var resultDescription = '';
  17.             resultDescription = eventDescription.replace('{{campaignName}}', campaignData.lightbox.options.campaignTitle);
  18.             resultDescription = resultDescription.replace('{{versionName}}', campaignData.lightbox.options.title);
  19.             return resultDescription;
  20.         }
  21.         function pushCustomGAEvent(eventType, eventElementType, elementId) {
  22.             if (window.preDataLayer) {
  23.                 preDataLayer.push({
  24.                             event: 'newEvent',
  25.                             newEventData: {
  26.                                 type: eventType,
  27.                                 elementType: eventElementType,
  28.                                 elementId: elementId
  29.                             }
  30.                 });
  31.             }
  32.         }
  33.        
  34.        
  35.         function startCampaignChecking() {
  36.             if (adoric && dataLayer) {
  37.                adoric.on('lightbox:after:show', function(campaignData) {
  38.                    if (campaignData.lightbox.options.settings.GA.adv.i && campaignData.lightbox.options.settings.GA.adv.i.length == 3) {
  39.                        pushCustomGAEvent(
  40.                            updateCampaingDescription(campaignData.lightbox.options.settings.GA.adv.i[0], campaignData),
  41.                            updateCampaingDescription(campaignData.lightbox.options.settings.GA.adv.i[1], campaignData),
  42.                            updateCampaingDescription(campaignData.lightbox.options.settings.GA.adv.i[2], campaignData)
  43.                        );
  44.                     } else {
  45.                         pushCustomGAEvent(
  46.                             'Adoric',
  47.                             'Impression',
  48.                             'Adoric - ' + campaignData.lightbox.options.title
  49.                         );
  50.                     }
  51.                 });
  52.                 adoric.on('lightbox:after:close', function(campaignData) {
  53.                     if (campaignData.lightbox.options.settings.GA.adv.cs && campaignData.lightbox.options.settings.GA.adv.cs.length == 3) {
  54.                        pushCustomGAEvent(
  55.                            updateCampaingDescription(campaignData.lightbox.options.settings.GA.adv.cs[0], campaignData),
  56.                            updateCampaingDescription(campaignData.lightbox.options.settings.GA.adv.cs[1], campaignData),
  57.                            updateCampaingDescription(campaignData.lightbox.options.settings.GA.adv.cs[2], campaignData)
  58.                        );
  59.                     } else {
  60.                         pushCustomGAEvent(
  61.                             'Adoric',
  62.                             'Close or Transition',
  63.                             'Adoric - ' + campaignData.lightbox.options.title
  64.                         );
  65.                     }
  66.                 });
  67.                 adoric.on('lightbox:after:click', function(campaignData) {
  68.                     if (campaignData.lightbox.options.settings.GA.adv.ck && campaignData.lightbox.options.settings.GA.adv.ck.length == 3) {
  69.                        pushCustomGAEvent(
  70.                            updateCampaingDescription(campaignData.lightbox.options.settings.GA.adv.ck[0], campaignData),
  71.                            updateCampaingDescription(campaignData.lightbox.options.settings.GA.adv.ck[1], campaignData),
  72.                            updateCampaingDescription(campaignData.lightbox.options.settings.GA.adv.ck[2], campaignData)
  73.                        );
  74.                     } else {
  75.                         pushCustomGAEvent(
  76.                             'Adoric',
  77.                             'Click',
  78.                             'Adoric - ' + campaignData.lightbox.options.title
  79.                         );
  80.                     }
  81.                 });
  82.                 adoric.on('form:after:submit', function(campaignData) {
  83.                     if (campaignData.lightbox.options.settings.GA.adv.ck && campaignData.lightbox.options.settings.GA.adv.ck.length == 3) {
  84.                        pushCustomGAEvent(
  85.                            updateCampaingDescription(campaignData.lightbox.options.settings.GA.adv.ck[0], campaignData),
  86.                            updateCampaingDescription(campaignData.lightbox.options.settings.GA.adv.ck[1], campaignData),
  87.                            updateCampaingDescription(campaignData.lightbox.options.settings.GA.adv.ck[2], campaignData)
  88.                        );
  89.                     } else {
  90.                         pushCustomGAEvent(
  91.                             'Adoric',
  92.                             'Click',
  93.                             'Adoric - ' + campaignData.lightbox.options.title
  94.                         );
  95.                     }
  96.                 });
  97.             }
  98.         }
  99.     } catch(error) {
  100.         console.log('error - ', error);
  101.     };
  102. })();
  103. </script>
  104.  
RAW Paste Data