Gatsby plugin to add Fathom tracking to your site.
Installnpm install gatsby-plugin-fathom
Usage
By default, this plugin only generates output when run in production mode. To test your tracking code, run gatsby build && gatsby serve
.
trackingUrl
Your Fathom custom domain (optional) cdn.usefathom.com siteId
Fathom site ID honorDnt
Honor do not track false
ignoreCanonical
Ignore canonical and use current URL false
includedDomains
Only include provided domains in tracking []
excludedDomains
Track every domain, except the ones provided []
For more information on each option check https://usefathom.com/support/tracking-advanced.
Example
module.exports = {
plugins: [
{
resolve: 'gatsby-plugin-fathom',
options: {
trackingUrl: 'your-fathom-instance.com',
siteId: 'FATHOM_SITE_ID'
}
}
]
}
Example using environment variables
You may want to use different site ids across different deployments. This is best achieved by defining config in environment variables. The value will be read on build-time, e.g. during CI.
require('dotenv').config({
path: `.env.${process.env.NODE_ENV}`
})
module.exports = {
plugins: [
{
resolve: 'gatsby-plugin-fathom',
options: {
siteId: process.env.FATHOM_SITE_ID
}
}
]
}
For more details, see https://www.gatsbyjs.org/docs/environment-variables/
Goal TrackingYou can import a hook for tracking goals in any component like so:
import { useGoal } from 'gatsby-plugin-fathom'
export default function Foo() {
const handleGoal = useGoal('GOAL-ID')
return <button onClick={handleGoal}>Click me</button>
}
The function returned by useGoal
also excepts a value to be sent with the id. If not set it defaults to 0
.
import { useGoal } from 'gatsby-plugin-fathom'
export default function Foo() {
const handleGoal = useGoal('GOAL-ID')
return <button onClick={() => handleGoal(100)}>Buy</button>
}
License
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4