Клуб Яндекс.Метрики

Расшарить метрику по части сайта

Пост в архиве.

Всем привет,

на нашем афишном сайте события разных организаторов группируются в их разделах. Типа:

www.../organizer/event1
www.../organizer/event2
www.../organizer/event3

Задача: дать организатору доступ к статистике по его событиям.

Как ее можно реализовать "в лоб":

1. Человек регистрируется в Метрике

2. Человек создает счетчик Метрики

3. Человек заходит в профиль Stage Action на Яиду.ру и указывает этот счетчик

4. Мы подмешиваем его в код Метрики на всех страницах внутри www.yaidu.ru/stageaction/

5. Человек кликает на ссылку в профиле Stage Action и попадает в Метрику по своим событиям.

 

Как хотелось бы реализовать:

1. Человек кликает на ссылку в профиле Stage Action и попадает в Метрику по своим событиям.

 

Есть ли способы реализовать вот этот, идеальный для юзера, вариант? Можем ли мы через API выделить из Метрики сайта статистику только по адресам www.../organizer/* и расшарить человеку приватную ссылку на эту статистику? Безо всяких регистраций и телодвижений с его стороны?

 

10 комментариев
Katherine (Yandex)
27 января 2016, 22:27

Здравствуйте!

Метод, который вы называете "в лоб" - правильный, поскольку пользователь не сможет просмотреть статистику, если он не зарегистрирован в Метрике и заранее не создано счётчика, установленного на всех страницах, с которых нужно получать статистику.

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

Например, вы можете создавать счётчики самостоятельно и выдавать клиентам представительский доступ на них (в этом случае вы можете ставить отдельные счётчики на каждом из внутренних разделов внутри www.yaidu.ru/stageaction/). Если же вы готовы позволить вашим пользователям иметь доступ к статистике и по другим разделам, то можете использовать один общий счётчик и настроить для каждого пользователя сегментацию по параметру Визит/Просмотр URL (делается в новой Метрике при помощи меню "Сегментировать").

 

Если же вы готовы позволить вашим пользователям иметь доступ к статистике и по другим разделам...

- нет, ни в коем случае. Только к своему разделу.

 

вы можете создавать счётчики самостоятельно и выдавать клиентам представительский доступ на них

- это можно делать не руками, а через API?

Katherine (Yandex)
27 января 2016, 22:27
- это можно делать не руками, а через API?

Да, через api предоставление представительского доступа также возможно. Подробнее смотрите в документации:

http://api.yandex.ru/metrika/doc/beta/management/delegates/adddelegate.xml

Катерина,

 

а как правильно создать счетчик через API? В документации нет примеров, а параметры не обозначены как обязательные/необязательные. В итоге я сделал GET-запрос из двух параметров, name и site -

https://beta.api-metrika.yandex.ru/management/v1/counters?name=sa_action&site=www.yaidu.ru&oauth_token=

 

но он возвращает только:

 

{ "rows": 0, "counters": [ ] }

Katherine (Yandex)
27 января 2016, 22:27

Пример запроса для создания счётчика вы можете найти вот здесь

https://tech.yandex.ru/metrika/doc/beta/management/counters/addcounter-docpage/#example

Мы поняли уже, что один и тот же запрос используется на чтение списка счетчиков (GET) и на их создание (POST). И даже добились адекватных данных от GET. Однако POST упорно не проходит -

wget --post-data '' https://beta.api-metrika.yandex.ru/management/v1/counters?oauth_token=
...
HTTP request sent, awaiting response... 400 Bad Request
ERROR 400: Bad Request.

Почему?

P.S. Мы третий день пытаем API Метрики на один-единственный запрос, создание счетчика, и все безрезультатно :(

На всякий случай, попытка указать POST-параметры ничего не меняет:

 

wget --post-data '{"counter" : { "name" : "test" , "site" : "http://www.yaidu.ru" }}' https://beta.api-metrika.yandex.ru/management/v1/counters?oauth_token=

 

HTTP request sent, awaiting response... 400 Bad Request
ERROR 400: Bad Request.

Виктор Тарнавский
27 января 2016, 22:27

В поле site нужно указывать домен. Также необходимо указывать Content-Type, но мы попробуем убрать это ограничение.

https://tech.yandex.ru/metrika/doc/beta/management/counters/addcounter-docpage/

wget -d --header='Content-Type: application/json' --post-data '{"counter" : { "name" : "test" , "site" : "yaidu.ru" }}' https://beta.api-metrika.yandex.ru/management/v1/counters?oauth_token=

Виктор Тарнавский
27 января 2016, 22:27

Без регистрации в Метрике человек ничего не сможет увидеть (кроме публичных счетчиков).

Первый вариант - создавать публичные счетчики для каждого события/организатора. Но тогда при желании эту статистику можно будет отыскать (хотя это совсем непросто).

Второй вариант - ваш, но исключая пункт 2. Пункт 3 будет выглядеть как "Человек заходит в профиль и жмет кнопку подключить счетчик" - по oauth вы получаете его токен - создаёте счетчик и так далее. Или по описанной выше схеме с представителями.

По запросу напишу отдельно.