Использование Google Analytics для отображения подмножества данных для клиентов веб-приложения с помощью встроенного api

Я разрабатываю приложение, в котором каждый "бизнес" имеет свою собственную страницу (или довольно много страниц):

Например, пример. ком/бизнес/а/

Итак, для зарегистрированных владельцев бизнеса в системе я хотел бы предоставить функцию "Просмотр аналитики страниц". Он будет отображать, сколько посещений (и, возможно, нескольких других вещей) на этой странице.

Есть ли способ сделать это с помощью API Google Analytics с моими ограничениями:

  • Я не хочу, чтобы клиенты предоставляли свой собственный код UA
  • Я не хочу, чтобы они требовали иметь учетную запись GA
  • Клиентам не нужно иметь учетную запись электронной почты Google.
  • Я не хочу самостоятельно создавать весь интерфейс и бэкэнд. Я предпочел бы использовать что-то существующее

Я занимаюсь этой темой часами, пытаясь придумать решение и ничего не могу понять.

Вот что я пробовал и с какими проблемами со мной столкнулись:

  • http://ga-dev-tools.appspot.com/demos/embed-api/
    • В основном это то, что я хочу, чтобы мои клиенты отображались на моем сайте (например, в примерах), за исключением того, что Embed Api пытается разрешить пользователям свою собственную (принадлежащую) аналитику Google. Вместо этого я хочу использовать свои собственные данные Google Analytics (или, скорее, их часть).
    • Они, как я думал, ограничивают доступ к данным для каждого моего клиента, чтобы создать View в GA, Добавить фильтр в этот вид, поэтому там перечислены только страницы клиентов, назначьте пользователя в представление и используйте Embed Api для отображения данных только из этого "Просмотр". Есть пара проблем с этим:
      • Чтобы назначить пользователю просмотр, нам нужен адрес электронной почты. И это должно быть либо электронная почта учетной записи google, либо учетная запись из проекта, созданного с помощью Google Developers Console (приложение).
      • Другими словами, я не могу создать (каким-либо образом, что я знаю) и учетную запись, которая была бы защитной учетной записью для моих клиентов подмножеством моих данных GA, которые им были бы интересны. Это должен быть либо настоящий пользователь или реальный адрес электронной почты приложения.
      • Так что я пытался это сделать... Я создал приложение в Google Developers Console, создал новую учетную запись службы OAuth. Используя код Ruby (который в рабочем приложении будет работать на бэкэнд), я получил токен OAuth. Я добавил это электронное письмо моей учетной записи службы OAuth в качестве пользователя для просмотра
      • Я хотел, чтобы на стороне сервера был создан маркер oauth, который будет использоваться Embed Api. Это приведет к тому, что я создам токен для моего бэкэнда, и пользователь сможет его использовать без использования пользователя GA в свойстве GA. Поэтому я изменил в соответствии с документацией основной пример Embed Api для использования
gapi.analytics.auth.authorize({
  container: 'auth',
  clientid: 'xxx.apps.googleusercontent.com',
    serverAuth: {
      access_token: 'Server side generated token'
    }
});

вместо

gapi.analytics.auth.authorize({
  container: 'auth',
  clientid: 'xxx.apps.googleusercontent.com',
});

Эффекты не совсем то, что я ожидал. Пример больше не отображается (я не вижу мои данные), но я вижу в разделе Netowrking в Chrome, что он фактически получает реальные данные от GA. Но по неизвестной причине ничего не появляется.

То, что я пытаюсь избежать, заключается в создании решения, в котором мне нужно создать код на стороне сервера, который запрашивает GA для данных, предоставляя его интерфейсу, а затем JS отвечает за его отображение. Я предпочел бы использовать Embed API, но, похоже, он не подходит для usecase, где я не хочу, чтобы пользователи играли со своими данными UA, а скорее с моими собственными данными UA, ограниченными некоторой областью. Я хотел бы иметь, по крайней мере, интерфейсную или бэкэнд-часть решения. Решение не обязательно должно быть основано на Google Analytics. Что-нибудь еще, что позволило бы мне легко добиться удобства и позволить владельцам бизнеса увидеть эффекты их маркетинга (трафика, продаж), будет интересно также.

по теме:

  • stackoverflow.com/info/13514775/using-google-analytics-api-to-show-subset-of-data-for-customers-of-web-applati
  • stackoverflow.com/info/3994708/google-analytics-customer-data​​li >
  • stackoverflow.com/info/4245132/google-analytics-api-filter-by-uri
  • embeddedanalytics.com кажется чем-то полезным, но их страницы и графики выглядят как несколько лет назад. Я хотел бы что-то более красивое.
  • oocharts.com кажется интересным из-за того, что их docs.oocharts.com говорит о запросах. Но они ничего не взимают за свой продукт, поэтому я скептически отношусь к их бизнес-модели и хорошо ли это долговременное решение.
  • Мне не хватает кармы для публикации ссылок;)

TL;DR: отображение подмножества моих данных GA для моих клиентов без принуждения их стать пользователями GA и добавления их в мою учетную запись GA.

Любая помощь оценивается!

Ответы

Ответ 1

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

gapi.analytics.auth.authorize({
  serverAuth: {
    access_token: 'Server side generated token'
  }
});

Вот пример, который будет работать, если вы введете допустимый токен доступа и ids для представления, к которому у вас есть доступ:

http://jsbin.com/vukezoheyeco/3/edit

Примечание: при выполнении этой операции происходит синхронизация. Это может быть gotcha, если вы привыкли к async auth flow (как обычно), и вы добавляете обработчик событий, который прослушивает событие "success" после вызова .authorize, потому что тогда ваш обработчик никогда не будет запущен.

Ответ 2

Мне кажется, вам нужен Прокси-сервер Google Analytics...

Загрузите пакет github и загрузите его в свой собственный проект App Engine, выполните минимальную настройку, а затем у вас есть интерфейс, в котором вы можете настроить вызовы API Google Analytics, которые не требуют входа в систему.

Он предоставляет URL-адреса конечных пользователей, которые можно использовать для создания таблиц данных в вашем интерфейсе, также предоставляет формат таблицы данных, поэтому он размещается прямо в Google Chart.

Итак, например, у вас есть пользователь, которому нужен доступ к посещениям, доход для раздела сайта /sectionA/

Вы настроили прокси-сервер GA, чтобы обслуживать их URL-адрес, который включает только данные для этого раздела. Здесь вы можете опробовать запросы в проводник запросов GA. В этом случае метрики = ga: посещения, ga: productRevenue и filter ~ = ga: page =/sectionA/

Это создает конечный URL-адрес с данными JSON, который обновляется ежедневно/ежечасно - ваш выбор. Вы импортируете этот URL-адрес в свое приложение.

Затем конечный пользователь регистрируется в вашем приложении и видит данные диаграммы, сгенерированные из конечного URL-адреса для входа в систему. Им не нужно знать о прокси-сервере GA, они просто видят конечную диаграмму.

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