@@ -41,106 +41,109 @@ For websites using the Segment snippet, please REPLACE the regular Segment snipp
4141 <title >My Website</title >
4242 <!-- Replace <YOUR_WRITE_KEY> in 'data-segment-write-key' -->
4343 <script data-segment-write-key =" <YOUR_WRITE_KEY>" >
44- ! (function () {
45- var i = " analytics" ,
46- analytics = (window [i] = window [i] || []);
47- if (! analytics .initialize )
48- if (analytics .invoked )
49- window .console &&
50- console .error &&
51- console .error (" Segment snippet included twice." );
52- else {
53- analytics .invoked = ! 0 ;
54- analytics .methods = [
55- " trackSubmit" ,
56- " trackClick" ,
57- " trackLink" ,
58- " trackForm" ,
59- " pageview" ,
60- " identify" ,
61- " reset" ,
62- " group" ,
63- " track" ,
64- " ready" ,
65- " alias" ,
66- " debug" ,
67- " page" ,
68- " screen" ,
69- " once" ,
70- " off" ,
71- " on" ,
72- " addSourceMiddleware" ,
73- " addIntegrationMiddleware" ,
74- " setAnonymousId" ,
75- " addDestinationMiddleware" ,
76- " register" ,
77- ];
78- analytics .factory = function (e ) {
79- return function () {
80- if (window [i].initialized )
81- return window [i][e].apply (window [i], arguments );
82- var n = Array .prototype .slice .call (arguments );
83- if (
84- [
85- " track" ,
86- " screen" ,
87- " alias" ,
88- " group" ,
89- " page" ,
90- " identify" ,
91- ].indexOf (e) > - 1
92- ) {
93- var c = document .querySelector (" link[rel='canonical']" );
94- n .push ({
95- __t: " bpc" ,
96- c: (c && c .getAttribute (" href" )) || void 0 ,
97- p: location .pathname ,
98- u: location .href ,
99- s: location .search ,
100- t: document .title ,
101- r: document .referrer ,
102- });
103- }
104- n .unshift (e);
105- analytics .push (n);
106- return analytics;
44+ ! (function () {
45+ var i = " analytics" ,
46+ analytics = (window [i] = window [i] || []);
47+ if (! analytics .initialize )
48+ if (analytics .invoked )
49+ window .console &&
50+ console .error &&
51+ console .error (" Segment snippet included twice." );
52+ else {
53+ analytics .invoked = ! 0 ;
54+ analytics .methods = [
55+ " trackSubmit" ,
56+ " trackClick" ,
57+ " trackLink" ,
58+ " trackForm" ,
59+ " pageview" ,
60+ " identify" ,
61+ " reset" ,
62+ " group" ,
63+ " track" ,
64+ " ready" ,
65+ " alias" ,
66+ " debug" ,
67+ " page" ,
68+ " screen" ,
69+ " once" ,
70+ " off" ,
71+ " on" ,
72+ " addSourceMiddleware" ,
73+ " addIntegrationMiddleware" ,
74+ " setAnonymousId" ,
75+ " addDestinationMiddleware" ,
76+ " register" ,
77+ ];
78+ analytics .factory = function (e ) {
79+ return function () {
80+ if (window [i].initialized )
81+ return window [i][e].apply (window [i], arguments );
82+ var n = Array .prototype .slice .call (arguments );
83+ if (
84+ [
85+ " track" ,
86+ " screen" ,
87+ " alias" ,
88+ " group" ,
89+ " page" ,
90+ " identify" ,
91+ ].indexOf (e) > - 1
92+ ) {
93+ var c = document .querySelector (" link[rel='canonical']" );
94+ n .push ({
95+ __t: " bpc" ,
96+ c: (c && c .getAttribute (" href" )) || void 0 ,
97+ p: location .pathname ,
98+ u: location .href ,
99+ s: location .search ,
100+ t: document .title ,
101+ r: document .referrer ,
102+ });
103+ }
104+ n .unshift (e);
105+ analytics .push (n);
106+ return analytics;
107+ };
107108 };
108- };
109- for (var n = 0 ; n < analytics .methods .length ; n++ ) {
110- var key = analytics .methods [n];
111- analytics[key] = analytics .factory (key);
112- }
113- analytics .load = function (key , n ) {
114- var t = document .createElement (" script" );
115- t .type = " text/javascript" ;
116- t .async = ! 0 ;
117- t .setAttribute (" data-global-segment-analytics-key" , i);
118- t .src =
119- " https://cdn.segment.com/analytics.js/v1/" +
120- key +
121- " /analytics.min.js" ;
109+ for (var n = 0 ; n < analytics .methods .length ; n++ ) {
110+ var key = analytics .methods [n];
111+ analytics[key] = analytics .factory (key);
112+ }
113+ analytics ._writeKey = document .currentScript .getAttribute (" data-segment-write-key" );
114+
122115 var r = document .getElementsByTagName (" script" )[0 ];
123- r .parentNode .insertBefore (t, r);
124- analytics ._loadOptions = n;
116+ analytics .load = function (key , n ) {
117+ var t = document .createElement (" script" );
118+ t .type = " text/javascript" ;
119+ t .async = ! 0 ;
120+ t .setAttribute (" data-global-segment-analytics-key" , i);
121+ t .src =
122+ " https://cdn.segment.com/analytics.js/v1/" +
123+ key +
124+ " /analytics.min.js" ;
125+ r .parentNode .insertBefore (t, r);
126+ analytics ._loadOptions = n;
127+ };
125128
126- t . onload = function () {
127- var s = document .createElement (" script" );
128- s .type = " text/javascript" ;
129- s .src =
129+ analytics . loadWithSignals = function (key , n ) {
130+ var signalsScript = document .createElement (" script" );
131+ signalsScript .type = " text/javascript" ;
132+ signalsScript .src =
130133 " https://cdn.jsdelivr.net/npm/@segment/analytics-signals@latest/dist/umd/analytics-signals.umd.js" ;
131- s .async = ! 0 ;
132- s .onload = function () {
134+ signalsScript .async = ! 0 ;
135+ r .parentNode .insertBefore (signalsScript, r);
136+ signalsScript .onload = function () {
133137 var signalsPlugin = new SignalsPlugin ();
134138 analytics .register (signalsPlugin);
139+ analytics .load (key, n)
135140 };
136- r .parentNode .insertBefore (s, r);
137141 };
138- };
139- analytics ._writeKey = document .currentScript .getAttribute (" data-segment-write-key" );
140- analytics .load (analytics ._writeKey )
141- analytics .page ()
142- }
143- })();
142+
143+ analytics .loadWithSignals (analytics ._writeKey )
144+ analytics .page ()
145+ }
146+ })();
144147 </script >
145148</head >
146149```
0 commit comments