NikolayBezay

Pampers custom GA tracking GTM teg

May 11th, 2023 (edited)
465
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 6.12 KB | None | 0 0
  1. <script>
  2.     (function() {
  3.         var WAITING_TIMER = 20;
  4.         try {
  5.             var updateCampaingDescription = function(eventDescription, campaignData) {
  6.                 var resultDescription = '';
  7.                 resultDescription = eventDescription.replace('[[campaignName]]', campaignData.lightbox.options.campaignTitle);
  8.                 resultDescription = resultDescription.replace('[[versionName]]', campaignData.lightbox.options.title);
  9.                 return resultDescription;
  10.             }
  11.             var pushCustomGAEvent = function(eventCategory, eventAction, eventLabel) {
  12.                 if (window.dataLayer) {
  13.                     window.dataLayer.push({
  14.                         event: 'customEvent',
  15.                         GAeventCategory: eventCategory,
  16.                         GAeventAction: eventAction,
  17.                         GAeventLabel: eventLabel,
  18.                         GAeventValue: 0,
  19.                         GAeventNonInteraction: false
  20.                     });                    
  21.                 }
  22.             }
  23.  
  24.             var startCampaignChecking = function() {
  25.                     adoric.on('lightbox:after:show', function(campaignData) {
  26.                         if (campaignData.lightbox.options.settings.GA && campaignData.lightbox.options.settings.GA.adv && campaignData.lightbox.options.settings.GA.adv.i && campaignData.lightbox.options.settings.GA.adv.i.length == 3) {
  27.                            pushCustomGAEvent(
  28.                                updateCampaingDescription(campaignData.lightbox.options.settings.GA.adv.i[0], campaignData),
  29.                                updateCampaingDescription(campaignData.lightbox.options.settings.GA.adv.i[1], campaignData),
  30.                                updateCampaingDescription(campaignData.lightbox.options.settings.GA.adv.i[2], campaignData)
  31.                            );
  32.                         } else {
  33.                             pushCustomGAEvent(
  34.                                 'Adoric - ' + campaignData.lightbox.options.campaignTitle,
  35.                                 'Impression',
  36.                                 'Adoric - ' + campaignData.lightbox.options.title
  37.                             );
  38.                         }
  39.                     });
  40.                     adoric.on('lightbox:after:close', function(campaignData) {
  41.                         if (campaignData.lightbox.options.settings.GA && campaignData.lightbox.options.settings.GA.adv && campaignData.lightbox.options.settings.GA.adv.cs && campaignData.lightbox.options.settings.GA.adv.cs.length == 3) {
  42.                            pushCustomGAEvent(
  43.                                updateCampaingDescription(campaignData.lightbox.options.settings.GA.adv.cs[0], campaignData),
  44.                                updateCampaingDescription(campaignData.lightbox.options.settings.GA.adv.cs[1], campaignData),
  45.                                updateCampaingDescription(campaignData.lightbox.options.settings.GA.adv.cs[2], campaignData)
  46.                            );
  47.                         } else {
  48.                             pushCustomGAEvent(
  49.                                 'Adoric - ' + campaignData.lightbox.options.campaignTitle,
  50.                                 'Close or Transition',
  51.                                 'Adoric - ' + campaignData.lightbox.options.title
  52.                             );
  53.                         }
  54.                     });
  55.                     adoric.on('lightbox:after:click', function(campaignData) {
  56.                         if (campaignData.lightbox.options.settings.GA && campaignData.lightbox.options.settings.GA.adv && campaignData.lightbox.options.settings.GA.adv.ck && campaignData.lightbox.options.settings.GA.adv.ck.length == 3) {
  57.                            pushCustomGAEvent(
  58.                                updateCampaingDescription(campaignData.lightbox.options.settings.GA.adv.ck[0], campaignData),
  59.                                updateCampaingDescription(campaignData.lightbox.options.settings.GA.adv.ck[1], campaignData),
  60.                                updateCampaingDescription(campaignData.lightbox.options.settings.GA.adv.ck[2], campaignData)
  61.                            );
  62.                         } else {
  63.                             pushCustomGAEvent(
  64.                                 'Adoric - ' + campaignData.lightbox.options.campaignTitle,
  65.                                 'Click',
  66.                                 'Adoric - ' + campaignData.lightbox.options.title
  67.                             );
  68.                         }
  69.                     });
  70.                     adoric.on('form:after:submit', function(campaignData) {
  71.                         if (campaignData.lightbox.options.settings.GA && campaignData.lightbox.options.settings.GA.adv && campaignData.lightbox.options.settings.GA.adv.ck && campaignData.lightbox.options.settings.GA.adv.ck.length == 3) {
  72.                            pushCustomGAEvent(
  73.                                updateCampaingDescription(campaignData.lightbox.options.settings.GA.adv.ck[0], campaignData),
  74.                                updateCampaingDescription(campaignData.lightbox.options.settings.GA.adv.ck[1], campaignData),
  75.                                updateCampaingDescription(campaignData.lightbox.options.settings.GA.adv.ck[2], campaignData)
  76.                            );
  77.                         } else {
  78.                             pushCustomGAEvent(
  79.                                 'Adoric - ' + campaignData.lightbox.options.campaignTitle,
  80.                                 'Click',
  81.                                 'Adoric - ' + campaignData.lightbox.options.title
  82.                             );
  83.                         }
  84.                     });
  85.                 }
  86.         } catch (error) {
  87.             console.log('error - ', error);
  88.         };
  89.  
  90.         function waitGaDataLayer() {
  91.             WAITING_TIMER--;
  92.             if ((!window.dataLayer || !window.adoric) && WAITING_TIMER > 0) {
  93.                setTimeout(waitGaDataLayer, 500);
  94.             } else if (window.dataLayer && window.adoric) {
  95.                startCampaignChecking();
  96.             }
  97.         }
  98.         waitGaDataLayer();
  99.     })();
  100. </script>
  101.  
Advertisement
Add Comment
Please, Sign In to add comment