webentwicklung-frage-antwort-db.com.de

Wie erhalte ich die Google Analytics-Client-ID?

Wenn Sie eine neue Instanz von analytics.js erstellen, indem Sie ausführen

ga('create', 'UA-XXXXXXX-Y', {'cookieDomain': 'none'});

GA erstellt eine eindeutige Client-ID. Ich möchte diese ID abrufen und für meine eigenen Zwecke verwenden, kann aber nur setter für diesen Parameter finden, kann aber keine Getter-Methode finden, um sie abzurufen.

GA sendet es später in einem Parameter namens &cid=123123.232323

Weiß jemand, wie ich es bekomme?

30
user2979757

Google hat einige Dokumentation zum Abrufen der Client-ID .

Sieht aus wie das:

ga(function(tracker) {
  var clientId = tracker.get('clientId');
});

Ich habe das auch schon benutzt:

ga.getAll()[0].get('clientId');

[~ # ~] edit [~ # ~] : Wenn Sie mehr als einen Tracker auf der Seite haben, ist es wahrscheinlich, dass bei Index 0 dort ist nicht die, die Sie möchten, daher sollte eine alternative Funktion die folgende sein:

function() {
  try {
    var trackers = ga.getAll();
    var i, len;
    for (i = 0, len = trackers.length; i < len; i += 1) {
      if (trackers[i].get('trackingId') === "ID-PROPERTY") {
        return trackers[i].get('clientId');
      }
    }
  } catch(e) {}  
  return 'false';
}

wobei ID-PROPERTY die ID Ihres Eigentums ist (d. h. UA-XXXXX-XX).

68
Blexy

Erstellen Sie zuerst das Google Analytics ga -Objekt, um ein Tracker -Objekt zu erstellen, indem Sie ihm eine "Rückrufbereit" -Funktion übergeben, und rufen Sie dann mit dem Tracker auf andere Methoden.

Die ga () - Befehlswarteschlange bietet eine Schnittstelle für fast alles, was Sie für die analytics.js-Bibliothek benötigen.

"function (tracker)" ist eine Rückruffunktion, die aufgerufen wird, wenn die Analysebibliothek vollständig geladen und zur Interaktion bereit ist. Die Funktion wird mit dem Standard-Tracker-Objekt als erstem Argument aufgerufen. Wenn kein Standard-Tracker erstellt wurde, gibt das erste Argument undefined zurück.

Hinweis: Wenn die Rückruffunktion aufgerufen wird, können alle ga-Objektmethoden verwendet werden. Einschließlich der gewünschten tracker.get ('clientId')

Ersetzen Sie das A-XXXXX-Y im folgenden Code durch Ihren UA-Code von Google Analytics.

// Queues a tracker object for creation.
ga('create', 'UA-XXXXX-Y', 'auto');

// Once the tracker has been created, log the
// client ID to the console.
ga(function(tracker) {
  console.log(tracker.get('clientId'));
  /* Your other code here */
});

Alternativ können Sie für die Zeilen 1 und 2 den folgenden Code verwenden, um einen benannten Tracker zu erstellen.

// Queues a named tracker object for creation.
ga('create', 'UA-XXXXX-Y', 'auto', 'myTracker');
6

Obwohl der Autor ausdrücklich angibt, dass er Javascript verwendet, suchen andere (wie ich) möglicherweise nach einer Möglichkeit, diese Informationen vom Server abzurufen, wie z. B. PHP.

Ich habe festgestellt, dass Sie leicht nach dem _ga-Cookie suchen können, das so aussieht:

_ga=GA1.3.475128143.1522318100

Im obigen Beispiel lautet die Benutzer-ID "475128143.1522318100".

Also, in PHP Ich kann es schnell abrufen als:

$gaUserId = preg_replace("/^.+\.(.+?\..+?)$/", "\\1", @$_COOKIE['_ga']);

Sie können Javascript auch verwenden, um das Cookie in einer einzelnen Zeile abzurufen, ohne ga () -Funktionen zu verwenden:

var gaUserId = document.cookie.match(/_ga=(.+?);/)[1].split('.').slice(-2).join(".")

Das funktioniert für mich.

4
Alexandre T.