NikolayBezay

P&G new activation code with a custom GA tracking events(UPDATED).

Feb 24th, 2021 (edited)
229
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 5.59 KB | None | 0 0
  1. <script>
  2.     (function (a, d, o, r, i, c, u, p, w, m) {
  3.     m = d.getElementsByTagName(o)[0], a[c] = a[c]
  4.     || {}, a[c].trigger = a[c].trigger || function () {
  5.     (a[c].trigger.arg = a[c].trigger.arg || []).push(arguments)},
  6.     a[c].on = a[c].on || function () {(a[c].on.arg = a[c].on.arg || []).push(arguments)},
  7.     a[c].off = a[c].off || function () {(a[c].off.arg = a[c].off.arg || []).push(arguments)
  8.     }, w = d.createElement(o), w.id = i, w.src = r, w.async = 1, w.setAttribute(p, u),
  9.     m.parentNode.insertBefore(w, m), w = null}
  10.     )(window, document, "script", "https://23165084.adoric-om.com/adoric.js", "Adoric_Script", "adoric","17d37e7ffefb14e3a01723cfaf826ef8", "data-key");
  11.     </script>
  12.     <script>
  13.     (function() {
  14.         try {
  15.             if (!window.adoric) {
  16.                 document.addEventListener('adoric-loaded', function() {
  17.                     waitDataLayer();
  18.                 });
  19.             } else {
  20.                 waitDataLayer()
  21.             }
  22.  
  23.             var waitLimit = 70;
  24.  
  25.             var waitDataLayer = function() {
  26.                 waitLimit--;
  27.                 if (waitLimit > 0 && !window.dataLayer) {
  28.                    setTimeout(waitDataLayer, 125);
  29.                 } else {
  30.                     startCampaignChecking();
  31.                 }
  32.             }
  33.            
  34.             var updateCampaingDescription = function(eventDescription, campaignData) {
  35.                 var resultDescription = '';
  36.                 resultDescription = eventDescription.replace('[[campaignName]]', campaignData.lightbox.options.campaignTitle);
  37.                 resultDescription = resultDescription.replace('[[versionName]]', campaignData.lightbox.options.title);
  38.                 return resultDescription;
  39.             }
  40.        
  41.            
  42.             var startCampaignChecking = function() {                
  43.                 if (window.adoric && window.dataLayer) {
  44.                    adoric.on('lightbox:after:show', function(campaignData) {
  45.                        if (campaignData.lightbox.options.settings.GA.adv.i.length == 3) {
  46.                            dataLayer.push({
  47.                                'event': 'customEvent',
  48.                                'GAeventCategory': updateCampaingDescription(campaignData.lightbox.options.settings.GA.adv.i[0], campaignData),
  49.                                'GAeventAction': updateCampaingDescription(campaignData.lightbox.options.settings.GA.adv.i[1], campaignData),
  50.                                'GAeventLabel': updateCampaingDescription(campaignData.lightbox.options.settings.GA.adv.i[2], campaignData),
  51.                                'GAeventValue': 0,
  52.                                'GAeventNonInteraction': false,
  53.                            });
  54.                         }
  55.                     });
  56.                     adoric.on('lightbox:after:close', function(campaignData) {
  57.                         if (campaignData.lightbox.options.settings.GA.adv.cs.length == 3) {
  58.                             dataLayer.push({
  59.                                 'event': 'customEvent',
  60.                                 'GAeventCategory': updateCampaingDescription(campaignData.lightbox.options.settings.GA.adv.cs[0], campaignData),
  61.                                 'GAeventAction': updateCampaingDescription(campaignData.lightbox.options.settings.GA.adv.cs[1], campaignData),
  62.                                 'GAeventLabel': updateCampaingDescription(campaignData.lightbox.options.settings.GA.adv.cs[2], campaignData),
  63.                                 'GAeventValue': 0,
  64.                                 'GAeventNonInteraction': false,
  65.                             });
  66.                         }
  67.                     });
  68.                     adoric.on('lightbox:after:click', function(campaignData) {
  69.                         if (campaignData.lightbox.options.settings.GA.adv.ck.length == 3) {
  70.                             dataLayer.push({
  71.                                 'event': 'customEvent',
  72.                                 'GAeventCategory': updateCampaingDescription(campaignData.lightbox.options.settings.GA.adv.ck[0], campaignData),
  73.                                 'GAeventAction': updateCampaingDescription(campaignData.lightbox.options.settings.GA.adv.ck[1], campaignData),
  74.                                 'GAeventLabel': updateCampaingDescription(campaignData.lightbox.options.settings.GA.adv.ck[2], campaignData),
  75.                                 'GAeventValue': 0,
  76.                                 'GAeventNonInteraction': false,
  77.                             });
  78.                         }
  79.                     });
  80.                     adoric.on('form:after:submit', function(campaignData) {
  81.                         if (campaignData.lightbox.options.settings.GA.adv.ck.length == 3) {
  82.                             dataLayer.push({
  83.                                 'event': 'customEvent',
  84.                                 'GAeventCategory': updateCampaingDescription(campaignData.lightbox.options.settings.GA.adv.ck[0], campaignData),
  85.                                 'GAeventAction': updateCampaingDescription(campaignData.lightbox.options.settings.GA.adv.ck[1], campaignData),
  86.                                 'GAeventLabel': updateCampaingDescription(campaignData.lightbox.options.settings.GA.adv.ck[2], campaignData),
  87.                                 'GAeventValue': 0,
  88.                                 'GAeventNonInteraction': false,
  89.                             });
  90.                         }
  91.                     });
  92.                 }
  93.             }
  94.         } catch (error) {
  95.             console.log('error - ', error);
  96.         };
  97.     })();
  98.     </script>
Advertisement
Add Comment
Please, Sign In to add comment