[英]GA4 Google Analytics. gtag.js sends a request with a delay of a few seconds, not instantly
[英]Manually generate GA linker parameter with gtag (GA4)
要將 client_id 從一個域傳遞到另一個域,Google 支持向作為跨域跟蹤設置一部分的傳出鏈接添加“鏈接器”參數。 這個 linker 參數包含client_id
、 session_id
(我相信,關於 Google Ads 的信息,例如gclid
)和一個基本的指紋 + 時間戳。 在接收域上,如果瀏覽器指紋匹配並且時間戳不是過去太遠,則傳遞的client_id
和session_id
將存儲在第二個域的第一方 cookie 中並隨后使用。
使用analytics.js
(GA-UA),您可以輕松地執行以下操作,手動修飾 URL:
function decorateUrl(urlString) {
var ga = window[window['GoogleAnalyticsObject']];
var tracker;
if (ga && typeof ga.getAll === 'function') {
tracker = ga.getAll()[0]; // Uses the first tracker created on the page
urlString = (new window.gaplugins.Linker(tracker)).decorate(urlString);
}
return urlString;
}
然而,當只加載 gtag 時, window.ga
和window.gaplugins
沒有定義。 據我所知,目前沒有記錄的方法來手動生成帶有 gtag 的 linker 參數的鏈接。
在 Google 的文檔中,他們建議手動設置 linker。 ( https://support.google.com/analytics/answer/10071811?hl=en#zippy=%2Cmanual-setup ) 但這有幾個缺點,例如我必須創建一個自定義的“指紋”邏輯(這樣修飾的 URL不共享),例如不包括 Google Ads 信息。 無論哪種方式,我都想使用內部 gtag 邏輯來修飾 URL。
gtag a
自動修飾標簽(只要它們被點擊),導致在 GA4 數據 stream 設置中指定的跨域跟蹤域(例如“test.com”),但我特別需要手動修飾 URL(即而不會立即重定向到他們)。 我考慮過執行以下操作:
a
標簽 URL 來裝飾onclick='event.preventDefault();'
防止重定向function decorateUrlGtag(urlString) {
var tempAnchorEl = document.createElement("a");
tempAnchorEl.setAttribute("type", "hidden");
tempAnchorEl.setAttribute("href", urlString);
tempAnchorEl.setAttribute("onclick", "event.preventDefault(); return false");
document.body.appendChild(tempAnchorEl);
tempAnchorEl.click();
var urlWithLinker = tempAnchorEl.href;
tempAnchorEl.remove();
return urlWithLinker;
}
這也不起作用,因為 gtag 似乎沒有注冊tempAnchorEl.click();
稱呼。 如果我手動單擊該鏈接,則 URL 會按預期進行裝飾。
此處概述的解決方案( Google Analytics gtag.js Manually adding the linker cross-domain parameter to URLs )對我也不起作用:
ga
)您是否 (1) 知道是否有一種方法可以使用我忽略的 gtag 手動生成 linker 參數,(2) 知道如何使我的“hacky”解決方案起作用或 (3) 有其他可能的解決方案?
我沒有摸索過這個解決方案,我不確定它是否直接回答了您的問題,但 Simo 確實在此處概述了如何配置 GA4 跨域跟蹤:
他將問題分解為多個步驟,但沒有 go 非常詳細。 他提供了一個代碼片段:
“...您還可以將 URL 參數值直接加載到 GA4 配置中,例如:
gtag('config', 'G-12345', {
// Namespace roll-up trackers
cookie_prefix: 'roll-up',
// Pull in the Client ID from the URL
client_id: (new URLSearchParams(document.location.search)).get('client_id'),
// Pull in the Session ID from the URL
session_id: (new URLSearchParams(document.location.search)).get('session_id')
});
“
希望有幫助!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.