측정 프로토콜을 통해 Google Analytics에 추적 데이터를 보낼 때 클라이언트 ID는 무엇입니까?
JavaScript 대신 서버에서 추적 이벤트를 전송하기 위해 Google의 새로운 측정 프로토콜을 사용하고 싶습니다.
이 페이지에는 클라이언트 ID가 필요하다고 나와 있습니다. https://developers.google.com/analytics/devguides/collection/protocol/v1/devguide#required
이 페이지에는 선택 사항이라고 나와 있습니다. https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#visitor
또한이 문서에 정의 된 형식이 다릅니다. 첫 번째 페이지는 정수를 예로 들어 "고유 한 값"이라고 말하고 두 번째 링크는 UUID 여야한다고 말합니다.
내 백엔드에서 사용자 ID 또는 생성 된 UUID를 보내는 경우 Google은 해당 방문자를 기존 방문자 세션에 연결하는 것을 어떻게 알 수 있습니까? 기존 사용자에 대한 GA의 내부 참조를 검색해야하는 것 같습니다.
도움을 주시면 감사하겠습니다-감사합니다!
정수 또는 UUID
는 cid에서 두 번째 값에 해당합니다 _utma당신은 자바 스크립트 추적을 사용할 때 쿠키입니다. js 추적에서는 임의의 정수 (에서 생성됨 Math.round(2147483647 * Math.random()))입니다. 그러나 스트로 링되어 문자열로 전송되므로 두 형식 (정수 또는 UUID)을 모두 사용할 수 있습니다.
필수 / 선택
js 추적을 사용하면 사용자 ID가 누락 된 요청이 Analytics 서버에서 무시됩니다. 따라서 그것이 필요하다고 가정하십시오.
웹 방문자를 측정 프로토콜 작업과 연결
백엔드 사용자를 Analytics javascript로 이전에 추적 한 방문자와 연결하려는 경우 쿠키 ga.js에서 cid값을 가져올 수 있습니다 _utma. 그러나 나는 그것을 권장하지 않습니다. 변경 될 때마다 (단말기 또는 브라우저 변경, 쿠키 정리 등) 고객의 이전 작업과의 연결이 끊어집니다.
최신 정보
는 analytics.js질문을 질문 할 때 존재하지 않았다. cid이제 쿠키에 저장됩니다 _ga. 다음을 사용하여 자바 스크립트로 가져올 수 있습니다.
ga(function(tracker) {
var clientId = tracker.get('clientId');
});
이 글을 쓰는 시점에서 위의 코드 에서처럼 추적기에서 clientId를 가져 오면 UUID가 제공되지 않고 "XY"형식의 임의의 32 비트 정수 2 개가 제공됩니다. 이 구현은 향후 UUID로 변경 될 수 있습니다.
또는 고유 한 값으로 설정합니다 (예 : 백엔드 생성 UUID).
ga('create', 'UA-XXXXX-Y', {'clientId': 'your_client_id'});
Rails에서 :
def save_google_analytics_client_id
if current_user && cookies["_ga"]
client_id = cookies["_ga"].split(".").last(2).join(".")
if current_user.google_analytics_client_id != client_id
current_user.google_analytics_client_id = client_id
current_user.save
end
end
end
Express 및 Universal-analytics 모듈과 함께 노드를 사용하고 있으며 자체 cid 서버 측을 생성하는 대신 _ga 쿠키에 포함 된 cid를 사용하기로 선택했습니다.
내 server.js는 다음과 같습니다 ...
app.use(function(req, res, next) {
if(req.session && (!req.session.cid) && req.cookies._ga){
//Use the cid already embedded in the _ga cookie and save to session so I can access from socket routes
var gaSplit = req.cookies._ga.split('.');
req.session.cid = gaSplit[2] + "." + gaSplit[3];
};
next();
});
그럼 나중에 할 수 있어요 ..
ua = require('universal-analytics')
var visitor = ua('UAXXX', req.session.cid)
HTH
'IT Share you' 카테고리의 다른 글
| findFragmentById는 항상 null을 반환합니다. (0) | 2021.01.08 |
|---|---|
| 라우팅 앱 커버리지 파일 (0) | 2021.01.08 |
| Xcode 7.3 : 취소 선으로 표시된 모듈 가져 오기 (0) | 2021.01.08 |
| reStructuredText를 HTML로 구문 분석 (0) | 2021.01.08 |
| 실제로 구성 요소의 상태를 직접 수정할 수없는 이유는 무엇입니까? (0) | 2021.01.08 |