@@ -41,105 +41,107 @@ 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;
107- };
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" ;
122- var r = document .getElementsByTagName (" script" )[0 ];
123- r .parentNode .insertBefore (t, r);
124- analytics ._loadOptions = n;
125- };
126-
127- analytics ._writeKey = script .getAttribute (" data-segment-write-key" );
128- analytics .SNIPPET_VERSION = " 5.2.0" ;
129-
130- // Load analytics + signals
131- var signalsScript = document .createElement (" script" );
132- signalsScript .src =
133- " https://cdn.jsdelivr.net/npm/@segment/analytics-signals@latest/dist/umd/analytics-signals.umd.js" ;
134- signalsScript .async = true ;
135- signalsScript .onload = function () {
136- var signalsPlugin = new SignalsPlugin ();
137- analytics .register (signalsPlugin);
138- analytics .load (analytics ._writeKey );
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;
139107 };
140- document .head .appendChild (signalsScript);
108+ };
109+ for (var n = 0 ; n < analytics .methods .length ; n++ ) {
110+ var key = analytics .methods [n];
111+ analytics[key] = analytics .factory (key);
141112 }
142- })();
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" ;
122+ var r = document .getElementsByTagName (" script" )[0 ];
123+ r .parentNode .insertBefore (t, r);
124+ analytics ._loadOptions = n;
125+
126+ t .onload = function () {
127+ var s = document .createElement (" script" );
128+ s .type = " text/javascript" ;
129+ s .src =
130+ " https://cdn.jsdelivr.net/npm/@segment/analytics-signals@latest/dist/umd/analytics-signals.umd.js" ;
131+ s .async = ! 0 ;
132+ s .onload = function () {
133+ var signalsPlugin = new SignalsPlugin ();
134+ analytics .register (signalsPlugin);
135+ };
136+ r .parentNode .insertBefore (s, r);
137+ };
138+ };
139+ analytics ._writeKey = document .currentScript .getAttribute (" data-segment-write-key" );
140+ analytics .load (analytics ._writeKey )
141+ analytics .page ()
142+ analytics .SNIPPET_VERSION = " 5.2.0" ;
143+ }
144+ })();
143145 </script >
144146</head >
145147```
0 commit comments