Форум программистов, компьютерный форум, киберфорум
Google
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
Эксперт по компьютерным сетямЭксперт NIX
 Аватар для Dmitry
13440 / 7534 / 830
Регистрация: 09.09.2009
Сообщений: 29,554

Использование Google Analytics с разными идентификаторами

07.08.2017, 20:30. Показов 3043. Ответов 19
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Согласно их доке я должен на странице разместить скрипт
JavaScript
1
2
3
4
5
6
7
8
9
10
11
<!-- Google Analytics -->
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
 
ga('create', 'UA-XXXXX-Y', 'auto');
ga('send', 'pageview');
</script>
<!-- End Google Analytics -->
.... где UA-XXXXX-Y - это мой идентификатор

задача состоит в том, чтобы использовать на одной странице разные идентификаторы (подгружать их совместно с рекламным контентом). мысль такая, что код
JavaScript
1
2
3
4
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
.... поместить во внешний файл яваскрипт, а потом с помощью аякс получать идентификатор, помещать его в переменную (например, myidentyficator), и потом уже вызывать команду аналитики с этой переменной, таким образом:
JavaScript
1
2
ga('create', myidentyficator , 'auto');
ga('send', 'pageview');
собственно, вопрос в том, прокатит такое или нет?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.08.2017, 20:30
Ответы с готовыми решениями:

Использование WebBrowser WFP и Google Analytics
У меня такой вопрос, я быстренько сворганил сайт и подключил его к гугл аналитикс. При открытии в гугл хроме просмотр считается, а если...

Могут ли у процессов с разными идентификаторами быть одинаковые дескрипторы?
Пишу программу.. и появились вот такие вопросы.. могут ли у процессов с разными идентификаторами быть одинаковые дескрипторы? и имена у...

Статистика Google Play Service и баг Google Analytics
В процессе написания простейшего приложения с использованием Google Analytics v4 нашел забавный баг. Его последствия, методы лечения, и...

19
 Аватар для Jasta
1516 / 573 / 137
Регистрация: 20.02.2016
Сообщений: 3,389
09.08.2017, 17:34
Сомневаюсь что такое прокатит....
Это вы так хотите поделать поведенческие метрики на одном из сайтов???
0
Эксперт по компьютерным сетямЭксперт NIX
 Аватар для Dmitry
13440 / 7534 / 830
Регистрация: 09.09.2009
Сообщений: 29,554
09.08.2017, 17:52  [ТС]
Цитата Сообщение от Jasta Посмотреть сообщение
Сомневаюсь что такое прокатит....
ну пока что лишь пишу базу, которая будет "насыпать" все эти ID-ы, так что еще не экспериментировал.
правда, параллельно порылся в гугловской доке и нашел там такое
Manually renaming the global object

Renaming the global object works because analytics.js, when it loads, looks for a string stored on a global variable called GoogleAnalyticsObject. If it finds that variable, it uses the string name as the new name for the global command queue.

If you're loading analytics.js and not using the tracking snippet, you can still rename the global object by setting the name you want to use on the variable GoogleAnalyticsObject prior to loading the analytics.js library.

For example, if you're using jQuery's $.getScript method to load analytics.js, you could rename the global object with the following code:

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
<script>
// Instructs analytics.js to use the name `analytics`.
window.GoogleAnalyticsObject = 'analytics';
 
// Uses jQuery to load analytics.js instead of the tracking snippet.
$.getScript('//www.google-analytics.com/analytics.js', function() {
 
  // Creates a tracker and sends a pageview using the renamed command queue.
  analytics('create', 'UA-12345-1', 'auto');
  analytics('send', 'pageview');
});
</script>
источник

думаю, может так попробовать...


Цитата Сообщение от Jasta Посмотреть сообщение
Это вы так хотите поделать поведенческие метрики на одном из сайтов???
скажу честно, словосочетание " поведенческие метрики" далеко от моего понимания...

это будет страница, на которой будут демонстрироваться видео-ролики. Их "размещатели" хотят какую-то статистику, и в их исполнении прозвучало "гугл-аналитики будет достаточно". Вот и думаю, прикрутить процедуру, которая из базы будет извлекать пару "видео-ролик"=>"ид гугл-аналитики", и кидать их на страницу. типа "кто-то там ролик посмотрел", скрипт в гугл-аналитику данные скинул...
0
 Аватар для Jasta
1516 / 573 / 137
Регистрация: 20.02.2016
Сообщений: 3,389
09.08.2017, 18:15
Цитата Сообщение от Dmitry Посмотреть сообщение
это будет страница, на которой будут демонстрироваться видео-ролики.
А не проще ли принцип один ролик одна страница???
Или написать простенький скрип который будет считать просмотры???
0
Эксперт по компьютерным сетямЭксперт NIX
 Аватар для Dmitry
