搜尋

首頁  >  問答  >  主體

使用 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。

P粉615886660P粉615886660352 天前576

全部回覆(1)我來回復

  • P粉135799949

    P粉1357999492023-12-20 00:30:07

    在評論後正確回覆以及我認為我已經理解的內容。

    如果您將條件變更為預設值,例如:

    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: ''
        }
      }
    }
    

    回覆
    0
  • 取消回覆