-
Notifications
You must be signed in to change notification settings - Fork 68
/
index.js
71 lines (64 loc) · 1.64 KB
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
const {
validGATrackingId,
validGTMTrackingId,
validFbPixelId,
getCookie
} = require('../helper')
const {
addGoogleAnalytics,
initializeGoogleAnalytics,
trackGoogleAnalytics
} = require('./google-analytics')
const {
addGoogleTagManager,
initializeGoogleTagManager,
trackGoogleTagManager
} = require('./google-tag-manager')
const {
addFacebookPixel,
initializeFacebookPixel,
trackFacebookPixel
} = require('./facebook')
exports.initializeAndTrackGoogleAnalytics = (options, location) => {
if (
getCookie(options.cookieName) === `true` &&
validGATrackingId(options)
) {
addGoogleAnalytics(options.trackingId).then((status) => {
if (status) {
initializeGoogleAnalytics(options)
trackGoogleAnalytics(options, location)
}
})
}
}
exports.initializeAndTrackGoogleTagManager = (options, location) => {
if (
getCookie(options.cookieName) === `true` &&
validGTMTrackingId(options)
) {
let environmentParamStr = ``
if (options.gtmAuth && options.gtmPreview) {
environmentParamStr = `>m_auth=${options.gtmAuth}>m_preview=${options.gtmPreview}>m_cookies_win=x`
}
addGoogleTagManager(options, environmentParamStr).then((status) => {
if (status) {
initializeGoogleTagManager(options)
trackGoogleTagManager(options, location)
}
})
}
}
exports.initializeAndTrackFacebookPixel = (options) => {
if (
getCookie(options.cookieName) === `true` &&
validFbPixelId(options)
) {
addFacebookPixel().then((status) => {
if (status) {
initializeFacebookPixel(options)
trackFacebookPixel(options)
}
})
}
}