如何在使用vue gtag、nuxtjs时将user_id发送到Google Analytics 4



我有一个使用Nuxtjs的项目。我正在使用https://github.com/MatteoGabriele/vue-gtag.当用户id存在时,我试图将user_id发送到Google Analytics 4,但代码已损坏,但无法工作。我已经检查了GA4,但没有数据";用用户ID登录包括"是":

import Vue from "vue";
import VueGtag from "vue-gtag";
export default ({ $config, $auth }) => {
const obj = {
config: {
id: 'G-XXXXXXXXXX'
}
}
if ($auth?.loggedIn) {
obj.config.params = {user_id: $auth.user.sub}
}
Vue.use(VueGtag, obj, app.router)
}

下面的代码正在工作:

import Vue from "vue";
import VueGtag from "vue-gtag";
export default ({ $config, $auth }) => {
Vue.use(VueGtag, {
config: {
id: 'G-XXXXXXXXXX',
params: {
user_id: '122xzczxc'
}
}
}, app.router)
}

我能帮你吗?当user_id存在时,我想将user_id发送到GA4。

在评论和我认为我已经理解的内容之后做出正确的回应。

如果您通过默认值更改条件,如:

if ($auth?.loggedIn) {
obj.config.params = {user_id: '123-update-id'}
}

这不起作用。

但是如果你这样初始化你的对象:

const obj = {
config: {
{
id: 'G-XXXXXXXXXX',
params: {
user_id: '123-default-id'
}
}
}

$auth?.loggedIn上的条件将起作用并分配值。

在这种情况下,问题只是您需要为对象设置一个默认结构。在这种情况下,对象不会创建可能导致异步或结构问题的新属性,它只是更新一个属性。

就这么做吧:

const obj = {
config: {
{
id: 'G-XXXXXXXXXX',
params: {
user_id: ''
}
}
}

最新更新