2 lines
3.8 KiB
JavaScript
2 lines
3.8 KiB
JavaScript
function O(a,r){var e=Object.keys(a);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(a);r&&(o=o.filter(function(c){return Object.getOwnPropertyDescriptor(a,c).enumerable})),e.push.apply(e,o)}return e}function d(a){for(var r=1;r<arguments.length;r++){var e=arguments[r]!=null?arguments[r]:{};r%2?O(Object(e),!0).forEach(function(o){P(a,o,e[o])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(e)):O(Object(e)).forEach(function(o){Object.defineProperty(a,o,Object.getOwnPropertyDescriptor(e,o))})}return a}function P(a,r,e){return r in a?Object.defineProperty(a,r,{value:e,enumerable:!0,configurable:!0,writable:!0}):a[r]=e,a}var N={},h="https://www.googletagmanager.com/gtag/js",j={debug_mode:!1,send_page_view:!1,anonymize_ip:!1,allow_google_signals:!0,allow_ad_personalization_signals:!0,cookie_flags:""},L={gtagName:"gtag",dataLayerName:"ga4DataLayer",measurementIds:[],gtagConfig:j};function D(){var a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=0,e=b(a.measurementIds),o=d(d({},L),a);return{name:"google-analytics",config:o,initialize:function(t){var n=t.config,i=t.instance,g=n.dataLayerName,f=n.customScriptSrc,u=n.gtagName,s=n.gtagConfig,p=n.debug;if(!C(f||h)){var m=g?"&l=".concat(g):"",l=document.createElement("script");l.async=!0,l.src=f||"".concat(h,"?id=").concat(e[0]).concat(m),document.body.appendChild(l)}window[g]||(window[g]=window[g]||[],window[u]=function(){window[g].push(arguments)},window[u]("js",new Date));var v=d(d(d({},j),s||{}),p?{debug_mode:!0}:{}),y=i.user()||{},_=y.traits||{};Object.keys(_).length&&window[u]("set","user_properties",_);for(var w=0;w<e.length;w++)N[e[w]]||(window[u]("config",e[w],v),N[e[w]]=!0)},identify:function(t){var n=t.payload,i=t.config,g=i.gtagName;!window[g]||!e.length||(n.userId&&window[g]("set",{user_id:n.userId}),Object.keys(n.traits).length&&window[g]("set","user_properties",n.traits))},page:function(t){var n=t.payload,i=t.config,g=t.instance,f=i.gtagName,u=i.gtagConfig;if(!(!window[f]||!e.length)){var s=n.properties,p=s.send_to,m=g.getState("context.campaign"),l={page_title:s.title,page_location:s.url,page_path:s.path||document.location.pathname,page_hash:s.hash,page_search:s.page_search,page_referrer:s.referrer},v=S(m),y=d(d(d({},p?{send_to:p}:{}),l),v);if(u&&u.send_page_view&&r===0){r++;return}window[f]("event","page_view",y),r++}},track:function(t){var n=t.payload,i=t.config,g=t.instance,f=n.properties,u=n.event,s=g.getState("context.campaign"),p=i.gtagName;if(!(!window[p]||!e.length)){var m=S(s),l=d(d({},f),m);window[p]("event",u,l)}},loaded:function(){var t=o.dataLayerName,n=o.customScriptSrc,i=t&&window[t]&&Array.prototype.push===window[t].push;return C(n||h)&&i},methods:{addTag:function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};window[o.gtagName]&&(window[o.gtagName]("config",t,n),e&&!e.includes(t)&&(e=e.concat(t)))},disable:function(t){for(var n=t?b(t):e,i=0;i<e.length;i++){var g=e[i];n.includes(g)&&(window["ga-disable-".concat(g)]=!0)}},enable:function(t){for(var n=t?b(t):e,i=0;i<e.length;i++){var g=e[i];n.includes(g)&&(window["ga-disable-".concat(g)]=!1)}}}}}function b(a){if(!a)throw new Error("No GA Measurement ID defined");if(Array.isArray(a))return a;if(typeof a=="string")return[a];throw new Error("GA Measurement ID must be string or array of strings")}function S(){var a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r={},e=a.id,o=a.name,c=a.source,t=a.medium,n=a.content,i=a.keyword;return e&&(r.campaignId=e),o&&(r.campaignName=o),c&&(r.campaignSource=c),t&&(r.campaignMedium=t),n&&(r.campaignContent=n),i&&(r.campaignKeyword=i),r}function C(a){var r=document.querySelectorAll("script[src]"),e=new RegExp("^".concat(a));return Boolean(Object.values(r).filter(function(o){return e.test(o.src)}).length)}var A=D,x=D;export{A as default,x as init};
|