@adv-re/segment-wrapper 4.36.0-beta.1 → 4.36.0-beta.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -56,7 +56,8 @@ await analytics.identify('user-123', {
56
56
 
57
57
  ```html
58
58
  <script src="https://cdn.segment.com/analytics.js/v1/YOUR_WRITE_KEY/analytics.min.js"></script>
59
- <script src="/path/to/umd/index.global.js"></script>
59
+ <!-- Use specific version (recommended for production) -->
60
+ <script async src="https://unpkg.com/@adv-re/segment-wrapper@latest"></script>
60
61
 
61
62
  <script>
62
63
  // Access via window.sui.analytics
@@ -66,6 +67,16 @@ await analytics.identify('user-123', {
66
67
  </script>
67
68
  ```
68
69
 
70
+ **Version Options:**
71
+
72
+ ```html
73
+ <!-- Specific version (recommended for production) -->
74
+ <script async src="https://unpkg.com/@adv-re/segment-wrapper@4.36.0"></script>
75
+
76
+ <!-- Latest version (use only for development) -->
77
+ <script async src="https://unpkg.com/@adv-re/segment-wrapper"></script>
78
+ ```
79
+
69
80
  ## Configuration
70
81
 
71
82
  ```typescript
@@ -74,27 +85,27 @@ import {initConfig} from '@adv-re/segment-wrapper'
74
85
  initConfig({
75
86
  // Segment
76
87
  segmentKey: 'your-segment-write-key',
77
-
88
+
78
89
  // Google Analytics 4
79
90
  googleAnalyticsMeasurementId: 'G-XXXXXXXXXX',
80
91
  googleAnalyticsConsentManagement: true,
81
92
  googleAnalyticsConfig: {
82
93
  // Custom GA4 config
83
94
  },
84
-
95
+
85
96
  // Adobe Analytics
86
97
  adobeVisitorId: 'YOUR_ADOBE_ORG_ID@AdobeOrg',
87
-
98
+
88
99
  // TCF/GDPR
89
100
  enableTcf: true,
90
-
101
+
91
102
  // Universal ID
92
103
  universalId: 'user-universal-id',
93
104
  userEmail: 'user@example.com',
94
-
105
+
95
106
  // Middlewares
96
107
  experimentalPageDataMiddleware: false,
97
-
108
+
98
109
  // Other
99
110
  defaultProperties: {
100
111
  platform: 'web',
@@ -172,13 +183,14 @@ initConfig({
172
183
  googleAnalyticsMeasurementId: 'G-XXXXXXXXXX',
173
184
  googleAnalyticsConsentManagement: true,
174
185
  googleAnalyticsConfig: {
175
- send_page_view: false,
186
+ send_page_view: false
176
187
  // Additional GA4 config options
177
188
  }
178
189
  })
179
190
  ```
180
191
 
181
192
  Features:
193
+
182
194
  - Automatic consent mode updates based on TCF
183
195
  - Session and client ID tracking
184
196
  - Campaign parameter forwarding
@@ -189,6 +201,7 @@ Features:
189
201
  See [Migration Guide](./docs/migration-guide.md) for step-by-step instructions on migrating from the legacy `@s-ui/segment-wrapper` package.
190
202
 
191
203
  Key changes:
204
+
192
205
  - Package name: `@s-ui/segment-wrapper` → `@adv-re/segment-wrapper`
193
206
  - Full TypeScript support with type definitions
194
207
  - Modern build system (tsup instead of sui-bundler)
package/dist/index.js CHANGED
@@ -717,7 +717,7 @@ var decorateContextWithNeededData = async ({
717
717
  ...!isGdprAccepted && { ip: "0.0.0.0" },
718
718
  ...getExternalIds({ context, xandrId }),
719
719
  analytics_storage: getConsentState(),
720
- clientVersion: `segment-wrapper@${"4.36.0-beta.1"}`,
720
+ clientVersion: `segment-wrapper@${"4.36.0-beta.5"}`,
721
721
  gdpr_privacy: gdprPrivacyValueAnalytics,
722
722
  gdpr_privacy_advertising: gdprPrivacyValueAdvertising,
723
723
  google_consents,
package/dist/index.mjs CHANGED
@@ -667,7 +667,7 @@ var decorateContextWithNeededData = async ({
667
667
  ...!isGdprAccepted && { ip: "0.0.0.0" },
668
668
  ...getExternalIds({ context, xandrId }),
669
669
  analytics_storage: getConsentState(),
670
- clientVersion: `segment-wrapper@${"4.36.0-beta.1"}`,
670
+ clientVersion: `segment-wrapper@${"4.36.0-beta.5"}`,
671
671
  gdpr_privacy: gdprPrivacyValueAnalytics,
672
672
  gdpr_privacy_advertising: gdprPrivacyValueAdvertising,
673
673
  google_consents,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adv-re/segment-wrapper",
3
- "version": "4.36.0-beta.1",
3
+ "version": "4.36.0-beta.5",
4
4
  "description": "Modern TypeScript abstraction layer on top of the Segment library",
5
5
  "sideEffects": [
6
6
  "./src/utils/patchAnalytics.ts",
@@ -46,13 +46,17 @@
46
46
  "@adv-re/jest-presets": "*",
47
47
  "@adv-re/typescript-config": "*",
48
48
  "@types/node": "^22.10.7",
49
- "eslint": "^8.57.0",
50
- "tiny-hashes": "1.0.1",
49
+ "eslint": "^8.57.1",
51
50
  "tsup": "^8.4.0",
52
51
  "typescript": "5.8.3"
53
52
  },
53
+ "dependencies": {
54
+ "tiny-hashes": "1.0.1"
55
+ },
56
+ "unpkg": "umd/index.js",
54
57
  "files": [
55
- "dist"
58
+ "dist",
59
+ "umd"
56
60
  ],
57
61
  "author": "",
58
62
  "license": "ISC"
package/umd/index.js ADDED
@@ -0,0 +1 @@
1
+ "use strict";(()=>{var A="__mpi",g=typeof window<"u",Q=()=>g?window:void 0;function r(e){let t=Q()?.[A]?.segmentWrapper||{};return e?t[e]:t}var _=(e,n)=>{let t=Q();if(!t){console.warn("[segment-wrapper] Cannot set config in non-browser environment");return}t[A]=t[A]||{},t[A].segmentWrapper=t[A].segmentWrapper||{},t[A].segmentWrapper[e]=n};var R,U=()=>({ADOBE_ORG_ID:window.__SEGMENT_WRAPPER?.ADOBE_ORG_ID,DEFAULT_DEMDEX_VERSION:window.__SEGMENT_WRAPPER?.DEFAULT_DEMDEX_VERSION??"3.3.0",TIME_BETWEEN_RETRIES:window.__SEGMENT_WRAPPER?.TIME_BETWEEN_RETRIES??15,TIMES_TO_RETRY:window.__SEGMENT_WRAPPER?.TIMES_TO_RETRY??80,SERVERS:{trackingServer:window.__SEGMENT_WRAPPER?.TRACKING_SERVER,trackingServerSecure:window.__SEGMENT_WRAPPER?.TRACKING_SERVER}}),q=()=>{let e=U();if(window.Visitor&&e.ADOBE_ORG_ID)return window.Visitor.getInstance(e.ADOBE_ORG_ID,e.SERVERS)},Ve=e=>e?.getMarketingCloudVisitorID(),J=()=>{let e=q(),n=U(),t=e?.version??n.DEFAULT_DEMDEX_VERSION,{trackingServer:o}=n.SERVERS;return Promise.resolve({trackingServer:o,version:t})},Z=()=>{if(R)return Promise.resolve(R);let e=U();return new Promise(n=>{function t(o){if(o===0)return n("");let i=q();R=Ve(i),R?n(R):window.setTimeout(()=>t(--o),e.TIME_BETWEEN_RETRIES)}t(e.TIMES_TO_RETRY)})},ke=async()=>Z(),N=async()=>{let e=r("getCustomAdobeVisitorId");return typeof e=="function"?e():r("importAdobeVisitorId")===!0?ke():Z()};var ee={GA4_INIT_EVENT_SENT:"ga4InitEventSent"};var L={spaReferrer:"",referrer:""},x={getDocumentReferrer:()=>document.referrer,getActualLocation:()=>{let{origin:e,pathname:n}=window.location;return`${e}${n}`},getActualQueryString:()=>{let{search:e}=window.location;return e}},ne=({isPageTrack:e=!1}={})=>{let{referrer:n,spaReferrer:t}=L;return(e?n:t)||x.getDocumentReferrer()},he=()=>{L.spaReferrer=ne({isPageTrack:!0}),L.referrer=x.getActualLocation()},te=({payload:e,next:n})=>{let{obj:{context:t}}=e,{isPageTrack:o}=t,i=ne({isPageTrack:o});e.obj.context={...t,page:{...t.page,referrer:i}},o&&he(),n(e)};var oe={clientId:"client_id",sessionId:"session_id"},W="dataLayer",m={granted:"granted",denied:"denied"},Ue=1,Le=2,D={QUERY:"stc",SPLIT_SYMBOL:"-",CAMPAIGN_SPLIT_SYMBOL:":"},We="utm_campaign",Fe="utm_medium",Ke="utm_source",$e="utm_content",je="utm_id",Ye="utm_term",Be={aff:"affiliate",dis:"display",em:"email",met:"paid-metasearch",sem:"paid-search",rt:"display",sm:"social-media",sp:"paid-social",pn:"push-notification",cs:"cross-sites"},ze="na",Xe="sui",He={medium:null,source:null,campaign:null},Qe=async e=>new Promise(function(n,t){let o=document.createElement("script");o.src=e,o.onload=()=>n(),o.onerror=t,document.head.appendChild(o)}),ie=async()=>{let e=r("googleAnalyticsMeasurementId"),n=r("googleAnalyticsDataLayer")||W;if(!e)return Promise.resolve(!1);let t=`https://www.googletagmanager.com/gtag/js?id=${e}&l=${n}`;return Qe(t).then(()=>!0)},qe=e=>{let n=r("googleAnalyticsInitEvent")??Xe,t=`ga_event_${n}_`,o=`${t}${e}`;if(!(typeof window.gtag>"u")){if(!localStorage.getItem(o)&&(window.gtag("event",n),console.log(`Sending GA4 event "${n}" for the session "${e}"`),localStorage.setItem(o,"true"),typeof window.dispatchEvent=="function")){let i=new CustomEvent(ee.GA4_INIT_EVENT_SENT,{detail:{eventName:n,sessionId:e}});window.dispatchEvent(i)}Object.keys(localStorage).forEach(i=>{i.startsWith(t)&&i!==o&&localStorage.removeItem(i)})}},re=async e=>{let n=r("googleAnalyticsMeasurementId");return n?new Promise(t=>{window.gtag?.("get",n,e,t)}):Promise.resolve(void 0)},Je={STC:"stc",UTM:"utm"},G=({needsTransformation:e=!0}={})=>{let{medium:n,source:t,campaign:o,content:i,term:s}=Ze();if(!n||!t||!o)return null;let[c,d]=o.split(D.CAMPAIGN_SPLIT_SYMBOL);if(!c&&!d)return null;let f=typeof i<"u"&&i!==ze;return{campaign:{medium:e&&Be[n]||n,...typeof d<"u"&&{id:c},name:d??c,source:t,...f&&{content:i},...typeof s<"u"&&{term:s}}}};function Ze(){let e=x.getActualQueryString(),n=new URLSearchParams(e);return r("trackingTagsType")===Je.UTM?en(n):se(n)}function se(e){if(!ae(e))return He;let n=e.get(D.QUERY),[t,o,i,s,c]=n?.split(D.SPLIT_SYMBOL)||[];return{medium:t,source:o,campaign:i,content:s,term:c}}function ae(e){return e.has(D.QUERY)}function en(e){let n=e.get(je),t=e.get(We),o=e.get(Fe),i=e.get(Ke),s=e.get($e),c=e.get(Ye),d=n?`${n}${D.CAMPAIGN_SPLIT_SYMBOL}${t}`:t;return(!o||!i||!d)&&ae(e)?se(e):{campaign:d,medium:o,source:i,content:s??void 0,term:c??void 0}}var ce=async()=>re(oe.clientId),de=async()=>{let e=await re(oe.sessionId);return e&&qe(e),e};function S(e="analytics_storage"){try{let n=window.google_tag_data?.ics?.getConsentState?.(e);return n===Ue?m.granted:n===Le?m.denied:void 0}catch{return}}var le=()=>S()??m.denied,ge=e=>{!r("googleAnalyticsMeasurementId")||!e||window.gtag?.("set","user_id",e)},b=(e="default",n)=>{window.gtag?.("consent",e,n||{analytics_storage:m.denied,ad_user_data:m.denied,ad_personalization:m.denied,ad_storage:m.denied})};var nn="borosTcf",tn=2,on={channel:"GDPR"},ue={analytics:[1,8,10],advertising:[3]},F={LOADED:"tcloaded",USER_ACTION_COMPLETE:"useractioncomplete"},K="CMP Submitted",p={ACCEPTED:"accepted",DECLINED:"declined",UNKNOWN:"unknown"},E={listeners:[],value:void 0,addListener:e=>E.listeners.push(e),get:()=>E.value,set:e=>{let{analytics:n,advertising:t}=e||{};E.value={analytics:n,advertising:t},E.listeners.forEach(o=>o(e)),E.listeners=[]}};function rn(e){if(!g)return null;let t=new RegExp(e+"=([^;]+)").exec(document.cookie);return t!==null?unescape(t[1]):null}var sn=()=>{if(r("initialized"))return!1;let e=!!window.__tcfapi;return e||console.warn("[tcfTracking] window.__tcfapi is not available on client and TCF won't be tracked."),e},an=e=>ue.analytics.every(n=>e[`${n}`]),cn=e=>ue.advertising.every(n=>e[`${n}`]),dn=({gdprPrivacy:e})=>O.track(K,{...on,...r("tcfTrackDefaultProperties")||{}},{gdpr_privacy:e.analytics,gdpr_privacy_advertising:e.advertising}),I=()=>{let e=E.get();return e!==void 0?Promise.resolve(e):new Promise(n=>{E.addListener(t=>n(t))})},T=e=>e?.analytics===p.ACCEPTED,pe=e=>{let n=an(e),t=cn(e),o=n?p.ACCEPTED:p.DECLINED,i=t?p.ACCEPTED:p.DECLINED;return E.set({analytics:o,advertising:i}),{analytics:o,advertising:i}},fe=()=>{let e=rn(nn);if(e)try{let{purpose:n}=JSON.parse(window.atob(e)),{consents:t}=n;return t}catch(n){console.error(n);return}},ln=()=>{let e=fe();e&&pe(e)},gn=()=>{let e=fe();_("isFirstVisit",!e)};function $(){if(g){if(ln(),gn(),!sn()){E.get()?.analytics===void 0&&E.set({analytics:p.UNKNOWN,advertising:p.UNKNOWN});return}_("initialized",!0),window.__tcfapi?.("addEventListener",tn,({eventStatus:e,purpose:n},t)=>{if(!t)return Promise.resolve();if(e===F.USER_ACTION_COMPLETE||e===F.LOADED){let{consents:o}=n,i=pe(o);if(e===F.USER_ACTION_COMPLETE){let{analytics:s,advertising:c}=i,d={analytics:s,advertising:c};return!(g&&window.sessionStorage.getItem("didomi-migration"))&&dn({gdprPrivacy:d})}}})}}function me(e){if(typeof document>"u")return null;let t=new RegExp(`${e}=([^;]+)`).exec(document.cookie);return t!==null?unescape(t[1]):null}function Ee(e,n,t={}){if(typeof document>"u"||typeof window>"u")return;let{maxAge:o=31536e3,path:i="/",reduceDomain:s=!0,sameSite:c="Lax"}=t,d=s?_e():window.location.hostname,f=[`${e}=${n}`,`domain=${d}`,`path=${i}`,`max-age=${o}`,`SameSite=${c}`].join(";");document.cookie=f}function ye(e,n={}){if(typeof document>"u"||typeof window>"u")return;let{path:t="/",reduceDomain:o=!0}=n,i=o?_e():window.location.hostname;document.cookie=`${e}=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=${t}; domain=${i}`}var _e=e=>{let n=e!==void 0?e:typeof window<"u"?window.location.hostname:"",t=".",o=n.split(t).reverse();if(o.length===1)return o[0];let i=[];for(let s of o)if(i.push(s),s.length>3)break;return`${t}${i.reverse().join(t)}`};var un="https://secure.adnxs.com/getuidj?consent=1",j="adit-xandr-id",pn=0;function fn(){return g?window.fetch(un,{credentials:"include"}).then(e=>e.json()).then(e=>e?.uid).catch(()=>null):Promise.resolve(null)}function we({gdprPrivacyValueAdvertising:e}){if(!g)return null;if(e!==p.ACCEPTED)return ye(j),null;let n=i=>i!==null&&Number(i)>pn,t=me(j),o=n(t);return o||fn().then(i=>{typeof i=="string"&&Ee(j,i)}),_("xandrId",t),o?t:null}var mn={platform:"web"},En={All:!1},yn={All:!0},_n=e=>{let n=r("userIdPrefix");return n&&(typeof e=="number"||typeof e=="string"&&!e.startsWith(n))?`${n}${e}`:e},Y=()=>({...mn,...r("defaultProperties")}),wn=async({gdprPrivacyValue:e,event:n})=>{let t=T(e),o,i,s;try{t&&(o=await N()),i=await de(),s=await ce()}catch(d){console.error(d)}return{...Tn({isGdprAccepted:t,event:n}),"Adobe Analytics":o?{marketingCloudVisitorId:o}:!0,"Google Analytics 4":s&&i?{clientId:s,sessionId:i}:!0}},Tn=({isGdprAccepted:e,event:n})=>n==="CMP Submitted"?yn:e?{}:En,An=({context:e,xandrId:n})=>{let t=r("sendXandrId")!==!1,o=n&&parseInt(n)!==0;if(!t||!o)return{};let d=[...Array.isArray(e?.externalIds)?e.externalIds:[],{collection:"users",encoding:"none",id:n,type:"xandr_id"}];return{externalIds:d.filter(({id:C,type:P},v)=>v===d.findIndex(({id:h,type:Oe})=>C===h&&P===Oe))}},V=e=>e===p.ACCEPTED?m.granted:m.denied,B=async({event:e="",context:n={}})=>{let t=await I(),{analytics:o,advertising:i}=t||{},s=T(t),[c,d]=await Promise.all([wn({gdprPrivacyValue:t,event:e}),we({gdprPrivacyValueAdvertising:i})]),f=S("analytics_storage")??V(o),C=S("ad_user_data")??V(i),P=S("ad_personalization")??V(i),v=S("ad_storage")??V(i);s||(n.integrations={...n.integrations??{},Personas:!1,Webhooks:!0,Webhook:!0});let h={analytics_storage:f,ad_user_data:C,ad_personalization:P,ad_storage:v};return{...n,...!s&&{ip:"0.0.0.0"},...An({context:n,xandrId:d}),analytics_storage:le(),clientVersion:"segment-wrapper@4.36.0-beta.5",gdpr_privacy:o,gdpr_privacy_advertising:i,google_consents:h,integrations:{...n.integrations,...c}}},Te=(e,n,t={},o)=>new Promise(i=>{(async()=>{let c=await B({context:t,event:e}),d={...Y(),...n},f=async(...P)=>{o&&o(...P);let[v]=await Promise.all([I()]);T(v),i()};r("googleAnalyticsConsentManagement")&&e===K&&b("update",c.google_consents),window.analytics.track(e,d,{...c,context:{integrations:{...c.integrations}}},f)})()}),Sn=async(e,n,t,o)=>{let i=await I(),s=_n(e);return ge(s),window.analytics.identify(s,T(i)?n:{},t,o)},In=(e,n,t={},o)=>(t.isPageTrack=!0,Te(e??"",n,t,o)),Cn=()=>Promise.resolve(window.analytics.reset()),O={page:In,identify:Sn,track:Te,reset:Cn};var Se="__mpi_patch";function Ae(){let{track:e}=window.analytics;window.analytics.track=(...n)=>{let[t,o,i,s]=n,c={...Y(),...o};return B({context:i,event:t}).then(d=>{e.call(window.analytics,t,c,d,s)}),window.analytics},window.analytics[Se]=!0}g&&(window.analytics?window.analytics[Se]||(window.analytics.initialized?Ae():window.analytics.ready(Ae)):console.warn("[segment-wrapper] Segment Analytics is not loaded so patch is not applied."));var Ie=({payload:e,next:n})=>{if(r("googleAnalyticsMeasurementId")){let o=G();e.obj.context={...e.obj.context,...o}}n(e)};var Pn={platform:"web"},Ce=({payload:e,next:n})=>{let t=r("defaultContext")||{};e.obj.context={...Pn,...t,...e.obj.context},n(e)};var vn=()=>{let e=null;return({payload:n,next:t})=>{try{let{obj:o}=n,{event:i,type:s}=o;if(s!=="track"){t(n);return}if(typeof i=="string"&&i.endsWith("Viewed")){let{page_name:c,page_type:d}=o.properties||{};e={name:c,type:d},t(n);return}if(!e){t(n);return}t({...n,obj:{...o,properties:{...o.properties,page_name_origin:e.name,page_type:o.properties?.page_type||e.type}}})}catch(o){console.error(o),t(n)}}},Pe=vn();var ve=({payload:e,next:n})=>{e.obj.context={...e.obj.context,screen:{height:window.innerHeight,width:window.innerWidth,density:window.devicePixelRatio}},n(e)};var Rn=e=>{let n=r("isUserTraitsEnabled"),t=window.analytics.user?.(),o=T(e),i=t?.id();return{anonymousId:t?.anonymousId(),...i&&{userId:i},...o&&n&&t?.traits()||{}}},Re=async({payload:e,next:n})=>{let t=await I(),o;try{o=Rn(t)}catch(i){console.error(i)}e.obj.context={...e.obj.context,traits:{...e.obj.context.traits||{},...o}},n(e)};for(De=[],k=0;k<64;)De[k]=0|4294967296*Math.sin(++k%Math.PI);var De,k;for(u=18,M=[],z=[];u>1;u--)for(a=u;a<320;)M[a+=u]=1;var a,u,M,z;function l(e,n){return 4294967296*Math.pow(e,1/n)|0}for(a=0;a<64;)M[++u]||(z[a]=l(u,2),M[a++]=l(u,3));function y(e,n){return e>>>n|e<<-n}function Me(e){var n=z.slice(u=a=0,8),t=[],o=unescape(encodeURI(e))+"\x80",i=o.length;for(t[e=--i/4+2|15]=8*i;~i;)t[i>>2]|=o.charCodeAt(i)<<8*~i--;for(i=[];u<e;u+=16){for(l=n.slice();a<64;l.unshift(o+(y(o=l[0],2)^y(o,13)^y(o,22))+(o&l[1]^l[1]&l[2]^l[2]&o)))l[3]+=o=0|(i[a]=a<16?~~t[a+u]:(y(o=i[a-2],17)^y(o,19)^o>>>10)+i[a-7]+(y(o=i[a-15],7)^y(o,18)^o>>>3)+i[a-16])+l.pop()+(y(o=l[4],6)^y(o,11)^y(o,25))+(o&l[5]^~o&l[6])+M[a++];for(a=8;a;)n[--a]+=l[a]}for(o="";a<64;)o+=(n[a>>3]>>4*(7-a++)&15).toString(16);return o}var Dn=/\.|\+.*$/g;function Mn(e){if(typeof e!="string")return"";let t=e.toLowerCase().split(/@/);if(t.length!==2)return"";let[o,i]=t;return`${o.replace(Dn,"")}@${i}`}function Ne(e){let n=Mn(e);return n?Me(n):""}var Nn="USER_DATA_READY",xn=()=>r("universalId"),Gn=()=>{let e=xn();if(e)return X(),e;let n=r("userEmail");if(n)return e=Ne(n),bn(e),X(),e;X()},xe=()=>{if(!g)return;let e=Gn(),n=r("userEmail");if(typeof window<"u"&&typeof window.dispatchEvent=="function"){let t=new CustomEvent(Nn,{detail:{universalId:e,userEmail:n}});window.dispatchEvent(t)}return{universalId:e,userEmail:n}},X=()=>{_("universalIdInitialized",!0)},bn=e=>{_("universalId",e)};var Ge=()=>{if(typeof window>"u")return;let e=window,n=e.analytics;if(!n){console.warn("[segment-wrapper] Analytics is not available");return}let t=e.__SEGMENT_WRAPPER?.SEGMENT_ID_USER_WITHOUT_CONSENTS??"anonymous_user";n.user?.()?.anonymousId()===t&&"setAnonymousId"in n&&typeof n.setAnonymousId=="function"&&n.setAnonymousId(null)};$();try{xe()}catch(e){console.error("[segment-wrapper] UniversalID could not be initialized",e)}var be=()=>{let e=r("experimentalPageDataMiddleware");window.analytics.addSourceMiddleware?.(Re),window.analytics.addSourceMiddleware?.(Ce),window.analytics.addSourceMiddleware?.(Ie),window.analytics.addSourceMiddleware?.(ve),window.analytics.addSourceMiddleware?.(te),e&&window.analytics.addSourceMiddleware?.(Pe)};if(g&&window.analytics){let e=r("googleAnalyticsMeasurementId"),n=r("googleAnalyticsDataLayer")||W,t=r("googleAnalyticsConsentManagement");if(e){let o=r("googleAnalyticsConfig");window[n]=window[n]||[],window.gtag=window.gtag||function(){window[n].push(arguments)},window.gtag("js",new Date),t&&b(),window.gtag("config",e,{cookie_prefix:"segment",send_page_view:!1,...o,...G()}),ie().catch(i=>{console.error("[segment-wrapper] Failed to load Google Analytics",i)})}window.analytics.ready(Ge),window.analytics.addSourceMiddleware?be():window.analytics.ready(be)}var H=O;var w=window;w.sui=w.sui||{};w.sui.analytics=w.sui.analytics||H;w.sui.analytics.getAdobeVisitorData=w.sui.analytics.getAdobeVisitorData||J;w.sui.analytics.getAdobeMCVisitorID=w.sui.analytics.getAdobeMCVisitorID||N;var $t=H;})();