Advertisement
orenchuck

soda sent custom events to preDataLayer

Feb 17th, 2023
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.85 KB | None | 0 0
  1. <script>
  2. if (typeof window.adoric == "undefined") {
  3.  
  4. (function (a, d, o, r, i, c, u, p, w, m) {
  5. m = d.getElementsByTagName(o)[0], a[c] = a[c]
  6. || {}, a[c].trigger = a[c].trigger || function () {
  7. (a[c].trigger.arg = a[c].trigger.arg || []).push(arguments)},
  8. a[c].on = a[c].on || function () {(a[c].on.arg = a[c].on.arg || []).push(arguments)},
  9. a[c].off = a[c].off || function () {(a[c].off.arg = a[c].off.arg || []).push(arguments)
  10. }, w = d.createElement(o), w.id = i, w.src = r, w.async = 1, w.setAttribute(p, u),
  11. m.parentNode.insertBefore(w, m), w = null}
  12. )(window, document, "script", "https://78711431.adoric-om.com/adoric.js", "Adoric_Script",
  13. "adoric", {{Pixel Id - Adoric}}, "data-key");
  14.  
  15. adoric && adoric.on('form:after:submit', function(event) {
  16. event.target.dispatchEvent(new Event('custom_submit', {
  17. bubbles: true,
  18. cancelable: true
  19. }));
  20. });
  21.  
  22. try {
  23. var updateCampaingDescription = function(eventDescription, campaignData) {
  24. var resultDescription = '';
  25. resultDescription = eventDescription.replace('[[campaignName]]', campaignData.lightbox.options.campaignTitle);
  26. resultDescription = resultDescription.replace('[[versionName]]', campaignData.lightbox.options.title);
  27. return resultDescription;
  28. }
  29. var pushCustomGAEvent = function(eventType, eventElementType, elementId) {
  30. if (window.preDataLayer) {
  31. preDataLayer.push({
  32. event: 'newEvent',
  33. newEventData: {
  34. type: eventType,
  35. elementType: eventElementType,
  36. elementId: elementId
  37. }
  38. });
  39. }
  40. }
  41.  
  42.  
  43. var startCampaignChecking = function() {
  44. if (adoric && dataLayer) {
  45. adoric.on('lightbox:after:show', function(campaignData) {
  46. if (window.adoricStopImpressionEvent) return;
  47.  
  48. if (campaignData.lightbox.options.settings.GA.adv && campaignData.lightbox.options.settings.GA.adv.i && campaignData.lightbox.options.settings.GA.adv.i.length == 3) {
  49. pushCustomGAEvent(
  50. updateCampaingDescription(campaignData.lightbox.options.settings.GA.adv.i[0], campaignData),
  51. updateCampaingDescription(campaignData.lightbox.options.settings.GA.adv.i[1], campaignData),
  52. updateCampaingDescription(campaignData.lightbox.options.settings.GA.adv.i[2], campaignData)
  53. );
  54. } else {
  55. pushCustomGAEvent(
  56. 'Adoric - ' + campaignData.lightbox.options.campaignTitle,
  57. 'Impression',
  58. 'Adoric - ' + campaignData.lightbox.options.title
  59. );
  60. }
  61. });
  62. adoric.on('lightbox:after:close', function(campaignData) {
  63. if (window.adoricStopCloseEvent) return;
  64.  
  65. if (campaignData.lightbox.options.settings.GA.adv && campaignData.lightbox.options.settings.GA.adv.cs && campaignData.lightbox.options.settings.GA.adv.cs.length == 3) {
  66. pushCustomGAEvent(
  67. updateCampaingDescription(campaignData.lightbox.options.settings.GA.adv.cs[0], campaignData),
  68. updateCampaingDescription(campaignData.lightbox.options.settings.GA.adv.cs[1], campaignData),
  69. updateCampaingDescription(campaignData.lightbox.options.settings.GA.adv.cs[2], campaignData)
  70. );
  71. } else {
  72. pushCustomGAEvent(
  73. 'Adoric - ' + campaignData.lightbox.options.campaignTitle,
  74. 'Close or Transition',
  75. 'Adoric - ' + campaignData.lightbox.options.title
  76. );
  77. }
  78. });
  79. adoric.on('lightbox:after:click', function(campaignData) {
  80. if (window.adoricStopClickEvent) return;
  81.  
  82. if (campaignData.lightbox.options.settings.GA.adv && campaignData.lightbox.options.settings.GA.adv.ck && campaignData.lightbox.options.settings.GA.adv.ck.length == 3) {
  83. pushCustomGAEvent(
  84. updateCampaingDescription(campaignData.lightbox.options.settings.GA.adv.ck[0], campaignData),
  85. updateCampaingDescription(campaignData.lightbox.options.settings.GA.adv.ck[1], campaignData),
  86. updateCampaingDescription(campaignData.lightbox.options.settings.GA.adv.ck[2], campaignData)
  87. );
  88. } else {
  89. pushCustomGAEvent(
  90. 'Adoric - ' + campaignData.lightbox.options.campaignTitle,
  91. 'Click',
  92. 'Adoric - ' + campaignData.lightbox.options.title
  93. );
  94. }
  95. });
  96. adoric.on('form:after:submit', function(campaignData) {
  97. if (window.adoricStopSubmitEvent) return;
  98.  
  99. if (campaignData.lightbox.options.settings.GA.adv && campaignData.lightbox.options.settings.GA.adv.ck && campaignData.lightbox.options.settings.GA.adv.ck.length == 3) {
  100. pushCustomGAEvent(
  101. updateCampaingDescription(campaignData.lightbox.options.settings.GA.adv.ck[0], campaignData),
  102. updateCampaingDescription(campaignData.lightbox.options.settings.GA.adv.ck[1], campaignData),
  103. updateCampaingDescription(campaignData.lightbox.options.settings.GA.adv.ck[2], campaignData)
  104. );
  105. } else {
  106. pushCustomGAEvent(
  107. 'Adoric - ' + campaignData.lightbox.options.campaignTitle,
  108. 'Click',
  109. 'Adoric - ' + campaignData.lightbox.options.title
  110. );
  111. }
  112. });
  113. }
  114. }
  115.  
  116. startCampaignChecking();
  117. } catch (error) {
  118. console.log('error - ', error);
  119. };
  120. }
  121. </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement