Advertisement
NikolayBezay

Custom events Adoric to GA4(UPDATED!)

Jul 1st, 2023 (edited)
1,293
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 1.80 KB | None | 0 0
  1. <script>
  2. try {
  3.     /*========= IMPORTANT TO UPDATE CONSTANT VALUE!!! =========*/
  4.     var GA_MEASUREMENT_ID = 'G-RENM1*****';
  5.     var WAITING_TIMER = 20;
  6.  
  7.  
  8.     var pushCustomGAEvent = function(event_name, campaignData) {
  9.         if (campaignData.lightbox && campaignData.lightbox.options && campaignData.lightbox.options.campaignTitle && campaignData.lightbox.options.title && campaignData.lightbox.options.type) {
  10.            dataLayer && dataLayer.push({
  11.                'event':  event_name,
  12.                'campaign_name': campaignData.lightbox.options.campaignTitle,
  13.                'variation_name': campaignData.lightbox.options.title,
  14.                'device_type': campaignData.lightbox.options.type,
  15.                'send_to': GA_MEASUREMENT_ID
  16.            });
  17.         }
  18.     }
  19.     var startCampaignChecking = function() {
  20.         adoric.on('lightbox:after:init', function(campaignData) {
  21.             pushCustomGAEvent('adoric_visitor', campaignData);
  22.         });
  23.         adoric.on('lightbox:after:show', function(campaignData) {
  24.             pushCustomGAEvent('adoric_impression', campaignData);
  25.         });
  26.         adoric.on('lightbox:after:close', function(campaignData) {
  27.             pushCustomGAEvent('adoric_close_transition', campaignData);
  28.         });
  29.         adoric.on('lightbox:after:click', function(campaignData) {
  30.             pushCustomGAEvent('adoric_click', campaignData);
  31.         });
  32.     }
  33.  
  34.     var waitGaDataLayer = function () {
  35.         WAITING_TIMER--;
  36.         if ((!window.dataLayer || !window.adoric) && WAITING_TIMER > 0) {
  37.            setTimeout(waitGaDataLayer, 500);
  38.         } else if (window.dataLayer && window.adoric) {
  39.            startCampaignChecking();
  40.         }
  41.     }
  42.     waitGaDataLayer();
  43.  
  44. } catch (error) {
  45.     console.log('error - ', error);
  46. };
  47. </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement