---
title: "Google Cloud Storage"
description: "Интегрируйте Google Cloud Storage с Adapty UA для безопасного хранения данных по привлечению пользователей."
---

Интеграция Adapty UA с Google Cloud Storage позволяет централизованно и безопасно хранить данные кампаний по привлечению пользователей. Вы сможете сохранять данные о результативности кампаний, данные атрибуции и события привлечения пользователей в виде .csv-файлов в своём бакете Google Cloud Storage.  
Для настройки интеграции потребуется выполнить несколько простых шагов в Google Cloud Console и дашборде Adapty UA.

:::note
Расписание

Adapty UA отправляет данные в Google Cloud Storage каждые 24 часа в 4:00 UTC.

Каждый файл содержит данные о событиях за весь предыдущий календарный день по UTC. Например, данные, автоматически экспортированные в 4:00 UTC 8 марта, охватывают все события, созданные 7 марта с 00:00:00 до 23:59:59 UTC.
:::

## Как настроить интеграцию с Google Cloud Storage \{#how-to-set-up-google-cloud-storage-integration\}

### Шаг 1. Создайте учётные данные Google Cloud Storage \{#step-1-create-google-cloud-storage-credentials\}

Этот гайд поможет создать необходимые учётные данные в консоли Google Cloud Platform.

Чтобы Adapty UA мог загружать отчёты с исходными данными в ваш бакет, необходим ключ сервисного аккаунта и доступ на запись в соответствующий бакет. Предоставив ключ сервисного аккаунта и разрешив запись в бакет, вы позволяете Adapty UA безопасно и эффективно передавать отчёты с исходными данными в вашу среду хранения.

:::warning
Обратите внимание: поддерживается только авторизация через HMAC-ключ сервисного аккаунта. Убедитесь, что вашему HMAC-ключу сервисного аккаунта назначены роли «Storage Object Viewer», «Storage Legacy Bucket Writer» и «Storage Object Creator» — это необходимо для корректного доступа к Google Cloud Storage.
:::

#### 2.1. Создайте сервисный аккаунт \{#21-create-service-account\}

