Как отслеживать установки мобильных приложений с помощью UTM-меток

opoinstall
2026-07-29
5 min read

Как отслеживать установки мобильных приложений с помощью UTM-меток? UTM-трекинг позволяет фиксировать параметры кампаний на веб-лендингах при переходе пользователей к установке из магазина приложений, что дает возможность восстановить данные об источнике привлечения после первого запуска. Реализация этого процесса требует считывания параметров в URL на лендинге, сохранения контекста при перенаправлении в стор и восстановления метаданных внутри нативного приложения. Этот механизм работает благодаря системам отложенных диплинков (deferred deep linking), которые связывают извлечение параметров на веб-странице с их получением через нативный SDK.

UTM-трекинг в мобильном маркетинге — это процесс захвата и сохранения параметров запроса кампании в цепочке «веб-сайт — приложение», чтобы события после установки можно было сопоставить с соответствующими рекламными кампаниями. Решения, такие как OpoInstall, реализуют этот фреймворк, соединяя извлечение веб-параметров с вызовами нативного SDK.

Основные выводы

  • Сопоставление UTM-параметров: сохраняет utm_source, utm_medium, utm_campaign, utm_term и utm_content при переходе через границы сторов.
  • Отложенные диплинки: соединяют посещения веб-сайта до установки с первым запуском приложения после неё.
  • Восстановление параметров кампании: позволяет получить метаданные об источнике, собранные до момента установки.
  • Получение параметров при первом запуске: передает восстановленные данные в код нативного приложения после инициализации.

Почему стандартный UTM-трекинг не работает при переходе через сторы

Исторически маркетинг опирался на веб-куки и HTTP-сессии для атрибуции. Когда пользователь нажимает на рекламу, аналитические инструменты извлекают параметры из URL и сохраняют их в куках браузера. Ссылка с UTM-метками служит отправной точкой для веб-атрибуции. Этот механизм надежно работает, пока путь пользователя ограничен одним браузером.

Однако при переходе к скачиванию нативного приложения редирект в стор прерывает передачу параметров сессии. Браузерный контекст становится недоступен после установки приложения. Поскольку стандартные механизмы сторов не передают параметры URL напрямую в приложение, информация об источнике теряется.

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

Инфографика: сравнение обрыва трекинга при переходе через стор и автоматического восстановления UTM-меток.

5 основных UTM-параметров для отслеживания установок

Стандартизация тегирования кампаний требует распределения ключей Urchin Tracking Module по операционным категориям перед запуском кампаний:

  • utm_source: определяет конкретный источник трафика или рекламную сеть (например, google, facebook или influencer_newsletter).
  • utm_medium: классифицирует рекламный формат или маркетинговый инструмент (например, cpc, banner, social_feed или email).
  • utm_campaign: отслеживает конкретные промо-акции или сезонные кампании (например, summer_sale_2026 или user_referral_promo).
  • utm_term: фиксирует ключевые слова или идентификаторы сегментов аудитории в перформанс-рекламе.
  • utm_content: позволяет различать варианты креативов, кнопки призыва к действию или результаты A/B-тестирования в одной кампании.

Конвейер обработки и сохранения параметров

Сохранение контекста при установке зависит от автоматизированного процесса. Когда посетитель взаимодействует с лендингом, JS-библиотека анализирует объект window location для извлечения ключей запроса.

[Посетитель заходит на лендинг] ──> [Web JS SDK парсит UTM] ──> [Временный буфер контекста]
                                                                            │
                                                                            ▼
[Аналитика] <── [Callback нативного SDK] <── [Первый запуск] <── [Скачивание из стора]
Техническая архитектура конвейера данных: от извлечения параметров на веб-странице до получения в SDK.

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

Технические подробности извлечения и восстановления через SDK

Извлечение на стороне клиента

Парсинг параметров на веб-стороне требует проверки URL браузера при инициализации документа. Клиентские скрипты используют стандартный интерфейс URLSearchParams, что не влияет на скорость загрузки страницы.

const urlParams = new URLSearchParams(window.location.search);
const utmParams = {
    utm_source: urlParams.get('utm_source') || '',
    utm_medium: urlParams.get('utm_medium') || '',
    utm_campaign: urlParams.get('utm_campaign') || '',
    utm_term: urlParams.get('utm_term') || '',
    utm_content: urlParams.get('utm_content') || ''
};

Для предотвращения ошибок при сериализации, извлеченные параметры должны быть очищены и URL-кодированы, чтобы специальные символы не нарушили работу запросов.

Кэширование контекста во время редиректа

