UNPKG

@elbwalker/destination-web-google-ga4

Version:

Google GA4 web destination for walkerOS

1 lines 1.98 kB
"use strict";var e,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,o=Object.prototype.hasOwnProperty,a={};function c(e){return"object"==typeof e&&null!==e&&!function(e){return Array.isArray(e)}(e)&&"[object Object]"===Object.prototype.toString.call(e)}((e,n)=>{for(var r in n)t(e,r,{get:n[r],enumerable:!0})})(a,{DestinationGoogleGA4:()=>i,default:()=>s,destinationGoogleGA4:()=>u}),module.exports=(e=a,((e,a,c,i)=>{if(a&&"object"==typeof a||"function"==typeof a)for(let u of r(a))o.call(e,u)||u===c||t(e,u,{get:()=>a[u],enumerable:!(i=n(a,u))||i.enumerable});return e})(t({},"__esModule",{value:!0}),e));var i={},u={type:"google-ga4",config:{custom:{measurementId:""}},init(e={}){const t=window,{custom:n={},fn:r,loadScript:o}=e,{measurementId:a,transport_url:c,server_container_url:i,pageview:u}=n;if(!a)return!1;o&&function(e,t="https://www.googletagmanager.com/gtag/js?id="){const n=document.createElement("script");n.src=t+e,document.head.appendChild(n)}(a);const s={};c&&(s.transport_url=c),i&&(s.server_container_url=i),!1===u&&(s.send_page_view=!1),t.dataLayer=t.dataLayer||[];let g=r||t.gtag;t.gtag||(t.gtag=function(){t.dataLayer.push(arguments)},g=g||t.gtag,g("js",new Date)),g("config",a,s)},push(e,t,n={},r={}){const{custom:o,fn:a}=t,i=n.custom||{};if(!o)return;if(!o.measurementId)return;const u=c(r.data)?r.data:{},s=function(e,t){const n={};return t.includes("all")&&(t=["context","data","event","globals","source","user","version"]),t.forEach((t=>{let r=e[t]||{};"event"==t&&(r={id:e.id,timing:e.timing,trigger:e.trigger,entity:e.entity,action:e.action,group:e.group,count:e.count}),Object.entries(r).forEach((([e,r])=>{"context"==t&&(r=r[0]),n[`${t}_${e}`]=r}))})),n}(e,i.include||o.include||["data"]),g={...s,...u};let l=e.event;n.name||!1===o.snakeCase||(l=l.replace(" ","_").toLowerCase()),g.send_to=o.measurementId,o.debug&&(g.debug_mode=!0);(a||window.gtag)("event",l,g)}};var s=u;//# sourceMappingURL=index.js.map