• Час читання ~5 хв
  • 18.03.2023

У цій статті ми розглянемо, як ви можете отримати доступ до інформації Google Analytics на PHP за допомогою API, який він надає, і вашого облікового запису служби. Ми використовуватимемо звіти Analytics версії 4 як API.

Налаштування Google Analytics для роботи з ним за допомогою API

Якщо сайт використовує Google Analytics (GA) для збору статистики користувачів, то використовувати дані, надані цим сервісом, можна не тільки в веб-інтерфейсі через звіти, але і через API.

Що це значить? Це означає, що ми можемо отримати необхідні дані з GA програмно, а потім, наприклад, використовувати їх на веб-сайті або у веб-додатку.

Які завдання можна вирішити на сайті за допомогою API Google Analytics?

  1. Вывести на странице её количество просмотров. Если эту задачу реализовать классическим способом, то нам в этом случае потребуется создавать таблицы в базе данных, писать логику на php и т.д.
  2. Отобразить на сайте самые популярные статьи (страницы) за последнюю неделю или другой период на сайте.

За допомогою GA можна вирішити не тільки ці завдання на сайті, а й багато інших. Але в даній статті мова піде про розгляд тільки цих двох.

Але перш ніж перейти до практичної частини, для початку розглянемо, як включити API Google Analytics і принципи роботи з ним на PHP.

Підготовка до API Google Перш ніж почати працювати з четвертою версією API

звітування Analytics, потрібно виконати наведені нижче основні дії.

1. Увімкніть API звітності Google Analytics.

Для цього потрібно відкрити сторінку «API і сервіси Google». У пошуковому рядку введіть "Google Analytics Reporting API", перейдіть на сторінку цього API і включіть його.

Поиск Google Analytics Reporting API

2. Створіть обліковий запис служби.

Для цього потрібно відкрити сторінку «Облікові записи сервісів».

Якщо проект вже існує, то натисніть на кнопку «Вибрати» і виберіть вже існуючий проект. Якщо проекту немає, то створіть новий.

Після цього створюємо сервісний аккаунт в новоствореному або обраному проекті. Для цього натисніть на кнопку «Створити обліковий запис сервісу».

Создание сервисного аккаунта в Google IAM

Введіть назву облікового запису служби і натисніть на кнопку «Створити». На сторінці "Права доступу до облікового запису служби (необов'язково)" натисніть на кнопку "Продовжити".

Потім створюємо новий ключ. Для цього натисніть на кнопку «Створити ключ». В якості введення ключа виберіть значення «JSON» і натисніть на кнопку «Створити». Натисніть на кнопку «Готово».

Згенерований ключ буде завантажений на ваш комп'ютер, він нам знадобиться пізніше.

Після закінчення цього кроку ми скопіюємо адресу електронної пошти облікового запису служби в буфер обміну, він нам знадобиться для виконання наступного кроку.

3. Додайте обліковий запис сервісу в Google Analytics.

Для цього потрібно зайти в Google Analytics і натиснути на кнопку «Адміністратор».

Панель администратора в Google Analytics

Після цього на сторінці, натисніть на «Контроль доступу» в розділі «Обліковий запис». Потім натисніть на значок «Плюс» і виберіть пункт «Додати користувачів». Вставте адресу електронної пошти службового облікового запису з буфера обміну у відкриту форму та позначте як дозволи лише опцію «Перегляд та аналіз». Натисніть на кнопку «Додати».

Тепер цей користувач матиме доступ до аналітики через API.

Встановлення клієнтської бібліотеки для PHP Клієнтську бібліотеку API Google для PHP

можна завантажити вручну або отримати за допомогою Composer.

Для типової інсталяції завантажте архів, розпакуйте його та завантажте на сервер, наприклад ga.

Щоб інсталювати бібліотеку за допомогою програми Composer, введіть таку команду:Захистити доступ до цієї папки та її вкладених файлів. Якщо ви використовуєте веб-сервер Apache, створіть файл .htaccess у цій папці з таким вмістом:

composer require google/apiclient:^2.0

После установки Google API для PHP загрузите в эту же папку JSON файл, который мы получили на этапе создания сервисного аккаунта.

