Google Analytics получает трекер по trackingId - PullRequest
0 голосов
/ 24 июня 2018

В настоящее время у меня есть этот код, чтобы попытаться найти нужный мне трекер (среди 8-12 трекеров):

ga.getAll().forEach(function(tracker) {
    if(tracker.get('trackingId') === "UA-62921111-4") {

Вместо простого поиска каждого трекера и его повторения, есть простой способсделать что-то вроде ga.getTracker("UA-62921111-4")?

Ответы [ 2 ]

0 голосов
/ 24 июня 2018

Я обнаружил, что это хороший однострочный текст:

var tracker = ga.getAll().filter(tracker => (tracker.get('trackingId') === 'UA-62925944-4'))[0]

Но учтите, что если у вас несколько трекеров, ga может показаться готовым до того, как трекер будет загружен. Я хотел получить данные из трекера для полей формы, поэтому я вставил эти поля при отправке, чтобы убедиться, что все загружено.

0 голосов
/ 24 июня 2018

На сайте analytics.js нет ga.getTracker.он имеет только ga.getByName и ga.getAll.

. Для справки вы можете проверить это.https://developers.google.com/analytics/devguides/collection/analyticsjs/accessing-trackers

Итак, чтобы достичь того, что вам нужно, я написал следующий код, который должен быть добавлен в ваш файл после загрузки analytics.js:

(function(){
    trackers = {}
    ga.getAll().forEach(function(tracker) {
        trackers[tracker.get('trackingId')]=tracker;
    });
    ga.getTracker=function(id){
        if(trackers[id])
        return trackers[id];
    };
})();

это в основном выбирает всетрекеры один раз и сохраняют их в объекте, и это определяет отсутствующий ga.getTracker.

, так что теперь вы можете вызвать функцию ga.getTracker("UA-62921111-4"), чтобы получить свой трекер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...