From 20822e28f8d449c74c4744331b067b76b5c8789d Mon Sep 17 00:00:00 2001 From: Brandon Romano Date: Mon, 12 Oct 2020 22:55:08 -0700 Subject: [PATCH] Adds download analytics (#650) --- website/components/downloader/cards/index.jsx | 18 +++++++++++++++--- .../downloader/release-information/index.jsx | 9 ++++++++- .../components/downloader/utils/downloader.js | 16 ++++++++++++++++ 3 files changed, 39 insertions(+), 4 deletions(-) diff --git a/website/components/downloader/cards/index.jsx b/website/components/downloader/cards/index.jsx index ab771cfb00..d2c6de175a 100644 --- a/website/components/downloader/cards/index.jsx +++ b/website/components/downloader/cards/index.jsx @@ -1,6 +1,9 @@ import Tabs from '@hashicorp/react-tabs' - -import { prettyOs, prettyArch } from 'components/downloader/utils/downloader' +import { + prettyOs, + prettyArch, + trackDownload, +} from 'components/downloader/utils/downloader' import styles from './style.module.css' export default function DownloadTabs({ @@ -58,6 +61,10 @@ function Cards({ const hasPackageManager = Boolean(packageManagers) const hasMultiplePackageManagers = Array.isArray(packageManagers) + function handleArchClick(arch) { + return () => trackDownload('boundary', version, os, arch) + } + return ( <>
{version}
{Object.entries(arches).map(([arch, url]) => ( - + {prettyArch(arch)} ))} diff --git a/website/components/downloader/release-information/index.jsx b/website/components/downloader/release-information/index.jsx index 2eb1344e7a..2e2562cb74 100644 --- a/website/components/downloader/release-information/index.jsx +++ b/website/components/downloader/release-information/index.jsx @@ -4,6 +4,7 @@ import Dropdown from 'components/downloader/dropdown' import { prettyArch, prettyOs, + trackDownload, sortPlatforms, getVersionLabel, sortAndFilterReleases, @@ -85,7 +86,13 @@ export default function ReleaseInformation({
{prettyOs(os)}
{Object.entries(release).map(([arch, file]) => ( - + + trackDownload('boundary', version, os, arch) + } + > {prettyArch(arch)} ))} diff --git a/website/components/downloader/utils/downloader.js b/website/components/downloader/utils/downloader.js index 06d4b91d45..f9dd60a3f7 100644 --- a/website/components/downloader/utils/downloader.js +++ b/website/components/downloader/utils/downloader.js @@ -121,3 +121,19 @@ export function sortPlatforms(releaseData) { }, {}) ) } + +export function trackDownload(product, version, _os, _arch) { + const os = prettyOs(_os) + const arch = prettyArch(_arch) + + if (window.analytics) { + window.analytics.track('Download', { + category: 'Button', + label: `${product} | v${version} | ${os} | ${arch}`, + version, + os, + architecture: arch, + product, + }) + } +}