13440 / 7534 / 830
Регистрация: 09.09.2009
Сообщений: 29,554
09.08.2017, 18:23  [ТС]
Цитата Сообщение от Jasta Посмотреть сообщение
А не проще ли принцип один ролик одна страница???
в данной ситуации, на мой взгляд, не проще.
Цитата Сообщение от Jasta Посмотреть сообщение
Или написать простенький скрип который будет считать просмотры???
он-то итак написан (дописывается). "размещатели" хотят чего-то большего (я не сильно в курсе именно рекламных и аналитический вопросов, наверное в этой гугл-аналитике есть нечто, чего "простая считалка" не может (кроме маков, айпишников, и данных юзерагента))...
0
 Аватар для Jasta
1516 / 573 / 137
Регистрация: 20.02.2016
Сообщений: 3,389
10.08.2017, 15:15
Цитата Сообщение от Dmitry Посмотреть сообщение
в данной ситуации, на мой взгляд, не проще.
Но с таким подходом вы можете не рассчитывать на трафик из ПС, ибо они с ajax не очень дружат, да и оптимизировать одну страницу под все ролики не получится
0
Эксперт по компьютерным сетямЭксперт NIX
 Аватар для Dmitry
13440 / 7534 / 830
Регистрация: 09.09.2009
Сообщений: 29,554
10.08.2017, 15:30  [ТС]
Цитата Сообщение от Jasta Посмотреть сообщение
можете не рассчитывать на трафик из ПС
что такое ПС?
Цитата Сообщение от Jasta Посмотреть сообщение
да и оптимизировать одну страницу под все ролики не получится
а надо ли? берем "размещателя" и рассказываем ему "твой ролик д.б. таким-то и таким-то...", а дальше уже смотрим, что получилось...
0
 Аватар для Jasta
1516 / 573 / 137
Регистрация: 20.02.2016
Сообщений: 3,389
10.08.2017, 15:54
Цитата Сообщение от Dmitry Посмотреть сообщение
что такое ПС?
Поисковая система
Цитата Сообщение от Dmitry Посмотреть сообщение
а надо ли? берем "размещателя" и рассказываем ему "твой ролик д.б. таким-то и таким-то...", а дальше уже смотрим, что получилось...
Не очень понял что тут имелось ввиду....
0
Эксперт по компьютерным сетямЭксперт NIX
 Аватар для Dmitry
13440 / 7534 / 830
Регистрация: 09.09.2009
Сообщений: 29,554
10.08.2017, 16:01  [ТС]
Цитата Сообщение от Jasta Посмотреть сообщение
трафик из ПС
Цитата Сообщение от Jasta Посмотреть сообщение
Поисковая система
под "трафиком из ПС" вы подразумеваете, что гугл в результатах поиска не будет выдавать потом ссылки на эти страницы/ролики? (каким-то там людям, ищущим в интернете какие-то слова)? такая цель и не стоит. эти аккаунты гугл-аналитики будут использоваться именно как счетчики показов (просто, видимо, более продвинутые, чем тупо "ваш ролик был показан 33 раза"...).
Цитата Сообщение от Jasta Посмотреть сообщение
Не очень понял что тут имелось ввиду....
аналогично по поводу утверждения
Цитата Сообщение от Jasta Посмотреть сообщение
оптимизировать одну страницу под все ролики не получится
0
 Аватар для Jasta
1516 / 573 / 137
Регистрация: 20.02.2016
Сообщений: 3,389
10.08.2017, 16:29
Кажется я начинаю понимать что тут происходит: люди размещают на сайт свой ролик с рекламой, и хотят узнать что с ним происходит???
0
Эксперт по компьютерным сетямЭксперт NIX
 Аватар для Dmitry
13440 / 7534 / 830
Регистрация: 09.09.2009
Сообщений: 29,554
10.08.2017, 17:55  [ТС]
Цитата Сообщение от Jasta Посмотреть сообщение
Кажется я начинаю понимать
лучше б вы суть вопроса поняли. он был чисто технический (можно ли функцию запхнуть "туда-то", а потом просто вызывать ее, подставляя id как переменную). вместо этого все вылилось в обсасывание вопроса оптимизирую я видео или не оптимизирую. мне И НЕ НАДО его оптимизировать, не мои заботы...
0
 Аватар для Jasta
