NikolayBezay

Untitled

Jul 8th, 2022 (edited)
165
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.12 KB | None | 0 0
  1. // on campaign show we run this
  2. (function() {
  3. function pushImpretionEvent() {
  4. window.preDataLayer.push({
  5. event: "newEvent",
  6. newEventData: {
  7. ecommerce: {
  8. impressions: {
  9. "Adoric - Upsale: NEW gass in the cart": [{
  10. id: PRODUCT_SKU,
  11. title: "Spare Cylinder",
  12. type: "Carbonator",
  13. price: 2999,
  14. available: true,
  15. variants: [{
  16. id: PDRODUCT_ID,
  17. name: "Spare Cylinder",
  18. price: 2999,
  19. available: true,
  20. productId: PRODUCT_SKU
  21. }]
  22. }]
  23. }
  24. },
  25. type: "ecommerceData"
  26. }
  27. });
  28. }
  29. var GA_EVENT_CATEGORY = "Adoric - GASINTHECART";
  30. var GA_EVENT_ACTION = "Added to the cart";
  31. var GA_EVENT_LABEL = "Carbonating Cylinder ";
  32. var PDRODUCT_ID = 39539279659050;
  33. var PRODUCT_SKU = 6615783702570;
  34. pushImpretionEvent();
  35. })();
  36.  
  37.  
  38.  
  39. //and this after user click CTA button
  40.  
  41. (function() {
  42. function pushCustomGAEvent(eventType, eventElementType, elementId) {
  43. if (window.preDataLayer) {
  44. window.preDataLayer.push({
  45. event: "newEvent",
  46. newEventData: {
  47. type: eventType,
  48. elementType: eventElementType,
  49. elementId: elementId
  50. }
  51. });
  52. }
  53. }
  54.  
  55. function pushAddToCartEvent() {
  56. window.preDataLayer.push({
  57. event: "newEvent",
  58. newEventData: {
  59. ecommerce: {
  60. add: {
  61. list: "Adoric - Upsale: NEW gass in the cart",
  62. products: [{
  63. variant_id: PDRODUCT_ID,
  64. quantity: 1
  65. }]
  66. }
  67. },
  68. type: "ecommerceData"
  69. }
  70. });
  71. }
  72. var GA_EVENT_CATEGORY = "Adoric - GASINTHECART";
  73. var GA_EVENT_ACTION = "Added to the cart";
  74. var GA_EVENT_LABEL = "Carbonating Cylinder ";
  75. var PDRODUCT_ID = 39539279659050;
  76. var PRODUCT_SKU = 6615783702570;
  77.  
  78. function adoricAddToCart(productId) {
  79. var data = {
  80. id: productId,
  81. quantity: 1
  82. };
  83. var xhr = new XMLHttpRequest();
  84. xhr.withCredentials = true;
  85. xhr.addEventListener("readystatechange", function() {
  86. if (this.readyState === 4) {
  87. console.log(this.responseText);
  88. pushCustomGAEvent(GA_EVENT_CATEGORY, GA_EVENT_ACTION, GA_EVENT_LABEL);
  89. pushAddToCartEvent();
  90. window.location.reload();
  91. }
  92. });
  93. xhr.open("POST", window.location.origin + "/cart/add.js");
  94. xhr.setRequestHeader("content-type", "application/json");
  95. xhr.setRequestHeader("cache-control", "no-cache");
  96. xhr.send(JSON.stringify(data));
  97. }
  98. adoricAddToCart(PDRODUCT_ID);
  99. })();
  100.  
Add Comment
Please, Sign In to add comment