Оглавление14 разделов
CPA-отчёт часто показывает доход раньше, чем он становится окончательным. Позже часть событий отменяется, сумма уменьшается или возвращается. Если записывать только первое положительное значение, кампания выглядит прибыльной в момент масштабирования и убыточной после сверки. Решение — хранить события дохода как изменяемое состояние с полной историей корректировок.
Не путайте три представленияДля управления нужны одновременно booked revenue, ожидаемый зрелый доход и фактически выплаченная сумма. Это разные показатели, и каждый отвечает на свой вопрос.
1. Зафиксируйте словарь статусов
Определите, что в конкретной интеграции означают pending, approved, paid, refunded, rejected и reversed. Не переносите значение статуса из другой партнёрской программы. Внутренний нормализованный статус должен сохранять исходный код рядом.
2. Храните неизменяемый идентификатор
Корректировка должна ссылаться на исходную конверсию или заказ. Google Ads для online conversion adjustments использует transaction ID вместе с conversion action; для части offline-сценариев возможна связка click identifier и времени. Без устойчивого ключа возврат легко применить дважды или к другой записи.
3. Используйте журнал, а не перезапись
Каждый refund или reversal записывается отдельной операцией: идентификатор, время события, время получения, тип, сумма, валюта, источник и ссылка на исходную запись. Текущее состояние вычисляется из журнала, поэтому аудит может восстановить любую версию отчёта.
4. Разведите полную и частичную корректировку
Полная отмена обнуляет признанное действие. Частичный refund меняет ценность, но не обязательно число конверсий. Google Ads также разделяет retract, удаляющий конверсию из счётчиков, и restate, меняющий её value. Внутренняя модель должна сохранять это различие.
5. Возвращайте корректировку в исходную когорту
Если январская конверсия получила refund в феврале, февральский денежный поток меняется в феврале, но качество привлечения относится к январской когорте. Поэтому нужен отчёт по cash date и отдельный отчёт по acquisition cohort.
6. Не смешивайте валютный эффект
Возврат может прийти в другой день и при другом курсе. Храните исходную валюту, сумму операции и применённый курс. Разница курса должна быть отдельной компонентой, иначе она ошибочно попадёт в качество источника.
7. Оценивайте незрелый доход
Для свежих когорт показывайте ожидаемый net revenue как диапазон на основе сопоставимых зрелых когорт. Не объявляйте оценку фактом. Чем меньше наблюдений и сильнее изменились правила, тем шире неопределённость.
8. Считайте маржу после корректировок
Зрелая маржа когорты равна финальному доходу минус рекламный расход, комиссии, производство и другие относимые затраты. Refund не уменьшает ad spend задним числом: он меняет доходную сторону результата.
9. Проверяйте двойную доставку
Одна корректировка может прийти через webhook, файл сверки и ручной импорт. Idempotency key строится из идентификатора источника или устойчивой комбинации полей. Повторная доставка должна подтверждаться, но не создавать вторую проводку.
10. Обрабатывайте поздние изменения
Окно загрузки отчёта и реальный срок изменения статуса могут различаться. После закрытия управленческого периода поздняя операция не исчезает: она попадает в текущий журнал и пересчитывает историческую когорту с отметкой о дате пересмотра.
11. Разделите операционный и финансовый алерт
Операционный алерт реагирует на резкий рост доли reversal по источнику или креативу. Финансовый — на изменение ожидаемой выплаты и кассового плана. Один и тот же возврат влияет на оба отчёта, но требует разных владельцев.
12. Минимальные контрольные сверки
- Сумма исходных value минус корректировки равна текущему net value
- Каждая корректировка имеет исходную запись
- Нет повторяющихся adjustment_id
- Валюта и знак операции допустимы
- Сумма частичных возвратов не превышает исходную без объяснённого исключения
- Когортный и кассовый отчёты сходятся через журнал
13. Как показывать результат менеджеру
В карточке кампании выведите booked revenue, ожидаемый mature revenue, paid revenue, сумму refunds, сумму reversals и возраст когорты. Одна цифра «доход» скрывает главный риск — сколько значения ещё может измениться.
Термины зависят от договораСтатья описывает аналитическую модель. Финансовое и юридическое значение возврата определяется реальными документами, отчётом партнёра и применимыми правилами.
ИсточникGoogle Ads, About conversion adjustments: restate изменяет value, retract удаляет конверсию из счётчиков — https://support.google.com/google-ads/answer/7686447?hl=en-AU
Вывод
Refund и reversal должны жить не как ручная поправка итоговой суммы, а как адресные операции над исходной конверсией. Журнал изменений, две временные оси и отчёт о зрелости не позволяют свежему временному доходу masquerading as окончательная прибыль.
Станьте партнёром и начните работать
Перейдите в партнёрскую программу, изучите актуальные условия и выберите подходящий формат сотрудничества.
СТАТЬ ПАРТНЁРОМ