1516 / 573 / 137
Регистрация: 20.02.2016
Сообщений: 3,389
10.08.2017, 18:13
Цитата Сообщение от Dmitry Посмотреть сообщение
лучше б вы суть вопроса поняли
Да что бы понять суть мне нужно понять что вы там делаете....
Смотрите как такой вариант пилити в аналитике несколько целей, по одной на каждый рекламный ролик, затем в блоке с рекламой пилите обработчик нужного вам события а вместо кода для установки цели бабахаете туда переменную значением которой будет код для цели который будет подгружаться вместе с роликом
0
Эксперт по компьютерным сетямЭксперт NIX
 Аватар для Dmitry
13440 / 7534 / 830
Регистрация: 09.09.2009
Сообщений: 29,554
10.08.2017, 18:24  [ТС]
Цитата Сообщение от Jasta Посмотреть сообщение
Смотрите как такой вариант
если я правильно понял вашу терминологию и угадал с запятыми, то вы просто другими словами написали все то же, что я написал в своем самом первом сообщении...
0
 Аватар для Jasta
1516 / 573 / 137
Регистрация: 20.02.2016
Сообщений: 3,389
11.08.2017, 16:16
Цитата Сообщение от Dmitry Посмотреть сообщение
то вы просто другими словами написали все то же, что я написал в своем самом первом сообщении
Я всё таки смог расшифровать то что вы написали в первом сообщении
Ну можно сказать и так, вопрос зачем тогда вы пришли на форум а не тупо попробовали это реализовать, вроде бы не чего сложного???
0
Эксперт по компьютерным сетямЭксперт NIX
 Аватар для Dmitry
13440 / 7534 / 830
Регистрация: 09.09.2009
Сообщений: 29,554
11.08.2017, 16:44  [ТС]
Цитата Сообщение от Jasta Посмотреть сообщение
вопрос зачем тогда вы пришли на форум а не тупо попробовали это реализовать, вроде бы не чего сложного???
затем, что в то время,когда я задавал вопрос, то все еще писал то приложение, которое будет отвечать на аякс-запросы страницы, показывающей видеоролики. и думал, что пока я ковыряюсь с одной половиной задачи, может быть мне кто-то ответит по поводу второй. практика показала, что либо таким никто не занимался, либо те, кто занимались, предпочитают не озвучивать свои мысли (наработки) по этому поводу. чтож, это их право

Не по теме:

до моего непосредственного теста оставалось совсем немного... ;)

0
 Аватар для Jasta
1516 / 573 / 137
Регистрация: 20.02.2016
Сообщений: 3,389
11.08.2017, 17:36
Цитата Сообщение от Dmitry Посмотреть сообщение
может быть мне кто-то ответит по поводу второй
На сайбере не особо сильное SEO сообщество...
Ну что ж отпишитесь когда доделаете скрипт, работает это или нет. Как вариант ещё можно рассмотреть использование UTM меток
0
Эксперт по компьютерным сетямЭксперт NIX
 Аватар для Dmitry
13440 / 7534 / 830
Регистрация: 09.09.2009
Сообщений: 29,554
12.08.2017, 12:26  [ТС]
имхо, мой вопрос по сути не столько про SEO, сколько про яваскрипт...

тестовую страничку наскорую руку слепил, ajax (запрашивающий из базы гугловский id) на ней реализовал, саму функцию вкинул, ее вызов с переменной вместо жестко прописанного id сделал, несколько раз в страницу потыкал (пооткрывал). теперь вот надо дождаться гугл-аналитики, появятся ли в ней сведения или нет...

Добавлено через 18 часов 18 минут
в принципе, все получилось, единственное, немножко иначе пришлось разместить сам код в скрипте
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
// всякие там нужные действия (например, AJAX-запрос), которые 
// дают мне значение этого идентификатора my_ga_tracking_code 
// (того самого, который UA-XXXXX-Y)
 
if(my_ga_tracking_code)
{
        (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
        (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
        m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
        })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
 
        ga('create', my_ga_tracking_code , 'auto');
        ga('send', 'pageview');
}
все это вынесено во внешний (по отношению к "index.html") js-файл, и вызывается при необходимости (в моем случае - аж после того, как просмотр видео-ролика завершен / то есть, для использования в качестве простой "считалки" процедуру не обязательно вызывать именно внутри тегов <head> веб-страницы)...
0
 Аватар для Jasta
1516 / 573 / 137
Регистрация: 20.02.2016
Сообщений: 3,389
14.08.2017, 10:53
Цитата Сообщение от Dmitry Посмотреть сообщение
имхо, мой вопрос по сути не столько про SEO, сколько про яваскрипт...
Ну вообщем то да
Рад что у вас всё получилось
0
Эксперт по компьютерным сетямЭксперт NIX
 Аватар для Dmitry
