IT Share you

측정 프로토콜을 통해 Google Analytics에 추적 데이터를 보낼 때 클라이언트 ID는 무엇입니까?

shareyou 2021. 1. 8. 21:47
반응형

측정 프로토콜을 통해 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

참조 URL : https://stackoverflow.com/questions/14227331/what-is-the-client-id-when-sending-tracking-data-to-google-analytics-via-the-mea

반응형