Releases: johannschopplich/nuxt-gtag
v2.0.0
Migration Guide
The latest version of Nuxt Gtag improves the API and adds support for Google Tag Consent Mode v2. This migration guide will help you to upgrade your project from the previous version to the latest one.
Migrating initialConsent
This module option has been renamed to enabled
. If you have set initialConsent
to false
in your configuration, you should rename it to enabled
.
export default defineNuxtConfig({
modules: ['nuxt-gtag'],
gtag: {
id: 'G-XXXXXXXXXX',
- initialConsent: false
+ enabled: false
}
})
Migrating grantConsent
This function has been renamed to initialize
. If you have used grantConsent
in your project, you should rename it to initialize
.
const {
gtag,
- grantConsent
+ initialize
} = useGtag()
- grantConsent()
+ initialize()
Migrating revokeConsent
Before v2, grantConsent
and revokeConsent
were used to enable and disable analytics. But the abstraction was not clear, because they didn't work for other Google products like Google Ads.
Now, you can use enableAnalytics
and disableAnalytics
to enable and disable analytics.
New: Google Consent Mode
Tip
Follows the Google Consent Mode v2 specification.
Set a default value for each consent type you are using. By default, no consent mode values are set.
The following example sets multiple consent mode parameters to denied by default:
export default defineNuxtConfig({
modules: ['nuxt-gtag'],
gtag: {
id: 'G-XXXXXXXXXX',
initCommands: [
// Setup up consent mode
['consent', 'default', {
ad_user_data: 'denied',
ad_personalization: 'denied',
ad_storage: 'denied',
analytics_storage: 'denied',
wait_for_update: 500,
}]
]
}
})
After a user indicates their consent choices, update relevant parameters to granted
:
function allConsentGranted() {
const { gtag } = useGtag()
gtag('consent', 'update', {
ad_user_data: 'granted',
ad_personalization: 'granted',
ad_storage: 'granted',
analytics_storage: 'granted'
})
}
function consentGrantedAdStorage() {
const { gtag } = useGtag()
gtag('consent', 'update', {
ad_storage: 'granted'
})
}
// Invoke the consent function when a user interacts with your banner
consentGrantedAdStorage() // Or `allConsentGranted()`
🚨 Breaking Changes
- Rename
initialConsent
toenabled
- by @johannschopplich (b342e) - Rename
grantConsent
toinitialize
- by @johannschopplich (3bd75) disableAnalytics
andenableAnalytics
- by @johannschopplich (998fe)
🚀 Features
- Google tag consent mode v2 - by @johannschopplich (903b9)
initCommands
- by @johannschopplich (d9706)
View changes on GitHub
v1.2.1
🐞 Bug Fixes
- Default
config
to empty object - by @johannschopplich in #47 (e9947)
View changes on GitHub
v1.2.0
🚀 Features
- Custom source URL - by @johannschopplich in #46 (2c407)
- Support multiple Google tag IDs closes #31 closes #30 - by @johannschopplich in #31 and #30 (aedc6)
🐞 Bug Fixes
- Resolve runtime options in client - by @johannschopplich (49f9a)
- Init all tags when granting consent - by @johannschopplich (acd0b)
🏎 Performance
- Load client plugin in parallel - by @johannschopplich (b7af8)
View changes on GitHub
v1.1.2
v1.1.1
🚀 Features
- Stricter
useTrackEvent
param types fixes #28 - by @johannschopplich in #28 (d57cb)
View changes on GitHub
v1.1.0
v1.0.0
🚨 Breaking Changes
- Remove
useGtagConsent
composable - by @johannschopplich (cb74a) useGtag
composable to destructuregrantConsent
,revokeConsent
>ag
- by @johannschopplich (00ee2)
View changes on GitHub
v0.6.3
v0.6.2
🐞 Bug Fixes
dataLayer
may be undefined if no ID is provided - by @johannschopplich in #24 (f60e4)
View changes on GitHub
v0.6.1
🐞 Bug Fixes
- Add missing
defineNuxtPlugin
import - by @johannschopplich (58f04)