Я использую Google Tag Manager для реализации Google Analytics. Таким образом, имена трекеров, инициированные на моем сайте, не всегда совпадают, например. gtm2, gtm3.
Общая цель состоит в том, чтобы иметь возможность отправлять данные в мой пользовательский метри c следующим образом:
ga( 'gtm2.set', 'metric2', 'custom metric data');
Я не могу понять почему этот код не будет работать:
var yone = (ga.getAll()[1].get("name"));
var ytwo = ".set";
var ythree = yone.concat(ytwo);
ga( ythree, 'metric2', 'custom metric data');
Ошибка в консоли Javascript заключается в том, что «VM3324: 1 Uncaught TypeError: ga.getAll не является функцией». Я не уверен, почему это показывает, поскольку, когда я делаю console.log(ga.getAll()[1].get("name"));
, правильное имя трекера появляется в журнале консоли ie. gtm2.
EDIT Я попытался ввести функцию обратного вызова, как упоминалось @balexandre, поэтому мой код стал таким:
var yone = ga(function() {
ga.getAll()[1].get("name")});
var ytwo = ".set";
var ythree = yone.concat(ytwo);
ga( ythree, 'metric2', 'custom metric data');
В этом случае консоль теперь показывает другое сообщение об ошибке «Uncaught TypeError: Невозможно прочитать свойство concat of undefined».
Спасибо.