Skip to content

Commit

Permalink
Add more Snowplow tracking (#1157)
Browse files Browse the repository at this point in the history
* Add button click tracking

* Add form tracking
  • Loading branch information
mscwilson authored Feb 26, 2025
1 parent e16305d commit ad92f29
Show file tree
Hide file tree
Showing 3 changed files with 63 additions and 7 deletions.
2 changes: 2 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,8 @@
"@saucelabs/theme-github-codeblock": "^0.2.3",
"@sideway/formula": "^3.0.1",
"@snowplow/browser-plugin-link-click-tracking": "^4.0.4",
"@snowplow/browser-plugin-button-click-tracking": "^4.0.4",
"@snowplow/browser-plugin-form-tracking": "^4.0.4",
"@snowplow/browser-plugin-media": "^4.0.4",
"@snowplow/browser-tracker": "^4.0.4",
"clsx": "^1.2.1",
Expand Down
32 changes: 25 additions & 7 deletions snowplow.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,14 @@ import {
LinkClickTrackingPlugin,
enableLinkClickTracking,
} from '@snowplow/browser-plugin-link-click-tracking'
import {
ButtonClickTrackingPlugin,
enableButtonClickTracking,
} from '@snowplow/browser-plugin-button-click-tracking'
import {
FormTrackingPlugin,
enableFormTracking,
} from '@snowplow/browser-plugin-form-tracking'
import { onPreferencesChanged } from 'cookie-though'
import Cookies from 'js-cookie'
import { COOKIE_PREF_KEY, DOCS_SITE_URLS } from './src/constants/config'
Expand All @@ -26,7 +34,12 @@ const createTrackerConfig = (cookieName) => {
const trackerConfig = {
appId,
eventMethod: 'post',
plugins: [LinkClickTrackingPlugin(), SnowplowMediaPlugin()],
plugins: [
LinkClickTrackingPlugin(),
SnowplowMediaPlugin(),
ButtonClickTrackingPlugin(),
FormTrackingPlugin(),
],
cookieDomain: `.${domain[1]}.${domain[0]}`,
cookieName,
cookieSameSite: 'Lax',
Expand Down Expand Up @@ -58,13 +71,15 @@ const setupBrowserTracker = () => {

const selectedTabContext = () => {
const data = pickBy({
cloud: localStorage.getItem("docusaurus.tab.cloud"),
data_warehouse: localStorage.getItem("docusaurus.tab.warehouse")
cloud: localStorage.getItem('docusaurus.tab.cloud'),
data_warehouse: localStorage.getItem('docusaurus.tab.warehouse'),
})
if (!_.isEmpty(data)) return {
schema: 'iglu:com.snowplowanalytics.docs/selected_tabs/jsonschema/1-0-0',
data
}
if (!_.isEmpty(data))
return {
schema:
'iglu:com.snowplowanalytics.docs/selected_tabs/jsonschema/1-0-0',
data,
}
}
addGlobalContexts([selectedTabContext])

Expand All @@ -73,6 +88,9 @@ const setupBrowserTracker = () => {
heartbeatDelay: 10,
minimumVisitLength: 10,
}) // precise tracking for the unified log

enableButtonClickTracking()
enableFormTracking()
}

if (ExecutionEnvironment.canUseDOM) {
Expand Down
36 changes: 36 additions & 0 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -2346,6 +2346,24 @@
p-map "^4.0.0"
webpack-sources "^3.2.2"

"@snowplow/browser-plugin-button-click-tracking@^4.0.4":
version "4.3.1"
resolved "https://registry.yarnpkg.com/@snowplow/browser-plugin-button-click-tracking/-/browser-plugin-button-click-tracking-4.3.1.tgz#c4ccd7d95a2fb9977a4c5ab43dfc5f0ed26c7f35"
integrity sha512-wtFD2Jy45ra346HNIJ5Jn1fqfNjgVNHV8QCpWE7XqBZsuKEExeG9arx8UpJNXyKNtn+JXlWiVzOaqG0iTCUIjg==
dependencies:
"@snowplow/browser-tracker-core" "4.3.1"
"@snowplow/tracker-core" "4.3.1"
tslib "^2.3.1"

"@snowplow/browser-plugin-form-tracking@^4.0.4":
version "4.3.1"
resolved "https://registry.yarnpkg.com/@snowplow/browser-plugin-form-tracking/-/browser-plugin-form-tracking-4.3.1.tgz#6008c80f4b770f57f006b1642fc8583f7f2e8853"
integrity sha512-s6teGKNAxXVtaY6y0wiFu6e6YVBnyw2HQaW6/h7DT6Z9glereUotiFGI4uamBmeYwg5qoiPtWuioxrG+KoXokQ==
dependencies:
"@snowplow/browser-tracker-core" "4.3.1"
"@snowplow/tracker-core" "4.3.1"
tslib "^2.3.1"

"@snowplow/browser-plugin-link-click-tracking@^4.0.4":
version "4.0.4"
resolved "https://registry.yarnpkg.com/@snowplow/browser-plugin-link-click-tracking/-/browser-plugin-link-click-tracking-4.0.4.tgz#60a795e4788c9290908428464eed37d9e4ada607"
Expand Down Expand Up @@ -2375,6 +2393,16 @@
tslib "^2.3.1"
uuid "^10.0.0"

"@snowplow/[email protected]":
version "4.3.1"
resolved "https://registry.yarnpkg.com/@snowplow/browser-tracker-core/-/browser-tracker-core-4.3.1.tgz#3dc9fc56ca1fee7c75cf380ec7088384884032a3"
integrity sha512-6LBGvHHp4I+OibGmm81iHJLlQ/qI7QqnQlZKzVRa1KIMIUnfTvuGHdUnYNQL7aTWWB2sHFEvB+9JwMUEHQcp0g==
dependencies:
"@snowplow/tracker-core" "4.3.1"
sha1 "^1.1.1"
tslib "^2.3.1"
uuid "^10.0.0"

"@snowplow/browser-tracker@^4.0.4":
version "4.0.4"
resolved "https://registry.yarnpkg.com/@snowplow/browser-tracker/-/browser-tracker-4.0.4.tgz#05b94addf5c6a6a3ed6444bbd5f52359a2542527"
Expand All @@ -2392,6 +2420,14 @@
tslib "^2.3.1"
uuid "^10.0.0"

"@snowplow/[email protected]":
version "4.3.1"
resolved "https://registry.yarnpkg.com/@snowplow/tracker-core/-/tracker-core-4.3.1.tgz#c0d7acea506933071b78a8334435078e23558b99"
integrity sha512-1hWOlDQdPnIVB/zlqKbSj+4I1sQQWBEblGGU1FIYKaRi+YMnvLJu35N0cGOk41J0ZFPCf9/HpxOAG88JhWsEuQ==
dependencies:
tslib "^2.3.1"
uuid "^10.0.0"

"@svgr/babel-plugin-add-jsx-attribute@^6.5.1":
version "6.5.1"
resolved "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-6.5.1.tgz"
Expand Down

0 comments on commit ad92f29

Please sign in to comment.