Appy
← Назад в блог
Гайд

Постбэки и вебхуки установок: как это работает

Постбэк сообщает рекламной сети, что её клик превратился в установку. Вебхук сообщает то же вашему серверу. Как устроено и то и другое и как принимать их безопасно.

15 октября 2026•4 минуты

Рекламные и партнёрские сети платят за установки, поэтому им нужно знать о каждой. Ваш провайдер атрибуции сообщает о ней, вызывая выданный ими URL: это постбэк. Направьте тот же вызов на свой бэкенд, и получится вебхук.

Как click ID проходит полный круг

Рекламная сеть

Appy

  1. 01Клик
    GET acme.appy.to/spring?clickid=a1b2c3

    Сеть добавляет свой click ID к вашей ссылке.

  2. 02Установка
    install → /spring
    clickid = a1b2c3

    Первый запуск связывается с этим кликом.

  3. 03Постбэк
    GET postback.network.example/install
        ?click_id=a1b2c3

    Тот же ID уходит обратно. Сеть засчитывает конверсию.

Нет click ID в ссылке — нет и постбэка. Прогоните один настоящий клик от начала до конца.

Постбэк

  • В рекламную сеть
  • GET, значения в URL
  • Несёт click ID сети

Вебхук

  • На ваш сервер
  • POST, тело в JSON
  • Несёт установку, ссылку и событие

Надёжный приёмник проверяет четыре вещи

Подпись
КакHMAC-SHA256 от времени и тела
От чего защищаетПоддельные запросы
Возраст
КакОтклонять старше 5 минут
От чего защищаетПовторное воспроизведение
ID доставки
КакХранить обработанные ID
От чего защищаетДвойной учёт
Скорость
КакБыстрый 2xx, работа потом
От чего защищаетЛишние повторы
Проверяйте сырое тело ровно в том виде, в каком оно пришло. Пересериализованный JSON ломает подпись.

Проверка вебхука Appy

Node.js

import crypto from 'node:crypto';

export function verifyAppySignature(header, rawBody, secret) {
  const parts = Object.fromEntries(header.split(',').map((part) => part.split('=')));
  const age = Math.abs(Date.now() / 1000 - Number(parts.t));
  if (!parts.t || !parts.v1 || age > 300) return false;
  const expected = crypto.createHmac('sha256', secret).update(`${parts.t}.${rawBody}`).digest('hex');
  if (parts.v1.length !== expected.length) return false;
  return crypto.timingSafeEqual(Buffer.from(expected), Buffer.from(parts.v1));
}

Если ваш эндпоинт недоступен

таймаут запроса
10 с

таймаут запроса

повторов на 429, 5xx, таймаут
5

повторов на 429, 5xx, таймаут

до последнего повтора
12 ч

до последнего повтора

журнал доставки
30 дней

журнал доставки

Куда Appy отправляет установки

На тарифе Enterprise до 10 постбэков на приложение, и каждый можно проверить из дашборда до запуска.

Новая установка

с подписью и повторами

  • Партнёрская или CPI-сетьЕё click ID обратно
  • Ваш бэкендПолный вебхук в JSON
  • Ваша CRMТолько покупки
  • Оптимизация Meta или GoogleНе поддерживается
Meta и Google принимают данные только от сертифицированных партнёров или из своих SDK.

Читайте также

Вопросы

Что такое S2S-постбэк?

Запрос от сервера к серверу, который сообщает рекламной сети, что клик превратился в установку, и передаёт её click ID.

Как не засчитать установку дважды?

Повторы приходят с тем же ID доставки. Пропускайте ID, которые уже обработали.

Как убедиться, что вебхук прислал именно Appy?

Проверьте заголовок Appy-Signature и отклоняйте всё, что старше пяти минут.

Можно ли отправлять постбэки в Meta или Google Ads?

Для оптимизации кампаний нельзя. Постбэки подходят для партнёрских сетей, сервисов для работы с блогерами и ваших собственных систем.

Продолжить изучение

Гайд
15 окт. 2026 г.
4 мин чтения

Атрибуция Apple Ads без MMP

Apple сама сообщает, какая кампания и какое ключевое слово принесли установку: один токен из приложения, один запрос с сервера, без IDFA.

apple ads
adservices
attribution
ios
Читать статью
Гайд
15 окт. 2026 г.
4 мин чтения

Как расшифровать Meta Install Referrer на Android

Facebook и Instagram сообщают приложению кампанию, группу объявлений и объявление за установкой, а расшифровать данные можно только вашим ключом.

meta install referrer
facebook ads
instagram ads
android
Читать статью
Гайд
14 авг. 2026 г.
11 мин чтения

Deferred deep linking без SDK: как это на самом деле устроено под капотом

Контекст ссылки можно пронести через установку приложения, не встраивая SDK атрибуции. Разбираем, что реально переживает границу стора на Android и iOS, что ломается и во что каждый обходной путь обходится приватности.

deferred deep linking
install referrer
ios
android
Читать статью

Ищете другое? Посмотрите все темы в блоге.

Каждая установка — туда, где её ждут

Appy атрибутирует установки из ссылок, QR-кодов, Apple Ads, Google Ads и Meta и отправляет каждую дальше, с подписью и повторами.