# line below if for Apache 2.4
<ifModule mod_authz_core.c>
    Require all denied
</ifModule>

# line below if for Apache 2.2
<ifModule !mod_authz_core.c>
    deny from all
    Satisfy All
</ifModule>

# section for Apache 2.2 and 2.4
IndexIgnore *

Примеры использования данных из Google Analytics на сайте

Приклад #1. Використання API Google, щоб отримати найпопулярніший вміст на вашому сайті.

У цьому прикладі давайте розглянемо, як за допомогою API звітності Google Analytics можна отримати 7 найбільш переглядаються сторінок за останні 7 днів на сайті.

Для цього створіть файл з наступним кодом:

Завантажити цей файл top_pages.php з Github можна за цим посиланням.

У цьому файлі потрібно вказати свої дані.

Спочатку потрібно вказати ім'я для файлу JSON, яке містить згенерований ключ.

$KEY_FILE_LOCATION = __DIR__ . '/service-account-credentials.json';

Во-вторых, указать значение VIEW_ID.

$VIEW_ID = "";

Узнать значение этого параметра для своей аналитики можно с помощью инструмента Account Explorer.

Додатку ga-dev-tools.appspot.com має бути надано дозвіл на доступ до вашого облікового запису Google.

Крім того, в цьому додатку є дуже хороший інструмент для створення запитів.

У цьому прикладі коментуються всі основні моменти. Ви створюєте запит для отримання даних за допомогою об'єкта. Параметри для цього запиту задаються за допомогою об'єктівreportRequestsDateRange , , Metrics, Dimensions. OrderByУстановка цих параметрів reportRequests на здійснюється за допомогою його спеціальних методів.

Приклад No2. Використовуйте API Google, щоб отримати кількість переглядів певної сторінки на сайті.

В цьому випадку нам потрібно встановити в запит наступне:

  • діапазон дат (дата початку, повинна дорівнювати старту вашого проекту; дата завершення – поточна дата);
  • Показник дорівнює (кількість ga:pageviews переглядів)
  • фільтр за параметром , значення ga:pagePathякого має дорівнювати URL конкретної сторінки.

Повний код для прикладу доступний на Github і доступний тут.

Як варіант, отримані дані можна завантажити в форматі JSON в якийсь файл (в даному прикладі - в /assets/ga_pageviews.json). Для цього потрібно написати відповідну функцію, наприклад, printResultInFile і з її допомогою обробити відповідь.

printResultInFile($response);

Полный код файла доступен на Github по этому адресу.

Потім можна написати невеликий скрипт, наприклад, . Він знайде у файлі кількість переглядів для деякої сторінки, get_views.phpзнаючи її шлях.

Цей скрипт буде складатися з однієї функції:

<?php
function getViews($path) {
  $result = 0;
  $items = json_decode(file_get_contents('ga_pageviews.json'));
  foreach($items as $item) {
      if ($item->{'ga:pagePath'} === $path) {
          $result = $result + (int)$item->{'pageviews'};
      }
  }
  return $result;
}

Теперь чтобы получить данные необходимо просто вызвать функцию getViews и передать ей в качестве параметра путь к странице:

echo getViews('/html-and-css/css-selector');

Что-то подобное можно написать и для первого примера. Т.е. добавить в php-скрипт код, который будет сохранять ответ, а именно 7 самых популярных статей сайта за неделю, в JSON. Далее использовать этот файл для вывода на сайт информационной панели с этими ресурсами. Обновлять файл JSON можно, например, с помощью планировщика cron, запуская php скрипт раз в час или через другое определённое количество времени.

Comments

No comments yet
Yurij Finiv

Yurij Finiv

Full stack

Про мене

Professional Fullstack Developer with extensive experience in website and desktop application development. Proficient in a wide range of tools and technologies, including Bootstrap, Tailwind, HTML5, CSS3, PUG, JavaScript, Alpine.js, jQuery, PHP, MODX, and Node.js. Skilled in website development using Symfony, MODX, and Laravel. Experience: Contributed to the development and translation of MODX3 i...

Про автора CrazyBoy49z
WORK EXPERIENCE
Контакти
Ukraine, Lutsk
+380979856297