13440 / 7534 / 830
Регистрация: 09.09.2009
Сообщений: 29,554
15.08.2017, 10:16  [ТС]
еще несколько дней "научного тыка", и истинные причины фразы
Цитата Сообщение от Dmitry Посмотреть сообщение
в принципе, все получилось, единственное...
... были найдены

видимо, нужно более подробно описать происходящий процесс.
страница выводит юзеру ролик, и он его смотрит. по окончании ролика страница делает следующие действия:
  1. отсылает данные в гугл-аналитику (по всей видимости ajax);
  2. отсылает данные в мою базу-"считалку" (точно ajax);
  3. "нажимает" сабмит скрытой формы (javascript, авторизация)

причиной проблем были два явления
  • AdBlock (он, оказывается, любит блокировать загрузку скрипта гугл-аналитики)
  • асинхронность выполнения ajax-запросов.

В итоге, отправке гугл-аналитики мешали в некоторых случаях - "отсутствие" самого analytics.js, в некоторых других - "слишком рано приключившийся" сабмит...

Результирующий алгоритм получился таким (с учетом того, что все это во внешнем js-файле):
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
// загружаем сам скрипт гугл-аналитики, причем, эта команда
// размещена в самом начале файла. т.к. загрузка - асинхронная
// лучше, если она начнется сразу при открытии страницы!!!
$.getScript('//www.google-analytics.com/analytics.js', function() {
    console.log("Google Analytics script loaded");  // чисто для контроля, можно и убрать 
});
 
///// всякое бла-бла-бла, которое получает ссылку на видео-ролик и 
///// код идентификатора (my_ga_tracking_code) гугл-аналитики....
///// отдельно - процедура, инициирующая воспроизведение ролика
 
// на видео-обьект подключено ожидание события ended (окончание просмотра ролика)
video.addEventListener("ended", function () {
            // проверяем, что в результате загрузки (выше) у нас есть ga и он может выполнить действие create
                        // а также, что есть (получен) идентификатор гугл-аналитик gaid
            if ((my_ga_tracking_code) && window.ga && ga.create) { 
                ga('create', my_ga_tracking_code, 'auto');
                ga('send', 'pageview', {  // send data to google analitics
                        'hitCallback': function() {
                            console.log("Google Analytics data sent");  // чисто для контроля, можно и убрать 
                            sendMyCofirm(); // вызов моей функции
                        }
                    });
            } else {
                sendMyCofirm(); // вызов моей функции
            }
        }, false);
 
function sendMyCofirm()
{
    $.get(my_url).done(function(){ // отправка данных в мою "считалку", и лишь когда она закончилась (по событию done)...
        var login_form = document.form;
        if (login_form)
        {
                login_form.submit(); // ... сабмит моей формы. 
        }
    });
}
в итоге теперь если гугл-аналитика загрузилась (сам analytics.js), то отсылаем данные, и лишь потом приступаем к остальным действиям, если не загрузилась - то, минуя отправку в гугл, прямиком идем отсылать данные в мою считалку (sendMyCofirm). и лишь после того, как данные в считалку отправлены, жмем "сабмит" и авторизуемся...
1
Эксперт по компьютерным сетямЭксперт NIX
 Аватар для Dmitry
13440 / 7534 / 830
Регистрация: 09.09.2009
Сообщений: 29,554
16.08.2017, 10:43  [ТС]
ну и "финальный гвоздь" в процесс - нашел ссылку про решение проблемы блокировки гугл-аналитики:
https://analytical42.com/2015/... analytics/
по ней сделал php-скрипт (немного откорректировал, правда), и в яваскрипт добавил вызов этого скрипта в ситуациях, когда гугл-аналитика заболкирована.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.08.2017, 10:43
Помогаю со студенческими работами здесь

Вопрос по Google Analytics и Google Adwords
У меня связанный аккаунт Analytics + Adwords. Есть ряд кампаний в Google Adwords показывающиеся в результатах поиска Google и естественно...

Google Analytics
Есть аккаунт в gmail и есть сайты в webmaster`е соответственно захожу в Google Analytics вижу свою учетку, но вот никак не пойму как сюда...

Google Analytics
Хотелось бы узнать ваше мнение по поводу сервиса статистики сайта &lt;b&gt; Google Analytics&lt;/b&gt; (www.google.com/analytics/ru-RU/)

Google Analytics
Как можно отследить статистику c домена по порту который переадресовывает на другой физический сервер??? Может кто знаком с этим?

Google Analytics
Здравствуйте. На сайте организован вывод pdf документа через php-код. Ну то есть ссылка на документ имеет формат script.php?file_id=... В...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка SDL3 из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru