Skip to content

Commit c53144b

Browse files
committed
wip
1 parent b91a0bc commit c53144b

File tree

1 file changed

+95
-92
lines changed

1 file changed

+95
-92
lines changed

src/connections/auto-instrumentation/web-setup.md

Lines changed: 95 additions & 92 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)