[英]How do I extract Google Analytics campaign data from their cookie with Javascript?
[英]Google Analytics Measurement Protocol: How do I get the client-id from cookie on the server?
我想使用測量協議從服務器發送一個谷歌分析事件。
文檔說明了cid是必需的,並且應該是UUID( https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#cid )。
但是,我想使用與_ga cookie中存儲的內容相同的客戶端ID。 但根據這一點 ,我不應該直接解析cookie中的id,因為它可能會在沒有警告的情況下改變。
此外,tracker.get('clientId')在瀏覽器中返回的字符串不是標准的UUID字符串,所以即使我在瀏覽器中檢索了值並將其發送到服務器,它仍然不是格式化的文檔說它應該是。
那么,我需要做什么才能以前向兼容的方式從cookie中獲取客戶端ID?
使用ga.getAll()[0].get('clientId');
獲取clientId。
關於他們的文檔,谷歌只是不希望你直接抓取cookie,並解析它,因為cookie將來可能會改變。
他們概述的方法是獲取clientId的首選方法。
關於clientId和使用UUID,您幾乎可以傳遞匿名識別某人的任何值(包括使用GA的clientId)。
我們所做的是使用ga.getAll()[0].get('clientId');
獲取客戶端並將其發送到服務器,我們可以將clientId放入測量協議的require參數,並將服務器端測量協議請求發送回GA,其中包括銷售成本等交易數據等。使用clientId允許您將事務連接到源/介質等。
獲取ClientID的正確方法是通過傳遞回調來詢問跟蹤器。
它必須在ga("create",...)
之后調用ga("create",...)
並且請求是:
ga(function(tracker) {
// very similar to internal method like ga.getAll()[0].get('clientId');
var clientId = tracker.get('clientId');
// now you can pass client id to your internal system
myInternalMeasurementProtocolSetter(clientId);
});
在此之后,您必須調用ga("send"...)
來運行之前的一批設置。
如果您要將其調出初始設置隊列,則必須驗證GoogleAnalytics是否已初始化。
你可以問ga.getAll();
如果有任何跟蹤器。 如果是,那么您可以傳遞回調。
如果您將使用任何其他方式,您可以提前或延遲陷入困境。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.