NikolayBezay

Ilmakiage GTM for minicart dynamic bar campaign(updated 22.02.2023).

Feb 17th, 2023 (edited)
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.44 KB | None | 0 0
  1. <script>
  2. (function() {
  3. var MAX_PRODUCTS_IN_CART = 20;
  4. var CAMPAIGN_ID = '63db6ce873324a5b609b06c7';
  5. var CAMPAIGN_TRIGGER_EVENT = 'showNewMinicartDynamicBar';
  6. function triggerMinicartCampaign() {
  7. setTimeout(function() {
  8. adoric.lightboxes.forEach(function(item) {
  9. if (item.options.campaignId === CAMPAIGN_ID) {
  10. item.isShowing = false;
  11. item.showed = false;
  12. item.close(4);
  13. }
  14. });
  15. adoric.trigger(CAMPAIGN_TRIGGER_EVENT);
  16. }, 2500);
  17. }
  18.  
  19. function checkMinicartCampaign() {
  20. triggerMinicartCampaign();
  21. for (var evId = 0; evId <= MAX_PRODUCTS_IN_CART; evId++) {
  22. adoric.on('totalQtyCart:' + evId, function(event) {
  23. triggerMinicartCampaign();
  24. });
  25. }
  26. }
  27. var MAXIMUM_WAITING_TIME = 15 * 1000;
  28. var ITERATION_TIME_STEP = 500;
  29.  
  30.  
  31. var waitPageTriggerElement = setInterval(function() {
  32. var pageProductCounter = document.querySelector('#header-cart > div.minicart-wrapper > div.minicart_footer');
  33. if (pageProductCounter && window.adoric) {
  34. clearInterval(waitPageTriggerElement);
  35. checkMinicartCampaign();
  36. }
  37. }, ITERATION_TIME_STEP);
  38. setTimeout(function() {
  39. clearInterval(waitPageTriggerElement);
  40. }, MAXIMUM_WAITING_TIME);
  41. })();
  42. </script>
Advertisement
Add Comment
Please, Sign In to add comment