我有一個 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粉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: '' } } }