diff --git a/.env.example b/.env.example index 5aad17ba20..3b96dfb09c 100644 --- a/.env.example +++ b/.env.example @@ -14,6 +14,7 @@ CROWDIN_PROJECT_ID=468254 # Google analytics credentials GOOGLE_TAG_ANONYMIZE_IP=REPLACE_WITH_YOUR_GOOGLE_ANALYTICS_TRACKING_ID GOOGLE_TAG_TRACKING_ID=REPLACE_WITH_YOUR_GOOGLE_TAG_TRACKING_ID +GOOGLE_TAG_MANAGER_ID=REPLACE_WITH_YOUR_GOOGLE_TAG_MANAGER_ID # Site navbar DIRECTUS_URL=REPLACE_WITH_YOUR_DIRECTUS_URL diff --git a/.github/templates/.env.production.j2 b/.github/templates/.env.production.j2 index ce6f8c18b3..b90a86fc4a 100644 --- a/.github/templates/.env.production.j2 +++ b/.github/templates/.env.production.j2 @@ -14,6 +14,7 @@ CROWDIN_PERSONAL_ACCESS_TOKEN={{ env['CROWDIN_PERSONAL_ACCESS_TOKEN'] }} # Google analytics credentials GOOGLE_TAG_ANONYMIZE_IP={{ env['GOOGLE_TAG_ANONYMIZE_IP'] }} GOOGLE_TAG_TRACKING_ID={{ env['GOOGLE_TAG_TRACKING_ID'] }} +GOOGLE_TAG_MANAGER_ID={{ env['GOOGLE_TAG_MANAGER_ID'] }} # Site navbar DIRECTUS_URL={{ env['DIRECTUS_URL'] }} diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 244a187a5b..6ca9982db7 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -52,6 +52,7 @@ jobs: CROWDIN_PERSONAL_ACCESS_TOKEN: "" GOOGLE_TAG_ANONYMIZE_IP: ${{ vars.GOOGLE_TAG_ANONYMIZE_IP }} GOOGLE_TAG_TRACKING_ID: ${{ vars.GOOGLE_TAG_TRACKING_ID }} + GOOGLE_TAG_MANAGER_ID: ${{ vars.GOOGLE_TAG_MANAGER_ID }} DIRECTUS_URL: ${{ secrets.DIRECTUS_URL }} DIRECTUS_GRAPHQL_URL: ${{ secrets.DIRECTUS_GRAPHQL_URL }} DIRECTUS_TOKEN: ${{ secrets.DIRECTUS_TOKEN }} diff --git a/config/gtm.config.js b/config/gtm.config.js new file mode 100644 index 0000000000..0eed2ba501 --- /dev/null +++ b/config/gtm.config.js @@ -0,0 +1,5 @@ +const gtmId = process.env.GOOGLE_TAG_MANAGER_ID; + +module.exports = { + containerId: gtmId, +}; diff --git a/config/index.js b/config/index.js index 80b9224548..5dea29d900 100644 --- a/config/index.js +++ b/config/index.js @@ -5,6 +5,7 @@ const colorConfig = require("./color.config"); const dataConfig = require("./data.config"); const footerConfig = require("./footer.config"); const gtagConfig = require("./gtag.config"); +const gtmConfig = require("./gtm.config"); const i18nConfig = require("./i18n.config"); const metadatasConfig = require("./metadatas.config"); const navbarConfig = require("./navbar.config"); @@ -22,6 +23,7 @@ module.exports = { dataConfig, footerConfig, gtagConfig, + gtmConfig, i18nConfig, metadatasConfig, navbarConfig, diff --git a/docusaurus.config.js b/docusaurus.config.js index bea4091919..92b18e3c7c 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -10,6 +10,7 @@ const { dataConfig, footerConfig, gtagConfig, + gtmConfig, i18nConfig, metadatasConfig, navbarConfig, @@ -70,6 +71,7 @@ module.exports = { // onlyIncludeVersions: process.env.PREVIEW_DEPLOY === "true" ? ["current", ...versions.slice(0, 2)] : undefined, }, ...(gtagConfig["trackingID"] && { gtag: gtagConfig }), + ...(gtmConfig["containerId"] && { googleTagManager: gtmConfig }), // IMPORTANT: disable blog feature blog: false, /* Blog config options */