Так как браузерные сессии не сохраняются при переходе в стор, UTM-параметры должны буферизироваться. Веб-SDK сохраняет контекст перехода до завершения установки, используя методы сопоставления во время редиректа.

На Android Google Play Install Referrer может предоставлять данные об установке, а для работы с кросс-платформенными переходами используется pipeline отложенных диплинков. Это гарантирует связь метаданных с сессией привлечения пользователя.

Получение параметров через нативный SDK

При первом запуске приложения нативный SDK выполняет асинхронный запрос. Клиентская библиотека проверяет локальные кэши и запрашивает данные с сервера сопоставления, восстанавливая параметры UTM.

После получения данных SDK выполняет callback, передавая пары «ключ-значение» логике приложения или аналитическим модулям.

Интеграция SDK

Для реализации восстановления UTM-меток необходимо внедрить JS-библиотеку на лендинги и установить нативные SDK в сборки приложений. OpoInstall предоставляет необходимые инструменты для веба, Android и iOS.

Пример интеграции на Android для инициализации и получения параметров:

// Путь: app/src/main/java/com/opoinstall/app/CustomApplication.kt
package com.opoinstall.app

import android.app.Application
import com.opoinstall.api.OpoInstall

class CustomApplication : Application() {
    override fun onCreate() {
        super.onCreate()
        // Инициализация OpoInstall при запуске приложения
        OpoInstall.initialize(this)
    }
}

// Путь: app/src/main/java/com/opoinstall/app/MainActivity.kt
package com.opoinstall.app

import android.os.Bundle
import android.util.Log
import androidx.appcompat.app.AppCompatActivity
import com.opoinstall.api.OpoInstall
import com.opoinstall.api.OpoData
import com.opoinstall.api.ResultCallBack
import com.opoinstall.api.OpoError

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        // Инициализация и получение параметров установки
        OpoInstall.getInstance().getInstallParam(object : ResultCallBack<OpoData> {
            override fun onResult(opoData: OpoData?) {
                if (opoData != null && opoData.data != null) {
                    val customParams = opoData.data
                    Log.d("OpoInstall", "Восстановленные UTM-параметры: $customParams")
                }
            }
            override fun onError(error: OpoError?) {
                Log.e("OpoInstall", "Ошибка получения параметров: ${error?.message}")
            }
        })
    }
}

Пример интеграции на iOS для работы с Universal Links:

// Путь: ios/Runner/AppDelegate.swift
import UIKit
import libOpoInstallSDK

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate, OpoInstallDelegate {

    var window: UIWindow?

    func application(
        _ application: UIApplication,
        didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
    ) -> Bool {
        OpoInstallSDK.initWith(self)
        return true
    }

    func application(
        _ application: UIApplication,
        continue userActivity: NSUserActivity,
        restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void
    ) -> Bool {
        OpoInstallSDK.continueUserActivity(userActivity)
        return true
    }

    func getWakeUpParams(_ appData: OpoinstallData?) {
        guard let data = appData else { return }
        if let customParams = data.data {
            print("Успешно получены параметры из Universal Link: \(customParams)")
        }
    }
}

Документацию и библиотеки можно найти в руководстве по Web JS SDK и центре загрузки мобильных SDK.

Распространенные ошибки

  • Отсутствие URL-кодирования: приводит к обрезанию параметров с пробелами или символами.
  • Преждевременный вызов API: обращение к SDK до его полной инициализации приводит к пустым результатам.
  • Надежда на куки: браузерные куки не сохраняются при установке приложения из стора.
  • Несоответствие ключей: различия в именовании параметров на лендинге и в базе данных аналитики.

Чек-лист: кодирование URL, асинхронная инициализация SDK и маппинг схем.


Пример: использование параметров в кампаниях

Сценарий: E-commerce кампания

Проблема

Бренд терял атрибуцию при переходе пользователей с веб-рекламы (Facebook, Google) к скачиванию приложения. Отсутствие данных не позволяло оценить эффективность расходов.

Реализация

Инженерная команда внедрила мобильный SDK для захвата параметров URL, перенаправляя пользователей через динамические ссылки и восстанавливая UTM-метаданные при первом запуске приложения. Был выбран сервис OpoInstall.

Результаты

5-мерные UTM-параметры были успешно связаны с событиями покупки внутри приложения, что дало прозрачную отчетность.

Уроки

  • Парсинг на стороне клиента: предотвращает потерю данных при навигации.
  • Неблокирующие запросы SDK: не влияют на время старта приложения.
  • Стандартизация ключей: упрощает маппинг данных в аналитике.

Сравнение методов трекинга