1. Перейдите в раздел [IAM](https://console.cloud.google.com/projectselector2/iam-admin/serviceaccounts) вашего аккаунта Google Cloud и выберите нужный проект или создайте новый

  <img src="/assets/shared/img/30a81ef-CleanShot_2023-03-17_at_15.22.142x.webp"
  style={{
    border: '1px solid #727272', /* border width and color */
    width: '700px', /* image width */
    display: 'block', /* for alignment */
    margin: '0 auto' /* center alignment */
  }}
/>

2. Создайте новый сервисный аккаунт для Adapty UA, нажав кнопку **+ CREATE SERVICE ACCOUNT**

  <img src="/assets/shared/img/98f8ebf-CleanShot_2023-03-17_at_15.40.062x.webp"
  style={{
    border: '1px solid #727272', /* border width and color */
    width: '700px', /* image width */
    display: 'block', /* for alignment */
    margin: '0 auto' /* center alignment */
  }}
/>

3. Заполните поля на первом шаге — доступы будут настроены позже. Подробнее об этой странице можно прочитать в [документации](https://docs.cloud.google.com/iam/docs/service-accounts-create)

  <img src="/assets/shared/img/2190c50-CleanShot_2023-03-17_at_15.48.552x.webp"
  style={{
    border: '1px solid #727272', /* border width and color */
    width: '700px', /* image width */
    display: 'block', /* for alignment */
    margin: '0 auto' /* center alignment */
  }}
/>

4. Чтобы создать и скачать [приватный JSON-ключ](https://docs.cloud.google.com/iam/docs/keys-create-delete), перейдите в раздел **KEYS** и нажмите кнопку **ADD KEY**

  <img src="/assets/shared/img/8a45468-CleanShot_2023-03-17_at_15.58.092x.webp"
  style={{
    border: '1px solid #727272', /* border width and color */
    width: '700px', /* image width */
    display: 'block', /* for alignment */
    margin: '0 auto' /* center alignment */
  }}
/>

5. В разделе **DETAILS** найдите Email, привязанный к только что созданному сервисному аккаунту, и скопируйте его. Эти данные понадобятся на следующих шагах для авторизации аккаунта и предоставления прав на запись в бакет

  <img src="/assets/shared/img/6ccd0f0-CleanShot_2023-03-17_at_16.03.162x.webp"
  style={{
    border: '1px solid #727272', /* border width and color */
    width: '700px', /* image width */
    display: 'block', /* for alignment */
    margin: '0 auto' /* center alignment */
  }}
/>

#### 2.2. Настройте права доступа к бакету \{#22-configure-bucket-permissions\}

6. Перейдите на страницу [Buckets](https://console.cloud.google.com/storage/browser) в Google Cloud Storage и выберите существующий бакет или создайте новый для хранения отчётов по привлечению пользователей из Adapty UA
7. Перейдите в раздел **PERMISSIONS** и выберите опцию [GRANT ACCESS](https://docs.cloud.google.com/identity/docs/how-to?hl=en)

  <img src="/assets/shared/img/3cdd937-CleanShot_2023-03-17_at_16.14.232x.webp"
  style={{
    border: '1px solid #727272', /* border width and color */
    width: '700px', /* image width */
    display: 'block', /* for alignment */
    margin: '0 auto' /* center alignment */
  }}
/>

8. В разделе **PERMISSIONS** введите Email сервисного аккаунта, полученный на пятом шаге, и выберите роль Storage Object Creator
9. Нажмите **SAVE**, чтобы применить изменения

  <img src="/assets/shared/img/62801f4-CleanShot_2023-03-17_at_16.17.312x.webp"
  style={{
    border: '1px solid #727272', /* border width and color */
    width: '700px', /* image width */
    display: 'block', /* for alignment */
    margin: '0 auto' /* center alignment */
  }}
/>

10. Запомните название бакета — оно понадобится в дальнейшем

11. После выполнения всех этих шагов настройка в Google Cloud Console завершена. Остаётся только ввести название бакета и загрузить JSON-файл в Adapty UA

  <img src="/assets/shared/img/c967e16-CleanShot_2023-03-17_at_16.23.332x.webp"
  style={{
    border: '1px solid #727272', /* border width and color */
    width: '700px', /* image width */
    display: 'block', /* for alignment */
    margin: '0 auto' /* center alignment */
  }}
/>

### Шаг 2. Настройте интеграцию в Adapty UA \{#step-2-configure-integration-in-adapty-ua\}

1. Перейдите в [**Integrations** -> **Google Cloud Storage**](https://app.adapty.io/ua/integrations/google-cloud-storage)
2. Включите переключатель **Export install events to Google Cloud Storage**
3. Заполните обязательные поля для подключения Google Cloud Storage к Adapty UA:

| Поле | Описание |
|:-----|:---------|
| **Google Cloud service account key file** | Скачанный приватный [JSON-файл ключа](ua-google-cloud-storage#step-1-create-google-cloud-storage-credentials). |
| **Google Cloud bucket name** | Название бакета в Google Cloud Storage, в котором будут храниться данные. Должно быть уникальным в рамках среды Google Cloud Storage и не содержать пробелов. |
| **Folder inside the bucket** | Название папки внутри бакета для хранения данных. Должно быть уникальным в рамках бакета и может использоваться для организации данных. Поле необязательно для заполнения. |

## Ручной экспорт данных \{#manual-data-export\}

Помимо автоматического экспорта событий в Google Cloud Storage, Adapty UA поддерживает ручной экспорт файлов. С его помощью можно выбрать конкретную дату и вручную экспортировать данные по привлечению пользователей в бакет GCS. Это даёт больше контроля над тем, какие данные и когда экспортировать.

## Структура таблицы \{#table-structure\}

В интеграции с Google Cloud Storage Adapty UA предоставляет таблицу для хранения исторических данных о событиях установки. Таблица содержит информацию о профиле пользователя, доходах и выручке, источнике установки и другие данные.

:::warning
Обратите внимание: структура может расширяться со временем — по мере добавления новых данных нами или сторонними партнёрами. Убедитесь, что ваш код, обрабатывающий эти данные, достаточно гибкий и опирается на конкретные поля, а не на структуру целиком.
:::

Структура таблицы событий:

| Столбец | Описание |
|---------|----------|
| `adapty_profile_id` | Уникальный идентификатор профиля Adapty |
| `install_id` | Уникальный идентификатор установки |
| `created_at` | Временна́я метка создания записи (ISO 8601) |
| `installed_at` | Временна́я метка установки приложения (ISO 8601) |
| `store` | Магазин приложений (`ios`, `android`) |
| `country` | Код страны пользователя (ISO 3166-1 alpha-2) |
| `ip_address` | IP-адрес клиента |
| `idfa` | iOS Identifier for Advertisers |
| `idfv` | iOS Identifier for Vendors |
| `gaid` | Google Advertising ID (Android) |
| `android_id` | Идентификатор устройства Android |
| `app_set_id` | Android App Set ID |
| `channel` | Канал атрибуции |
| `campaign_id` | Идентификатор кампании |
| `campaign_name` | Название кампании |
| `adset_id` | Идентификатор группы объявлений |
| `adset_name` | Название группы объявлений |
| `ad_id` | Идентификатор объявления |
| `ad_name` | Название объявления |
| `keyword_id` | Идентификатор ключевого слова |
| `keyword_name` | Ключевое слово |
| `asa_org_id` | Идентификатор организации Apple Search Ads |
| `asa_keyword_match_type` | Тип соответствия ключевого слова ASA (`Exact`, `Broad`) |
| `asa_attribution` | Данные атрибуции ASA (JSON-строка) |
| `asa_conversion_type` | Тип конверсии ASA |
| `asa_country_or_region` | Страна или регион ASA |
| `asa_creative_set_name` | Название набора креативов ASA |
| `fbclid` | Facebook Click ID |
| `ttclid` | TikTok Click ID |
| `utm_source` | Параметр UTM source |
| `utm_medium` | Параметр UTM medium |
| `utm_campaign` | Параметр UTM campaign |
| `utm_term` | Параметр UTM term |
| `utm_content` | Параметр UTM content |