import { addFilter, setting } from "@factor/api"
export const setup = (): void => {
const googleTagManagerId = setting("googleTagManager.googleTagManagerId")
const developmentMode = setting("googleTagManager.developmentMode")
// Don't load in development by default
if (
((process.env.NODE_ENV != "production" || process.env.FACTOR_ENV == "test") &&
!developmentMode) ||
!googleTagManagerId
) {
return
}
addFilter({
key: "tagManagerScript",
hook: "factor_head",
callback: (_: string[]): string[] => {
const add = ``
return [..._, add]
},
priority: 200,
})
addFilter({
key: "tagManagerBodyScript",
hook: "factor_body_start",
callback: (_: string[]): string[] => {
const add = `
`
return [..._, add]
},
})
}
setup()