Критерий Custom URL Schemes Native Referrer APIs UTM + Deferred Deep Linking
Архитектура Basic Scheme Install Referrer API Платформы диплинков
Кросс-платформенность Низкая Только Android Высокая (iOS и Android)
Детализация Низкая Средняя Высокая (5 UTM ключей)
Восстановление данных Нет Поддерживается (Android) Поддерживается везде
Сложность внедрения Высокая Низкая Минимальная

Матрица сравнения методов трекинга.

Часто задаваемые вопросы

Что такое UTM-трекинг в мобильном маркетинге?
Это метод добавления параметров Urchin Tracking Module к ссылкам кампаний с последующим использованием SDK отложенных диплинков для сохранения параметров после скачивания приложения.
Можно ли отслеживать установки приложений напрямую через UTM?
UTM-параметры не передаются сквозь сторы напрямую. Для этого используются механизмы отложенных диплинков или Install Referrer.
UTM-трекинг и отложенные диплинки — это одно и то же?
Нет. UTM-параметры хранят метаданные (источник, название), а отложенные диплинки — это технология передачи и восстановления этих метаданных после установки.
Как UTM-параметры «выживают» при скачивании из стора?
С помощью клиентских скриптов, которые захватывают параметры URL, кэшируют их в промежуточном хранилище и восстанавливают через нативный SDK при первом запуске.
Сколько хранятся UTM-параметры до первого запуска?
Срок зависит от настроек платформы атрибуции. Обычно это период, достаточный для сопоставления клика с последующей установкой.
Работает ли UTM-трекинг без сторонних куки?
Да. Трекинг работает независимо от сторонних куки, полагаясь на сохранение контекста в момент клика и матчинг через нативные SDK.
Как передать пользовательские UTM-параметры в код приложения?
Параметры захватываются веб-SDK и восстанавливаются в нативном коде с помощью метода getInstallParam.
В чем разница между utm_source и utm_medium?
utm_source — это источник (например, google), а utm_medium — тип канала или рекламный формат (например, cpc, email).
Как отладить отсутствие UTM-параметров при первом запуске?
Проверьте URL лендинга на наличие параметров, изучите логи SDK и убедитесь, что тестовое устройство проходит полный путь редиректа.
Влияет ли ATT в iOS на восстановление UTM?
Как правило, нет. Восстановление UTM опирается на контекстные данные перехода, а не на идентификаторы устройств (как IDFA), поэтому атрибуция работает независимо от разрешений ATT.

Итоговый фреймворк принятия решений

Выбирайте автоматизированный SDK для UTM-трекинга, если:

  • ✓ Веб-реклама стимулирует установки: ваша стратегия опирается на оценку эффективности конкретных кампаний в Facebook, Google или у инфлюенсеров.
  • ✓ Нужна глубокая отчетность по UTM: требуется трекинг источника, канала, названия кампании, ключевых слов и креативов.
  • ✓ Необходимо исключить ручной ввод: требуется автозаполнение промо-кодов на основе данных из веб-кликстрима.
  • ✓ Нужна унифицированная атрибуция: требуется одинаковый протокол восстановления данных для iOS и Android.

В этих случаях внедрение отложенных диплинков — оптимальный выбор. Платформы типа OpoInstall обеспечивают этот процесс через интеграцию веб-SDK и нативных библиотек.

Глоссарий

Термин Определение Связь Роль
UTM-трекинг Процесс сохранения параметров кампании между вебом и приложением. Атрибуция Техническая
Tracking URL Ссылка с параметрами для идентификации кликов до установки. Мобильная атрибуция Техническая
URLSearchParams JS API для парсинга параметров строки запроса URL. Web API Техническая
utm_source Ключ UTM для идентификации источника. Метаданные Техническая
utm_campaign Ключ UTM для названия кампании. Метаданные Техническая
Deferred Deep Linking Технология восстановления параметров после установки. Архитектура Техническая
Install Referrer Нативный API Android для передачи метаданных. Native API Техническая

Материалы по теме

Концепции

  • Mobile App Install Measurement: Базовая метрика для определения источников загрузок.
  • Deferred Deep Linking: Программное восстановление данных через границы сторов.
  • Web-to-App Attribution: Конвейер данных, соединяющий веб-клик с запуском приложения.

Технологии

  • Universal Links: Стандарт Apple для связи веба и нативных экранов.
  • App Links: Протокол глубоких ссылок Android.
  • Install Referrer: API Google для передачи метаданных при установке.

Стандарты

Основные методы SDK

  • getInstallParam: Метод для получения параметров установки при первом запуске.
  • saveEvent: Метод для фиксации конверсионных событий внутри приложения.

Ссылки

Share this article